Розділи Wiki

Wiki Прилади

HackRF One

HackRF One — основний приймач програми: спектр і водоспад від 1 МГц до 6 ГГц за темпу вибірки 2–20 МС/с, апаратний свіп на весь діапазон, прослуховування, запис IQ і передавач тестових сигналів. На цій сторінці — як один раз призначити приладу драйвер WinUSB, що робить кожен пункт групи Джерело на вкладці Пристрій, які лічильники втрат там стоять і де програма прямо каже, що стану приладу вона не знає.

Що працює з HackRF One

  • Спектр і водоспад у межах 1 МГц – 6 ГГц. Миттєва смуга дорівнює темпу вибірки: 2, 4, 8, 10, 12.5, 16 або 20 МС/с.
  • Апаратний свіп. Ділянку, ширшу за 20 МГц, прилад проходить сам, сегмент за сегментом; повний діапазон 1–6000 МГц зшивається із сотень сегментів, один прохід триває приблизно 0.6–0.7 с. Якщо RBW задано, темп свіпу йде за нею 0.9.36: програма бере найширший темп, на якому кадр для цієї RBW вміщається в блок, яким прилад віддає свій свіп (2 кГц — 10 МС/с, 1 кГц — 4 МС/с, 500 Гц — 2 МС/с). Нижчий темп — довший прохід, і група Смуга розділення каже рядком, у скільки разів (розрахунок); на живому приладі це ще не перевірено. Докладно — на сторінці Свіп.
  • Прослуховування й FPV-відео — сторінки Приймач і FPV-відео.
  • Запис IQ у власному форматі приладу cs8 із сайдкаром SigMF — сторінка Запис IQ.
  • Передавач тестових сигналів — сторінка Передавач.

Одразу після підключення прилад стоїть на 2255 МГц із темпом 10 МС/с, підсилення LNA 32 дБ і VGA 36 дБ 0.9.25, вхідний підсилювач і Bias-tee вимкнені. Ручки приладу між запусками не зберігаються: кожен сеанс починається з цих значень.

Рівні з HackRF One показано в dBFS, тобто відносно повної шкали АЦП, а не в каліброваних dBm. Про це постійно нагадує позначка dBFS — UNCAL на панелі довіри.

Драйвер WinUSB: один раз через Zadig

Програма драйверів не встановлює. З HackRF One вона працює через вкладену бібліотеку libhackrf поверх драйвера WinUSB, який уже є у Windows. Його треба один раз призначити приладу утилітою Zadig; після цього програма відкриває прилад сама.

  1. Підключіть HackRF One кабелем USB, у якому є лінії даних. Кабель лише для заряджання для програми виглядає так само, як відсутній прилад.
  2. Запустіть Zadig і виберіть у ньому саме HackRF One. Програма у своїх повідомленнях називає цей пристрій ідентифікатором USB VID_1D50&PID_6089.
  3. Призначте вибраному пристрою драйвер WinUSB.
  4. Від’єднайте кабель USB і підключіть його знову.
  5. У стартовому вікні програми натисніть Оновити. Рядок приладу має з’явитися із серійним номером.

Призначайте WinUSB саме пристрою HackRF One, а не сусідньому рядку в списку Zadig. Якщо прилад уже працює в програмі, нічого перепризначати не треба: робочу прив’язку Zadig не поліпшить.

Підключення у стартовому вікні

Після запуску відкривається вікно Виберіть приймач. Знайдені HackRF One стоять у списку рядками на зразок «HackRF One — серійний номер». Виберіть рядок і натисніть Підключитися (або Enter). Прилад, зайнятий іншою програмою, у списку теж є, але без серійника: HackRF One — серійник недоступний (зайнятий іншою програмою або без драйвера).

Якщо відкрити прилад не вдалося, програма не закривається: показує вікно Не вдалося відкрити джерело з причиною й порадою і повертає до списку. Усунули причину — Оновити, потім Підключитися, без перезапуску.

Що написаноЩо це означаєЩо робити
Пристрій зайнятий іншою програмоюПрилад уже відкрила інша програма.Закрийте SDR#, GQRX, SDRangel чи hackrf_transfer і спробуйте знову.
Пристрій видно, але драйвер не прив'язанийПрилад є на шині USB, але звернутися до нього не вдалося. Програма називає дві причини в порядку ймовірності: його тримає інша програма або WinUSB не призначено.Спершу закрийте інші SDR-програми. Не допомогло — призначте WinUSB через Zadig, як описано вище.
Пристрій не знайденоНа шині USB приладу немає.Перевірте кабель і живлення.
HackRF, RTL-SDR чи tinySA не знайдено 0.9.25 у спискуЖодного підтримуваного приладу не знайдено; кнопка Підключитися вимкнена.Підключіть прилад і натисніть Оновити. Без приладу лишаються демонстраційний сигнал і записи. У SDR SA PRO PRO порожнім список не буває: рядок Pluto / Pluto+ за адресою… стоїть у ньому завжди.

Група «Джерело» на вкладці «Пристрій»

Вкладка Пристрій (Ctrl+4) складається з трьох груп: Джерело, Запис і Хост. Усе, що стосується самого HackRF, зібрано в першій. Біля більшості пунктів є кружок «?» — наведіть на нього мишу, щоб прочитати пояснення.

Показники

Тип
Звідки йдуть відліки. Для HackRF One тут hackrf.
Темп
Поточний темп вибірки. Він і є миттєвою смугою приймання.
Центр
Частота гетеродина. Рівно на ній стоїть DC-голка — див. нижче.
Прилад
Рядок «плата · прошивка», прочитаний із приладу. Зелений, коли потік іде; жовтий, коли ні. У самому низу групи дрібним шрифтом стоїть повний опис: плата, прошивка, версія USB API, серійний номер і версія libhackrf.

Темп приладу

Список Темп приладу пропонує 2, 4, 8, 10, 12.5, 16 і 20 МС/с. Вищий темп — ширша миттєва смуга, але й більше байтів по шині USB. Те саме робить колесо миші над спектром: звужуєте ділянку — програма бере найвужчий темп, у який вона ще вміщається. Вужчого за 2 МС/с темпу немає; далі Ctrl+колесо лише розтягує картинку.

Зміна темпу скидає накопичені траси. Фільтр основної смуги приладу програма ставить сама під вибраний темп, окремої ручки для нього немає. Під час запису темп не міняється — програма відмовляє вікном Темп не змінено: триває запис 0.9.25, бо всі відліки одного запису мусять мати один темп. Так само під час передачі.

Підсилення

LNA (RF)
Підсилення до змішувача, 0–40 дБ із кроком 8 дБ; типово 32 дБ 0.9.25. Набирайте підсилення звідси: воно підіймає сигнал над шумом тракту. Якщо полиця шуму стрибає або з’являються піки-привиди, це перевантаження — знижувати треба теж тут.
VGA (IF)
Підсилення проміжної частоти, 0–62 дБ із кроком 2 дБ; типово 36 дБ 0.9.25. Лише розтягує вже готове разом із шумом: відношення сигнал/шум від нього не кращає.
AMP +14 дБ
Вхідний підсилювач; типово вимкнений. Діє на весь діапазон одразу, до фільтрів: у місті він легко перевантажується сильними передавачами поруч і породжує піки, яких в ефірі немає.
Bias-tee
Подає живлення в антенний роз’єм; типово вимкнений. Вмикайте лише з навантаженням, яке цього чекає (зовнішній підсилювач, конвертер), а не зі звичайною антеною; напругу дивіться в документації приладу. На платі без цього кола перемикач вимкнений і підписаний Bias-tee — немає на цій платі 0.9.25.
Сума підсилення
LNA + VGA і ще 14 дБ, якщо ввімкнено AMP. Це те, що справді лягло в прилад, а не те, що попросили: значення між кроками прошивка округлює вниз, тому й повзунки показують результат, а не запит.

Після зміни підсилення шкала рівня сама переставляється за виміряними рівнями. Про саму шкалу — сторінка Шкала, автошкала й водоспад.

Непідтверджене підсилення 0.9.25

Прошивка HackRF записує нове значення підсилення раніше, ніж відповідає. Якщо відповідь по USB не дійшла, програма не знає, яке значення зараз у приладі — старе чи нове. Тоді вона не вгадує:

  • підпис повзунка стає LNA (RF) ? або VGA (IF) ?, а сам повзунок лишається на останньому підтвердженому значенні;
  • Сума підсилення показує невідомо: LNA не підтверджено (з назвами тих каскадів, яких це стосується);
  • паспорт завад і АЧХ у такому стані не знімаються — вимір не відповідав би жодному відомому стану приладу.

Щоб зняти невизначеність, задайте той самий каскад ще раз: перший вдалий запис робить його знову відомим. Вхідний підсилювач може стати непідтвердженим і після передачі чи свіпу — тоді з’являється вікно Підсилювач приймання не підтверджено з порадою перемкнути AMP ще раз. Під час передачі перемикач AMP на цій вкладці нічого в прилад не пише: той самий підсилювач тоді працює на передавач, і значення приймання ляже після зупинки передачі.

Пауза, «До живого», «Перепідключити»

Пауза / Продовжити
Зупиняє обробку потоку (те саме — Пробіл): картинка завмирає, звук мовчить, у записі лишається розрив. Обмін по USB при цьому не спиняється: відліки приходять далі й відкидаються, а їхню кількість показує рядок Відкинуто на паузі.
До живого
Повертає водоспад із прокрученої історії до поточного моменту (L).
Перепідключити
Зупиняє потік, закриває прилад, відкриває його знову й запускає потік; свіп, що йшов, підіймається заново, траси починають накопичення спочатку. Її ж натискають після висмикнутого й повернутого кабелю: програма від такого не падає.

Лічильники втрат

У групі Джерело втрати показано окремо, бо це різні несправності з різними причинами.

Кільце (дропи)
Відліки, які прийшли з приладу, але програма не встигла їх забрати зі свого буфера. Більше за нуль — червоне. Це нестача швидкодії комп’ютера: допомагають нижчий темп і налаштування зі сторінки Продуктивність.
Не доїхало
Відліки, що загубилися між приладом і програмою, з часткою у відсотках. Драйвер про них не повідомляє, тому це оцінка з годинника: скільки відліків мало прийти за останні дві секунди і скільки прийшло. Дефіцит, менший за 0.05 %, показується нулем — нижче цієї межі втрату не відрізнити від похибки генераторів. Жовте — втрати були; червоне — зараз губиться понад 0.1 % потоку.
Відкинуто на паузі
З’являється, коли на паузі було що відкинути. Це ваше рішення, а не несправність, тому число не червоне; але розрив є і в записі.
Заповнення кільця
Скільки буфера джерела в програмі зайнято. Понад 70 % — жовте: програма ледве встигає, далі почнуться дропи.

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

Поради щодо USB під час роботи

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

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

Якщо обмін обривається посеред роботи, програма зупиняє потік і показує вікно Обрив зв'язку з пристроєм. Порада в ньому 0.9.25 — саме для працюючого приладу: перевірити кабель і порт USB (краще без хаба) і натиснути Перепідключити. Про іншу програму чи Zadig тут не йдеться: відкритий через WinUSB прилад інша програма не забере.

Коли стан приладу невідомий 0.9.25

HackRF One напівдуплексний: він або приймає, або передає, а свіп і передача одночасно не працюють. На переходах між цими режимами програма перевіряє, чи прилад справді повернувся, і каже, якщо ні.

ВікноЩо сталосяЩо робити
Не вдалося вийти зі свіпуЗвичайне приймання після свіпу не повернулося.Перепідключити.
Передача відмовляє з причиною «частота приладу невідома після свіпу»Гетеродин після свіпу не підтвердив повернення на центр; передача пішла б на невідому частоту.Перепідключити — прилад настроїться заново.
Передачу спинено, приймання не повернулосьПередавач вимкнено, але потік приймання не піднявся.Перепідключити.
Не підтверджено, що передачу спиненоПрилад не підтвердив вихід із режиму передачі; передавач може лишатися ввімкненим.Від’єднайте HackRF від USB і підключіть знову. PortaPack з акумулятором від’єднання не вимикає — вимкніть його живлення.

Власні сигнали приладу

Не все, що видно на спектрі HackRF, прийшло з антени. Програма позначає те, що походить із самого приладу.

  • DC-голка. Рівно в центрі смуги стоїть пік — витік гетеродина й постійна складова змішувача. На графіку його позначає мітка DC. DC-фільтр у групі Смуга розділення (авто, увімк, вимк) знімає постійну складову; мітка тоді стає DC−, але не зникає: шум навколо лишається, а справжній сигнал рівно на частоті настройки знято разом зі зсувом приладу. Щоб роздивитися сигнал під голкою, зсуньте центр приймання.
  • Сталі завади. Гармоніки опорного генератора стоять на сталих частотах. Їх знімає Паспорт — вимір без антени, після якого такі біни позначаються як завади приладу; на HackRF це близько 2000 частот.
  • Завади, що їдуть із гетеродином. У свіпі їх шукає перевірка Спури: програма зсуває межі проходу на цілі мегагерци й дивиться, що переїхало разом із гетеродином.
  • Перевантаження. У свіпі програма рахує сегменти, де АЦП насичений, і пише про них у групі Смуга розділення: рівні там — не вимір, а продукти обмеження.

За виміром автора на його приладі у свіпі 66 із 83 ліній, вищих за 30 дБ, були продуктами гетеродина з гармоніками опорного генератора 40 МГц, а решта — самими цими гармоніками. Як користуватися паспортом і перевіркою спурів — сторінка Мітки виявлення й паспорт завад.

Обмеження

  • Рівні — у dBFS. Амплітудного калібрування HackRF One у програмі немає; dBm дає лише tinySA.
  • Прилад напівдуплексний: під час передачі приймання немає, тож запис не отримує відліків, а свіп запустити не можна.
  • Темп, частота й підсилення приладу між запусками не зберігаються.
  • Прилад вибирається при запуску. Щоб перейти на інший прилад, на запис чи на демонстраційний сигнал, програму треба перезапустити.
  • Поведінку при збоях обміну — непідтверджені підсилення, невдалі виходи зі свіпу й передачі — перевірено на підробці драйвера, а не на справжніх збоях заліза.

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

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