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

Лабораторная 3.7 — Окна FFT и обнаружение слабых сигналов

Эта лабораторная усиливает раздел спектрального анализа в DSP foundation track. Это детерминированная script-driven работа, без notebook-подхода.

Цель

Показать, что FFT window это инженерный выбор, а не декоративная настройка графика. Лабораторная сравнивает, как разные окна влияют на видимость слабого тона рядом с сильным тоном.

Что измеряется

Свойство окна Последствие для SDR-измерений
Ширина главного лепестка Разделение тонов и частотное разрешение.
Уровень боковых лепестков Возможность увидеть слабый сигнал рядом с сильным компонентом.
Coherent gain Корректная интерпретация амплитуды.
ENBW Интерпретация noise floor и чувствительности.

Команда запуска

Из корня репозитория:

python blocks/block_03_dsp_basics/python/lab_3_7_window_tradeoffs.py

Или через общий reproducibility suite:

python tools/run_all_labs.py

Генерируемые артефакты

Артефакт Назначение
docs/assets/lab37_window_tradeoffs.png Сравнение спектров для rectangular, Hann и Blackman windows.
docs/assets/lab37_weak_signal_detection.png Метрика видимости слабого сигнала для каждого окна.
docs/assets/lab37_window_metrics.json Coherent gain, ENBW и метрики weak-signal detection.

Инженерные вопросы

  1. Почему rectangular window может скрыть слабый сигнал рядом с сильным?
  2. Почему снижение боковых лепестков обычно увеличивает ширину главного лепестка?
  3. Почему coherent gain нужен для амплитудных измерений?
  4. Почему ENBW важен при оценке noise floor?
  5. Какое окно лучше выбрать для weak-signal detection и почему?

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

  • Оба сгенерированных графика.
  • Сравнение минимум трёх типов окон.
  • Coherent gain и ENBW.
  • Метрику видимости слабого тона.
  • Пояснение, как выбор окна влияет на SDR spectrum display и measurement report.

Связь со следующими блоками

Эта лабораторная напрямую связана с:

  • Block 06: RF spectrum observation и overload checks;
  • Block 08: синхронизация и weak-pilot detection;
  • Block 09: анализ записанных IQ-файлов;
  • Block 11: measurement dashboard и качество итогового отчёта.

Чего ожидать

rectangular: weak visibility = 0.45 dB
hann: weak visibility = 46.62 dB
blackman: weak visibility = 46.50 dB
  • Слабый тон на 54 дБ ниже сильного, в 8,4 кГц от него (около 138 бинов при 61 Гц на бин), невидим с прямоугольным окном (0,45 дБ над локальной полкой) и отчётливо виден с окнами Ханна и Блэкмана (около 46,5 дБ).
  • Здесь Ханн и Блэкман равны, потому что слабый тон далеко от сильного, где утечка у обоих намного ниже шума. Сравните с Лабораторной 3.1, где слабый тон всего в 12 бинах и Блэкман выигрывает 7,7 дБ: «лучшее» окно зависит от того, какой разнос нужно разрешить.

Упражнения

  1. Придвиньте слабый тон ближе к сильному (например на 1,2 кГц, около 20 бинов). Какое окно выигрывает теперь?
  2. Опустите слабый тон до −80 дБ. Какой предел вы встречаете первым: утечку или шумовую полку?
  3. По значениям ENBW из Лабораторной 3.1 предскажите, насколько поднимается шумовая полка от прямоугольного окна к Блэкману, и проверьте по графику.
Ответы (проверены запуском скрипта лабораторной)
  1. На 1,2 кГц (около 20 бинов) выигрывает Блэкман: 36,5 дБ над локальной полкой против 31,7 дБ у Ханна; прямоугольное окно по-прежнему ничего не показывает (−0,7 дБ). Ближе к сильному тону важнее глубокие и быстро спадающие боковые лепестки, чем ширина главного.
  2. Шумовую полку. При −80 дБ слабый тон всё ещё на 20,9 дБ (Ханн) и 20,5 дБ (Блэкман) выше локальной полки, и эта полка это шум, а не утечка: на 138 бинах оба окна протекают гораздо слабее шума. Прямоугольное окно ограничено утечкой и ничего не показывает.
  3. ENBW 1,727 для Блэкмана предсказывает 10·log10(1,727) = 2,37 дБ; измеренный медианный уровень шума растёт с −103,79 до −101,44 дБ, то есть на 2,35 дБ (Ханн: предсказано 1,76, измерено 1,73 дБ).