Розділи Wiki

Wiki Аналізатор спектра

Детектори

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

Три місця, де працює детектор

За секунду приймач дає сотні й тисячі спектрів, а на екрані — кількасот рядків водоспаду й одна крива. Спектри не викидаються: вони згортаються детектором, і кратність згортки програма показує.

Детектор — головний
Вкладка Аналізатор спектра, група Смуга розділення. Зводить K спектрів за часом в один рядок водоспаду; у свіпі — спектри одного сегмента. Типово rms. Скільки спектрів у рядку, показують поле Згортка внизу групи і панель довіри: Детектор rms ×11. Підказка «?» біля перемикача змінюється разом із вибором і називає ціну саме цього детектора.
Детектор траси
Другий список у рядку кожної з трас T1…T4 у групі Траси. Той самий перелік з одинадцяти, але в кожної траси свій — див. нижче.
Детектор ↔px
Зводить біни в піксель уздовж частоти, коли бінів більше, ніж пікселів: peak, neg, sample або avg. Про нього — Біни на піксель.

Одинадцять детекторів

У спискуЩо робить із K спектрамиНа яке питання відповідаєЩо ховає
peakМаксимумЧи був сплескСправжній рівень шуму: полиця піднята на кілька дБ, видно кожен власний спур приймача
negМінімумДе провали й підлогаСигнали: вони зникають
sampleОдин спектр — останнійЩо було в одну митьУсе, що сталося між відліками
rmsСередня потужністьЯкий рівеньКороткі сплески: слабшають тим дужче, чим більша згортка
avg_logСереднє децибелівЩо показала б програма без метрологіїСправжній рівень шуму: він занижений
medianМедіанаЩо стоїть постійно: полиця й несучіПоодинокі сплески
p9090-й перцентильЩо з’являється пакетамиОдин випадковий викид
qpКвазіпік CISPR 16-1-1Попередня оцінка завад для ЕМСМиттєвий спектр: рядок — це показ індикатора
cavCISPR-average: середнє напруги обвідноїТе саме, середнє значенняСправжній рівень шуму: він на 1.05 дБ нижчий
crmsRMS-average за CISPRТе саме, середньоквадратичне значенняНа довгому кроці між спектрами шум занижений до 1 дБ
floorМісцева полиця шумуЯкий шум саме на цій ділянціВузькі сигнали: це траса полиці, а не спектр

peak, neg, sample, rms, avg_log

peak
Не губить жодного вузького сигналу, але показує й кожен власний спур приймача і піднімає полицю шуму на кілька дБ. Беріть, коли шукаєте слабкі вузькі або короткі сигнали.
neg
Тримає мінімуми: сигнали зникають, видно провали й підлогу. Режим для діагностики, не для пошуку.
sample
Бере один спектр із K. Швидко, але сигнал може випасти цілком — між відліками.
rms
Усереднює потужність: полиця рівна й незміщена, випадкові викиди гаснуть. Вузький пік слабшає тим дужче, чим більша згортка. Типовий головний детектор.
avg_log
Усереднює децибели, а не потужність. Занижує шум залежно від згортки — до 2.51 дБ у границі. Залишений навмисно, щоб різницю з rms було видно на екрані; для вимірів рівня беріть rms або peak.

median і p90

median
Медіана K спектрів: поодинокого сплеску не видно, лишаються стала полиця й несучі. Шум читається нижче за середню потужність; границя — −1.59 дБ.
p90
90-й перцентиль K спектрів: пакетні сигнали видно, як у peak, але один випадковий викид картини не робить. Шум читається вище за середню потужність.

qp, cav, crms: детектори CISPR

Це зважені детектори за CISPR 16-1-1, пораховані в часовій області: на кожен бін стоїть детекторна ланка та індикатор зі сталими часу. Вони мають пам’ять між кадрами, тому після перестройки їхній стан скидається: заряд, набраний на попередній частоті, на нову не переноситься, і ланки заводяться з першого спектра нової частоти. Сталі програма бере за частотою настройки:

Смуга стандартуЧастота настройкиЗарядРозрядІндикаторRBW за стандартом (−6 дБ)
Aдо 150 кГц45 мс500 мс160 мс200 Гц
B0.15–30 МГц1 мс160 мс160 мс9 кГц
C/D30–1000 МГц1 мс550 мс100 мс120 кГц
—від 1 ГГцсталі смуг C/D; квазіпік там стандартом не визначений
qp — квазіпік
Модель діодного детектора з критично демпфованим індикатором; проти таблиці імпульсного відгуку стандарту — в межах його допусків. Рядок водоспаду тут — показ індикатора зі сталою розряду в сотні мілісекунд, а не миттєвий спектр: сигнал, що пробігає смугою, лишає слід на всій її ширині. Найважчий із детекторів: близько пів ядра процесора на 20 МС/с, і ця ціна — на кожного, хто його просить: головний детектор і кожна траса з qp рахують своє.
cav — CISPR-average
Лінійне середнє напруги обвідної зі сталою індикатора смуги. Несучу читає точно, шум — на 1.05 дБ нижче за середню потужність.
crms — RMS-average
Середньоквадратичне вище частоти зламу (100 Гц у смугах B–D), лінійне середнє нижче. Шум читає без зміщення, поки крок між спектрами значно менший за 2.5 мс; на вузьких темпах із великим N крок довший, і шум читається до 1 дБ нижче.

Це попередня оцінка, не сертифікаційний вимір. Стандарт вимагає смуги 200 Гц, 9 кГц або 120 кГц за рівнем −6 дБ і певної форми фільтра. Тут RBW задають N і вікно, а імпульс, коротший за кадр FFT, розмазується по одному-двох спектрах — тож імпульсні завади зважуються інакше, ніж у приймачі за стандартом. Для сталих і повільно модульованих сигналів покази збігаються з peak і середнім, як і мають. Програма каже те саме в підказці кожного з цих детекторів.

floor: місцева полиця шуму

floor дає не спектр, а трасу полиці: медіану блоків бінів (64 біни при восьми й більше спектрах у згортці, до 512 при одному), переведену в середню потужність. Вузькі сигнали й усе підняте, вужче за п’ять блоків, у неї не потрапляють. Виміряно: вона лежить на 0.1–0.2 дБ нижче справжньої полиці.

Основне застосування — перевищення над місцевим шумом. Поставте floor другій трасі, а першій увімкніть математику a/b з цією трасою: вийде перевищення над шумом саме цієї ділянки в децибелах (див. математику трас).

Зміщення на шумі

Кожен детектор дає свою відповідь на питання «який тут рівень шуму», і різниця між ними — не похибка, а властивість самої операції. Панель довіри називає її числом: поле Зміщення показує, на скільки децибел головний детектор при поточній згортці зміщує рівень шуму відносно його середньої потужності.

ДетекторЗгортка ×2Згортка ×8Згортка ×32
peak+1.76 дБ+4.34 дБ+6.08 дБ
neg−3.01 дБ−9.03 дБ−15.05 дБ
avg_log−1.05 дБ−2.09 дБ−2.40 дБ
median0.00 дБ−1.19 дБ−1.49 дБ
p90+1.46 дБ+3.05 дБ+3.42 дБ
  • Для rms і sample зміщення нульове за будь-якої згортки, а для peak, neg, avg_log, median і p90 — за згортки ×1; тоді поля в панелі немає.
  • cav у настроєному режимі читає шум на 1.05 дБ нижче за будь-якої згортки.
  • Для qp у настроєному режимі, для floor і для crms, коли крок між спектрами задовгий (вище 1 ГГц поріг у десять разів суворіший), простої відповіді немає. Панель тоді пише не визначене, а не ховає поле: схований рядок читався б як «нуль».
  • Згортка залежить від темпу вибірки, N і повзунка Рядків/с. Змінивши темп водоспаду, ви змінюєте згортку — а з нею й рівень шуму, який показують peak, neg, avg_log, median і p90.
  • Число стосується головного детектора. Для трас панель окремого зміщення не показує.

Свій детектор у кожної траси

Одна траса в peak каже, чи був сплеск, друга в rms каже, який рівень шуму, і обидві на екрані одночасно — це вимір, а не картинка. Тому детектор вибирається окремо для кожної з чотирьох трас: T1 і T2 типово мають peak, T3 — neg, T4 — rms. FFT рахується один раз, і всі траси та водоспад отримують ті самі спектри — різниться лише згортка.

Зміна детектора скидає накопичене в цій трасі. Зважені детектори тримають стан окремо в кожній трасі. Що траса робить зі згорнутим рядком далі — Max hold, Average, математика — на сторінці Траси.

З tinySA 0.9.25 детектор вибрати не можна: прилад віддає вже згорнутий рядок, і в списках трас та в панелі довіри стоїть прилад.

Детектори у свіпі

У свіпі приймач стоїть на сегменті мілісекунди, тому детектори працюють інакше.

  • За часом головний детектор згортає лише спектри одного сегмента — поки блоки не губляться, їх не менше, ніж задано повзунком Свіп: спектрів (фактичне число стоїть у панелі довіри поруч із детектором). З одним спектром на сегмент згортати нічого: median, наприклад, дає той самий спектр.
  • Уздовж частоти на широкому прольоті зшита сітка має більше бінів, ніж точок у трасі (на повному прольоті HackRF One — 75 бінів на точку), і зводить їх той самий детектор. Тут діє й детектор траси: він вирішує, як звести біни сітки в точку цієї траси.
  • Детектори, які є статистиками за часом, уздовж частоти замінюються відповідником: p90 і qp зводять біни піком, median, cav, crms і floor — середньою потужністю. peak, neg, sample, rms і avg_log лишаються собою.
  • Зважені детектори у свіпі працюють без пам’яті — сталим часу нема коли діяти. qp показує peak, тобто верхню межу квазіпіка; cav — середнє напруги лише за спектри одного сегмента; crms — середню потужність за ці спектри, тобто rms.

Який детектор узяти

  • Шукаєте слабкі вузькі або короткі сигнали — peak.
  • Міряєте рівень шуму чи широкого сигналу — rms.
  • Хочете бачити пакетні сигнали без реакції на одиничний викид — p90.
  • Хочете бачити лише те, що стоїть постійно, — median.
  • Потрібне перевищення над місцевим шумом — floor на другій трасі та a/b на першій.
  • Попередньо оцінюєте завади для ЕМС — qp, cav, crms, пам’ятаючи про смугу.
  • Типова пара трас уже відповідає на два питання одразу: T1 у peak — чи був сплеск, T4 в rms з усередненням — який середній рівень.
  • PRO Міряєте маркерами SDR SA PRO густину шуму, потужність у смузі, OBW чи ACPR — траса має нести середню потужність: детектор rms або sample, режим не Max hold і не Min hold, Усереднення — Power. Інакше вимір іде із застереженням, яке каже, що саме не так. Див. Маркери траси.

Обмеження

  • qp, cav і crms — попередня оцінка, не сертифікаційний вимір: RBW не за стандартом, а вище 1 ГГц квазіпік стандартом не визначений.
  • У свіпі зважені детектори не мають пам’яті: qp там — це peak.
  • Коли Спектр із блоків пропускає блоки, qp, cav і crms на час пропуску завмирають: їхні сталі часу йдуть по обробленому часу.
  • Вибір детекторів між запусками не зберігається: головний щоразу стартує з rms, траси — зі своїх типових.
  • Детектори — лише ті, що в списку; власного перцентиля чи сталих часу задати не можна.
  • З tinySA детектори програми не діють: рядок згортає сам прилад.

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