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-разработке;
- видеть, как один и тот же сигнал анализируется в нескольких инженерных средах.