Перейти к содержанию

11. Анализ записанного сигнала в GNU Radio

Цель раздела

Познакомиться с GNU Radio как со средой наглядной сборки SDR-цепочек и использовать её для анализа записанного IQ-сигнала.

1. Зачем нужен GNU Radio

GNU Radio полезен тем, что позволяет быстро собрать работающую SDR-цепочку из готовых блоков и наглядно увидеть путь сигнала.

Для учебного курса это особенно ценно: студент получает ещё один взгляд на тот же эксперимент:

  • без написания большого объёма кода;
  • в интуитивной блочной форме;
  • с быстрыми структурными изменениями во время анализа.

2. Задача раздела

В рамках первого блока студент должен:

  • открыть записанный IQ-файл;
  • подать его в граф GNU Radio (flowgraph);
  • отобразить спектр сигнала;
  • при желании отобразить временную форму;
  • сравнить картину с HDSDR, MATLAB и Python.

3. Минимальная структура графа

Простейшая схема может включать:

  • File Source
  • Throttle
  • QT GUI Frequency Sink
  • QT GUI Time Sink

Если файл уже содержит комплексные отсчёты в подходящем формате, этого достаточно для первой демонстрации.

«Подходящий» означает cf32: File Source с типом complex читает пары I/Q в 32-битном формате с плавающей точкой. Файлу курса .ci16 нужен File Source с типом short и следующий за ним блок Interleaved Short To Complex; сырой файл rtl_sdr это беззнаковые байты, и перед преобразованием нужно убрать смещение 127,5; WAV-файл HDSDR читается блоком Wav File Source с двумя выходами, объединёнными блоком Float To Complex. Неверный тип источника даёт такой же уверенный, но неправильный спектр, как на странице 09.

4. Что нужно настроить

Нужно правильно задать:

  • тип данных файла;
  • формат комплексного сигнала;
  • частоту дискретизации;
  • размер FFT;
  • длину окна отображения.

Если эти параметры заданы неверно, спектр будет интерпретирован неправильно.

5. Что должен увидеть студент

Собрав граф, студент должен увидеть:

  • устойчивый спектральный пик тестового тона;
  • временную структуру сигнала;
  • согласие с результатами, полученными в других средах.

6. Чем GNU Radio полезен в этом курсе

GNU Radio хорошо дополняет другие инструменты:

  • HDSDR: быстрое наблюдение реального сигнала;
  • MATLAB / Simulink: моделирование и системный анализ;
  • Python: автоматизация;
  • C++: высокопроизводительная реализация;
  • GNU Radio: быстрая сборка и наглядная отладка SDR-цепочек.

Так студент с самого начала привыкает к тому, что один и тот же сигнал можно исследовать разными инженерными инструментами.

7. Минимальное практическое задание

Достаточно собрать граф, который:

  • читает IQ-файл;
  • показывает спектр;
  • показывает временную форму;
  • позволяет менять параметры отображения;
  • подтверждает наличие тестового тона.

8. Что можно расширить дальше

На следующих этапах студент может использовать GNU Radio для:

  • цифрового переноса частоты;
  • фильтрации;
  • декодирования;
  • анализа нескольких сигналов;
  • воспроизведения и моделирования SDR-цепочек.

Так уже в первом блоке GNU Radio становится удобной учебной платформой, которую можно расширять.

9. Что включить в отчёт

Рекомендуется включить:

  • скриншот графа;
  • окно отображения спектра;
  • окно отображения временной формы;
  • настройки частоты дискретизации;
  • краткое сравнение с другими инструментами.

10. Выводы

После этого этапа студент должен:

  • уметь собирать простой граф для анализа записи;
  • понимать роль GNU Radio в SDR-разработке;
  • видеть, как один и тот же сигнал анализируется в нескольких инженерных средах.