Лабораторная 6.2 — Настройка усиления и контроль перегрузки¶
Цель¶
Научиться выбирать безопасные уровни TX/RX, обнаруживать перегрузку RF/ADC-тракта и документировать gain settings для воспроизводимых экспериментов.
Что выполняется¶
В работе студент:
- задаёт безопасную схему подключения с аттенюатором;
- выбирает ручной режим усиления;
- выполняет gain sweep;
- фиксирует признаки нормального режима и перегрузки;
- оценивает SNR, SFDR и запас до клиппинга.
Результат¶
После выполнения работы должны быть получены:
- таблица настроек gain/attenuation;
- спектр в нормальном режиме;
- пример или описание перегрузки;
- рекомендуемые безопасные настройки;
- вывод о пригодности уровня сигнала для измерений.
Что приложить к отчёту¶
- схему RF level chain;
- TX/RX gain;
- внешнее ослабление;
- peak level и noise floor;
- признаки перегрузки или их отсутствие;
- инженерный вывод.
Подробная техническая часть¶
Практический вопрос¶
Как понять, видит ли RF-приёмник чистый сигнал или перегруженный/искажённый?
Цепочка RF-уровней¶
flowchart LR
TXGAIN[Усиление TX / выходной уровень] --> ATT[Внешнее ослабление]
ATT --> CABLE[Кабель / RF-тракт]
CABLE --> RXGAIN[Усиление RX]
RXGAIN --> ADC[Вход АЦП]
ADC --> FFT[Спектр]
Безопасная отправная точка¶
Для первого кабельного эксперимента используйте консервативные настройки:
| Параметр | Рекомендуемый старт | Комментарий |
|---|---|---|
| Усиление TX | минимум или сильно уменьшено | избежать повреждения/перегрузки приёмника |
| Внешнее ослабление | 30–60 дБ | обязательно для прямых кабельных тестов |
| Усиление RX | низкое/ручное | отключите AGC для воспроизводимости |
| Тип сигнала | одиночный тон | самый простой индикатор перегрузки |
| Смещение тона | 50–200 кГц | подальше от DC и края полосы |
| Диапазон наблюдения | внутри полосы RX | избегать краевых эффектов |
Не пропускайте ослабление
Прямой кабель TX–RX без ослабления может перегрузить или повредить чувствительный приёмник. Начинайте с большим ослаблением, чем кажется необходимым.
Нормальный и перегруженный спектр¶
| Наблюдение | Нормальный режим | Режим перегрузки |
|---|---|---|
| Главный тон | узкий устойчивый пик | искажённая или плоская область |
| Гармоники | отсутствуют или малы | сильные гармоники/побочные составляющие |
| Шумовая полка | стабильна | растёт с уровнем сигнала |
| Реакция на усиление | предсказуема | сжата или не меняется |
| Форма во времени | близка к синусоиде | обрезана / «квадратная» |
Процедура развёртки усиления¶
- Настройте фиксированный частотный план из Lab 6.1.
- Задайте внешнее ослабление.
- Отключите AGC, если возможно.
- Начните с малого усиления TX и малого усиления RX.
- Запишите уровень главного пика и шумовую полку.
- Увеличивайте усиление RX небольшими шагами.
- Остановитесь, когда появятся признаки перегрузки.
- Вернитесь к последней чистой настройке.
- При необходимости повторите для усиления TX.
Таблица измерений¶
| Шаг | Усиление TX | Усиление RX | Внешнее ослабление | Уровень пика | Шумовая полка | Уровень побочных | Вердикт |
|---|---|---|---|---|---|---|---|
| 1 | чисто / перегрузка | ||||||
| 2 | чисто / перегрузка | ||||||
| 3 | чисто / перегрузка | ||||||
| 4 | чисто / перегрузка |
Простые метрики перегрузки¶
Оценка запаса по амплитуде¶
headroom = clipping_level - peak_level
Оценка динамического диапазона, свободного от побочных составляющих¶
SFDR = main_peak_level - largest_spur_level
Оценка отношения сигнал/шум¶
SNR = main_peak_level - noise_floor_level
Эти оценки: приближения по дисплею спектра. Для строгой работы определите полосу, окно, усреднение и метод калибровки.
Проверка без железа (синтетическая)¶
lab_6_2_gain_overload_sweep.py превращает записи в таблицу измерений выше. До появления платы запустите его самотест. Он использует синтетические записи (тон, амплитуда которого следует смоделированному усилению, плюс фиксированный шум, ограниченные на +/-1,0 по I и Q), каждая строка помечена [SYNTHETIC], и ничто из этого не является аппаратным измерением:
python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_2_gain_overload_sweep.py --self-test --output lab62_selftest.json --markdown-output lab62_selftest.md
| Усиление (сим.) | Наблюдаемый пик | SNR (пик / медианный бин) | SFDR (пик / наибольший другой бин) | Флаг |
|---|---|---|---|---|
| -20 дБ | -26.56 dBFS | 25.1 дБ | 13.1 дБ | none |
| -10 дБ | -27.29 dBFS | 35.5 дБ | 23.6 дБ | none |
| 0 дБ | -23.67 dBFS | 45.6 дБ | 34.7 дБ | none |
| 20 дБ | -9.50 dBFS | 65.6 дБ | 54.8 дБ | none |
| 30 дБ | -0.15 dBFS | 75.4 дБ | 64.1 дБ | marginal |
| 34 дБ | +2.75 dBFS | 79.6 дБ | 19.1 дБ | clipping |
Чему учат синтетические строки ещё до реальной записи:
- При -20 и -10 дБ «наблюдаемый пик» это шум, а не тон. Амплитуда тона 0,003 и 0,0095, а наибольший отсчёт шума на 8192 точках около 0,047 (пик -26,56 dBFS). Пик даже не растёт между этими строками.
- SNR по медиане продолжает расти и при клиппинге (75,4 дБ при 30 дБ, 79,6 дБ при 34 дБ). Клиппинг переносит мощность в несколько гармонических бинов, и медиана всех бинов почти не меняется. SFDR обваливается с 64,1 до 19,1 дБ это и есть признак перегрузки в спектре.
- +2,75 dBFS возможно, потому что пик это модуль комплексного отсчёта, а полная шкала задана отдельно для I и Q. У тона, ограниченного по обеим шинам, угол равен sqrt(2), около +3 dBFS.
- Строка 30 дБ ещё не клиппирует, но её пик ближе 1 дБ к полной шкале, поэтому она помечена
marginalи не рекомендуется.
В этой модели шум добавляется после усиления, как шум АЦП, поэтому SNR растёт дБ в дБ с усилением. В реальном приёмнике шум входного каскада усиливается вместе с сигналом, поэтому SNR перестаёт улучшаться, как только этот шум начинает доминировать. Найти этот излом: задача аппаратной развёртки.
Упражнения¶
- Объясните по таблице, почему развёртка усиления, оцениваемая только по медианному SNR, выбрала бы точку с клиппингом как лучшую.
- В
synthetic_capture()сделайте так, чтобы шум масштабировался тем же усилением, что и тон (модель шума входного каскада). Предскажите столбцы SNR и SFDR, затем запустите. - Добавьте двухтоновый тест (два тона на расстоянии 10 бинов) и найдите усиление, при котором интермодуляционные продукты третьего порядка впервые поднимаются над шумом. Это ниже или выше усиления, при котором счётчик клиппинга становится ненулевым?
- Когда появится реальная запись, составьте манифест для
--manifestи сравните реальную кривую SNR/SFDR от усиления с синтетической. Где излом?
Ответы (проверены запуском скрипта лабораторной)
- В синтетической развёртке SNR по медианному бину продолжает расти и в точке ограничения: 75,4 дБ при 30 дБ, 78,6 дБ при 32 дБ и 79,6 дБ при 34 дБ, тогда как SFDR обваливается с 64,1 до 24,1 и 19,1 дБ, а ограничиваются тысячи отсчётов. Ограничение отдаёт энергию в немногие гармонические бины, которые почти не сдвигают медиану, поэтому развёртка, оцениваемая по медианному SNR, выбирает «лучшей» самую ограниченную настройку.
- Когда шум масштабируется вместе с тоном, SNR остаётся около 45,5 дБ при любом усилении, а SFDR: около 34 дБ до ограничения; ограничение начинается раньше (3 отсчёта при 24 дБ, 376 при 27 дБ), потому что пики усиленного шума первыми достигают полной шкалы. Когда доминирует собственный шум входного каскада, рост усиления не улучшает SNR, а лишь приближает перегрузку. Усиление помогает, только пока доминирует шум АЦП.
- В этой модели продукты третьего порядка появляются только вместе с ограничением: ниже 31 дБ бины IM3 остаются на уровне шума (в пределах ±6 дБ), а при 31 дБ подскакивают на 23,7 дБ над ним, когда ограничиваются 648 отсчётов. Единственная нелинейность модели: жёсткое ограничение. Реальный тракт сжимается до ограничения АЦП (LNA и смеситель), поэтому на оборудовании IM3 растут при меньшем усилении, чем подсказывает счётчик ограничений для этого в развёртку и включают двухтональный тест.
- Для этого нужна реальная запись. Ожидайте, что SNR растёт с усилением, пока доминирует шум АЦП, выходит на полку, когда доминирует шум входного каскада, а SFDR резко падает в колене, где начинается компрессия или ограничение; лучшая настройка: чуть ниже этого колена.
Типичные ошибки¶
| Ошибка | Результат | Исправление |
|---|---|---|
| AGC включён во время измерения | усиление меняется в ходе эксперимента | использовать ручное усиление |
| нет внешнего ослабления | риск перегрузки или повреждения | добавить аттенюатор |
| тон слишком близко к DC | побочный пик DC скрывает сигнал | сместить тон от DC |
| тон у края полосы | спад фильтра меняет уровень | сместить тон к центру |
| только скриншот без настроек | эксперимент нельзя воспроизвести | записать метаданные |
Чек-лист отчёта (расширенный)¶
- Нарисована цепочка RF-уровней.
- Указаны частоты TX/RX.
- Указаны усиления TX/RX.
- Указано внешнее ослабление.
- Указаны частота дискретизации и полоса.
- Записано наблюдение чистого спектра.
- Записано наблюдение спектра при перегрузке или безопасный запас.
- Выбрана рекомендуемая безопасная настройка.
- Приложены IQ-метаданные.
Шаблон инженерного вывода¶
Чистая рабочая область наблюдалась при усилении TX ____ и усилении RX ____ с внешним ослаблением ____ дБ.
Признаки перегрузки появились при ______. Рекомендуемая настройка — ______, потому что она даёт стабильный
уровень пика, малое содержание побочных составляющих и достаточный запас для воспроизводимых измерений.