Розділи Wiki

Wiki Прилади

Демо-сигнал і записи IQ

Без приймача програма працює на двох джерелах: на вбудованому демонстраційному сигналі з наперед відомими рівнями й на записах IQ — SigMF, WAV або сирих файлах cs8, cu8, cs16 і cf32. Обидва вибираються у стартовому вікні. На цій сторінці — з чого складається демонстраційний сигнал і що з нього справді видно на екрані, як відкрити запис, звідки програма бере його темп і частоту та як поводиться відтворення.

Демонстраційний сигнал

У стартовому вікні Виберіть приймач натисніть Демонстраційний сигнал. Програма сама синтезує потік IQ: дванадцять сигналів на сталих частотах над шумом. Це не імітація ефіру, а сигнал, про який відомо все, — на ньому зручно знайомитися з вікном і дивитися, як різні детектори, траси й вікна показують одне й те саме.

З чого він складається

Усі сигнали демонстрації стоять на абсолютних частотах 0.9.38, як передавачі в ефірі: кожен видно лише тоді, коли смуга приймання його накриває, і рівно там, де він є. Склад програма перелічує сама — дрібним описом унизу групи Джерело на вкладці Пристрій.

СигналЧастота, МГцРівеньДодатково
Шумуся смуга−90 dBFSГаусів; −90 dBFS — це потужність на всю смугу, тож полиця на спектрі лежить нижче й залежить від RBW. У 16-бітовому потоці демонстрації квантування додає до шуму 0.6 дБ: він читається як −89.4 dBFS.
Тон2254.600−20 dBFSНемодульована несуча.
Тон2255.300−45 dBFSНемодульована несуча.
Несуча, що ходить2255.000 ± 0.150−35 dBFSЧастота пилкою проходить 2254.85–2255.15 МГц за 0.5 с і починає знову.
Імпульси2255.700−25 dBFSЧастота повторення 71.2 Гц, заповнення 42 %: імпульс ≈5.9 мс, період ≈14 мс.
Несуча2212.500−40 dBFSНемодульована.
Дві несучі2231.000 і 2231.025−50 dBFS кожнаЗа 25 кГц одна від одної.
Шумоподібна смуга 200 кГц2241.300+15 дБ над шумомНад видимою полицею — +14.5 дБ.
Шумоподібна смуга 8 МГц2272.000+10 дБ над шумомНад видимою полицею — +9.8 дБ.
Пакетна смуга 1 МГц2290.000+20 дБ над шумомНад видимою полицею — +19.4 дБ; пакети 20 % часу, період 50 мс.
Несуча433.920−45 dBFSНемодульована.
Пакетна смуга 20 МГц5220.000+8 дБ над шумомНад видимою полицею — +8.1 дБ; пакети 30 % часу, період 100 мс.

Рівень смуги задано не в dBFS, а тим, на скільки дБ її густина вища за шум джерела: так вона однакова за будь-якого темпу. Рівень пакетного сигналу — у пакеті; середній нижчий на частку часу.

Опис у панелі «Джерело» 0.9.39

Опис називає замовлені рівні, а де квантування зсуває те, що видно, — ще й видиме число: «шум −90 dBFS, а в 16-бітовому потоці — −89.4: квантування додає 0.6 дБ», а для смуг — «+14.5 дБ над полицею (замовлено +15 над шумом)». Згорнутий опис займає три рядки; під ним посилання показати весь опис розгортає його повністю, і тоді названо всі дванадцять сигналів (згорнути опис — назад). У 0.9.38 опис не вміщався у свої три рядки й називав лише 5–7 сигналів із 12, а полицю казав −90 dBFS.

Що з цього видно на екрані

Демонстраційний потік іде з темпом 2 МС/с; на машині автора синтез на ньому встигає за реальним часом без втрат. Типовий центр — 2255 МГц, отже на екрані смуга 2254–2256 МГц. У ній — чотири сигнали:

СигналДе він на екрані
Тон −20 dBFSНа 400 кГц нижче центру.
Тон −45 dBFSНа 300 кГц вище центру.
Несуча −35 dBFS, що ходить±150 кГц навколо центру. На водоспаді це похила лінія, що повторюється двічі на секунду.
Імпульси −25 dBFSНа 700 кГц вище центру.

Решта вісім сигналів стоять деінде й з’являються, коли туди настроїтись або пройти свіпом. Шість із них лежать у 2200–2300 МГц: задайте цю ділянку полями діапазону — для демонстрації це вже свіп. Несучу на 433.92 МГц і смугу на 5220 МГц видно, коли настроїтись на них. Сигнал за межами смуги приймання в неї не згортається: синтез докладає лише ті сигнали, які смуга накриває.

До 0.9.38 склад демонстрації задавався зсувом від центру й їхав разом із настройкою: на будь-якій частоті картина була та сама, у свіпі вона повторювалась від сегмента до сегмента, а три складові згортались усередину смуги 2 МС/с — головний тон лягав рівно на нуль частоти, під мітку DC.

Що на ньому перевіряти

  • Рівень несучої. Тон на 2254.6 МГц задано рівнем −20 dBFS, тон на 2255.3 МГц — −45 dBFS: звірте з ними показане число. Як вікно впливає на вершину тону — сторінка RBW, вікна й VBW.
  • Різницю між детекторами. Імпульси присутні 42 % часу. Піковий детектор і max hold показують рівень самого імпульсу, усереднювальні — помітно нижчий. Про детектори — сторінка Детектори.
  • Траси. Несуча, що ходить, у кожній точці своєї доріжки буває лише частину часу: max hold малює всю доріжку, а усереднення — помітно нижче. Див. Траси.
  • Роздільність. Дві несучі на 2231.000 і 2231.025 МГц стоять за 25 кГц одна від одної: подивіться, за якої RBW їх видно окремо.
  • RBW і вікна. Полиця шуму рухається зі зміною RBW, а несуча — ні; див. RBW, вікна й VBW.
  • Свіп. На 2200–2300 МГц кожен сигнал стоїть там, де він є, а не повторюється в кожному сегменті. Див. Свіп.

Демо можна «перестроювати» полями діапазону в шапці бічної панелі й оглядовою лінійкою в межах 0–6 ГГц; у нижнє поле можна ввести 0 0.9.41. Підсилень, темпів на вибір і передавача в демо немає. Якщо комп’ютер не встигає синтезувати потік, пропущені відліки рахує Кільце (дропи) — так само, як у справжнього приймача.

Як відкрити запис

Запис відкривається у стартовому вікні кнопкою Продовжити без пристрою.

  1. Запустіть програму й натисніть Продовжити без пристрою.
  2. У вікні Виберіть запис IQ знайдіть файл. Вікно відкривається в теці записів C:\sdrsa-rec, якщо вона вже є, інакше — у вашій домашній теці.
  3. Фільтр показує *.sigmf-data, *.wav, *.cs16, *.cs8, *.cu8, *.cf32, *.c8, *.c16; решту розширень видно в режимі Усі файли (*).

Якщо скасувати вибір, програма не закривається, а повертає до стартового вікна. Якщо файл не відкрився, вона показує причину й теж повертає туди.

Якщо в теці даних програми є підтека REC із записами, кнопка нічого не питає й бере з неї перший за назвою файл. У встановленому пакеті цієї підтеки типово немає; про теку даних — сторінка Налаштування, файли й мова.

Пункт меню Файл → Відкрити запис… (Ctrl+O) у версії 0.9.49 лише показує вікно вибору й відповідає Не реалізовано: заміни джерела на ходу ще немає. Щоб відкрити інший запис або перейти на прилад, перезапустіть програму.

Які файли читаються

ВидЯк розпізнаєтьсяФормати відліківТемпЦентральна частота
SigMFПоруч із файлом даних лежить файл із тією самою назвою й розширенням .sigmf-meta. Так пише записи сама програма.cu8, ci8, ci16_le, cf32_lecore:sample_ratecore:frequency у captures
WAVРозширення .wav, рівно два канали — I та Q.8 біт без знака, 16 біт зі знаком, 32 біти з рухомою комоюІз заголовкаІз чанка auxi, якщо він є; інакше з назви файлу
Сирий файлЗа розширенням: .cs8 або .c8, .cu8, .cs16 або .c16, .cf32.cs8, cu8, cs16, cf32З назви файлуЗ назви файлу

Якщо в сайдкарі SigMF є поле sdrsa:full_scale, програма читає відліки з цією повною шкалою, і рівні такі самі, як під час запису: ci16_le з повною шкалою 2048 (12-бітні відліки) 0.9.33 і cf32_le з повною шкалою 0.25 0.9.43. Так пише відліки деяких своїх приймачів SDR SA PRO PRO; без цього поля такий запис читався б на 24 і 12 дБ нижче.

Відліки в усіх випадках — перемежовані I та Q. WAV понад 4 ГіБ із заголовком RF64 відкривається, коли блок даних у ньому останній, як зазвичай і буває; окремого розбору службового чанка RF64 у програмі немає. Інші глибини — 24- і 32-бітний цілий WAV, 64-бітна рухома кома, 16-бітний SigMF зі старшим байтом уперед — поки не читаються: програма відмовляє й називає формат.

Звідки взято темп і частоту, програма пише в тому самому дрібному рядку внизу групи Джерело: поруч із числом стоїть джерело — заголовок, SigMF чи назва файлу.

Темп і частота з назви файлу

У сирого файлу заголовка немає, тому темп мусить бути в назві. Без нього файл не відкриється — програма скаже, що темпу дискретизації немає ні в заголовку, ні в імені файлу. Частота необов’язкова: без неї центр вважається нульовим і вісь частоти будується довкола 0 Гц.

ЩоЯк записатиПриклад назви
ТемпЧисло й sps, можна з префіксом k, M чи G; перед числом — підкреслення, пробіл або дефіс.capture_8000000sps.cs16
ТемпЧисло й одразу k або M.fm_100MHz_2.4M.cu8
ЧастотаЧисло й Hz, можна з префіксом k, M чи G.test_433.92MHz_2048ksps.cu8
Частота й темпЯк пише SDR Console: F, пробіл, частота.band F 2255000000Hz_8000000sps.cs8

Для WAV із назви береться лише частота — темп там є в заголовку. Розпізнаються й назви SDR# на зразок SDRSharp_20250604_220354Z_2229334898Hz_IQ.wav та назви GQRX виду gqrx_дата_час_частота_темп_fc.

Формат відліків сирого файлу програма визначає лише за розширенням, і вибрати його у вікні не можна. Розширення .raw, .bin і .dat вона читає як cu8, а .iq — як cs16. Якщо у файлі насправді інший формат, спершу змініть розширення на правильне.

Відтворення

  • У реальному часі. Запис грається з власним темпом вибірки, за годинником: секунда запису триває секунду. Програма, що відстала від годинника, дістає більше відліків за раз і наздоганяє 0.9.30.
  • По колу. Дійшовши до кінця, відтворення починається спочатку. Стик кінця з початком — розрив у часі, і програма обробляє його як перестройку: оцінка DC і стан зважених детекторів починаються заново.
  • Пауза. Кнопка Пауза в групі Джерело, клавіша Пробіл або кнопки ▶ і ⏹ у шапці бічної панелі. Після паузи запис продовжується з того самого місця.
  • Позиція. Рядок Позиція в групі Джерело показує, де у файлі зараз відтворення, у відсотках.
  • Перемотування немає. Перейти на довільне місце запису, змінити швидкість чи вимкнути повтор не можна.
  • Якщо комп’ютер не встигає. Відставання до пів секунди програма наздоганяє без втрат. Що понад це, вона не тягне за собою, а пропускає й чесно рахує в рядку Кільце (дропи) 0.9.30; місце пропуску позначено, і спектр через нього не зліплюється.
  • Записи з перестройками 0.9.25. Якщо в SigMF кілька captures на різних частотах — так пише сама програма, коли частоту міняли під час запису, — кожна ділянка відтворюється зі своєю частотою: центр на екрані перемикається на межі capture.

Поки запис відкрито, Windows тримає файл зайнятим: перейменувати чи видалити його можна після закриття програми.

Що інакше без приймача

  • Запис не перестроюється: у шапці панелі замість полів діапазону стоїть Джерело не перестроюється, і свіпу немає. Смуга на екрані — це смуга, з якою файл записали.
  • У групі Джерело немає розділу Прилад: ні темпу на вибір, ні підсилень, ні кнопки Перепідключити. У рядку Тип стоїть file для запису і sim для демо.
  • Вкладка Передавач каже, що це джерело лише приймає.
  • Рівні — у dBFS відносно повної шкали формату самого файлу. Яким було підсилення під час запису, програма не знає.
  • Аналізатор спектра, траси, приймач і zero span працюють із записом і з демо так само, як із живим IQ-приймачем, — у межах смуги джерела.

Обмеження

  • Джерело вибирається лише при запуску. Відкрити запис… у меню не реалізовано.
  • Відтворення завжди по колу й без перемотування.
  • Сирий файл без темпу в назві відкрити не можна; перейменуйте його.
  • Читаються лише cu8, cs8, cs16 і cf32.
  • RF64 підтримано лише в типовому вигляді, з блоком даних у кінці файлу.
  • Демонстраційний сигнал має один темп — 2 МС/с; більшість його сигналів лежить поза типовою смугою, і щоб їх побачити, треба настроїтись туди чи пройти свіпом.
  • Демо — синтетика з відомими параметрами, а не модель ефіру: завад, завмирань і сусідніх станцій у ньому немає.

Спільний перелік обмежень програми — на сторінці Обмеження й плани.

Wiki описує версію 0.9.49. Версію вашої програми видно в меню «Довідка» → «Про програму». Знайшли неточність? Напишіть нам.