Лабораторная 6.11 — Калибровка мощности dBm и dBFS¶
Цель¶
Построить воспроизводимую связь между RF-мощностью в дБм и измеренной цифровой амплитудой в дБFS для платформы ZynqSDR + AD9363, используя RTL-SDR как относительный контрольный приёмник и внешний аттенюатор или калиброванную опорную точку, когда они доступны.
Работа стоит между базовой линией RX-only (Lab 6.6) и первым полным OTA-наблюдением тона DDS (Lab 6.8). Её цель: определить безопасный диапазон ослабления TX и задокументированную шкалу амплитуды до перехода к OTA-экспериментам, чтобы последующие работы выбирали ослабление с известным бюджетом линии.
Статус: это процедура с пустыми таблицами результатов. Для неё пока не закоммичены ни калиброванная опорная точка
дБм, ни измеренная развёртка, поэтому в ней нет измеренных чисел, и курс не делает из неё заявлений о калиброванной мощности. Ранее она имела номер 6.7, который конфликтовал с работой Zero-IF artifacts на сайте, и теперь называется Lab 6.11.
Зачем эта работа¶
На текущем этапе:
- Lab 6.6 подтвердила, что тракт RX у ZynqSDR исправен;
- эксперименты с TX требуют известной безопасной отправной точки, прежде чем включать PA AD9363;
- RTL-SDR уже есть как независимый приёмник со стабильной настройкой
tuner_gain_db10; - курсу нужен ясный мост между аналоговой RF-мощностью (
дБм) и цифровой амплитудой отсчётов (дБFS).
Таблица, полученная здесь, позволяет последующим работам (6.8, 7.x, 11.x) выставлять ослабление TX в точку внутри динамического диапазона RTL-SDR без риска перегрузки. Она также явно показывает, что дБFS: не абсолютная единица RF-мощности, пока не записана калибровочная опора.
Ключевые определения¶
| Термин | Смысл | Трактовка в курсе |
|---|---|---|
дБ |
Отношение двух величин | Используется для ослабления, усиления, SNR и относительных разностей спектра |
дБFS |
Децибелы относительно цифровой полной шкалы | Амплитуда FFT/отсчётов относительно диапазона полной шкалы АЦП или файла |
дБм |
Децибелы относительно 1 мВт | Абсолютная RF-мощность при заданном импедансе, обычно 50 Ом |
Важное правило:
dBFS относится к цифровой шкале приёмника.
dBm — абсолютная RF-мощность в плоскости измерения.
Перевод из dBFS в dBm допустим только после калибровки.
Калибровочная модель¶
Используйте одну калибровочную точку, измеренную на той же частоте, при том же усилении, частоте дискретизации, обработке FFT и настройках приёмника:
P_dBm = P_ref_dBm + (P_dBFS - P_ref_dBFS)
где:
P_ref_dBm: известная RF-мощность на входе приёмника или в плоскости измерения;P_ref_dBFS: измеренный цифровой пик или интегральная мощность для того же опорного сигнала;P_dBFS: измеренное цифровое значение для неизвестного сигнала;P_dBm: оценённая RF-мощность при тех же настройках приёмника.
Это относительная калибровка. Если изменится что-либо из перечисленного, калибровку нужно повторить: усиление тюнера, аналоговое усиление, частота дискретизации, окно FFT, метод интегрирования RBW/бина, центральная частота, кабели, аттенюаторы или геометрия антенн.
Исполняемые файлы¶
| Файл | Назначение |
|---|---|
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_3_probe_iio_context.py |
подтвердить список устройств IIO до включения TX |
blocks/block_06_rf_frontend_and_ad9363/python/lab_6_8_capture_zynq_ota_tone.py |
используется в режиме развёртки с аргументом --tx-hardwaregain-db |
Отдельный скрипт lab_6_11_*.py не нужен: развёртка переиспользует lab_6_8 с фиксированным тоном DDS и меняющимся ослаблением TX. Если есть калиброванный RF-источник или измеритель мощности, запишите опорную точку в ту же таблицу отчёта.
Порядок измерений¶
- Убедитесь, что контекст IIO ZynqSDR доступен:
python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_3_probe_iio_context.py \
--uri ip:192.168.40.1
-
Настройте RTL-SDR на фиксированное усиление (например, усиление тюнера = 200 / 20 дБ) и настройте на частоту тона DDS (центр + смещение).
-
Запишите настройки приёмника до любой развёртки:
| Параметр | Значение |
|---|---|
| Центральная частота | __________ Гц |
| Смещение тона | __________ Гц |
| Частота дискретизации | __________ отс/с |
| Усиление тюнера RTL-SDR | __________ дБ |
| Размер FFT / окно | __________ |
| Плоскость измерения | антенна / кабель / выход аттенюатора / другое |
- Если доступна калиброванная опора, запишите одну известную точку:
Опорная RF-мощность (дБм) |
Измеренный цифровой уровень (дБFS) |
Примечания |
|---|---|---|
__________ |
__________ |
то же усиление, частота и настройки FFT |
- Для каждого значения ослабления TX из таблицы ниже выполните:
python blocks/block_06_rf_frontend_and_ad9363/python/lab_6_8_capture_zynq_ota_tone.py \
--uri ip:192.168.40.1 \
--center-frequency-hz 915000000 \
--tone-offset-hz 50000 \
--tx-hardwaregain-db <VALUE> \
--out-iq datasets/lab6_8_zynq_ota_tone_observation/raw/tx_cal_<VALUE>dB.ci16 \
--manifest-out datasets/lab6_8_zynq_ota_tone_observation/manifest_tx_cal_<VALUE>dB.yaml \
--dataset-id lab6_11_tx_cal_<VALUE>dB
В этом скрипте уровень TX это hardwaregain канала TX у AD9361: 0 дБ это максимальный выход, -89,75 дБ это минимальный. Столбец «Ослабление TX» в таблицах ниже это то самое значение.
- Считайте пик FFT RTL-SDR для каждого прогона и запишите принятый уровень в
дБFS. Если есть действительная опорная точка, оцените соответствующиедБмпо калибровочной модели выше.
Предлагаемая развёртка ослабления¶
| Ослабление TX (дБ) | Ожидаемый SNR RTL-SDR | Примечания |
|---|---|---|
| −89,75 (мин. TX) | шумовая полка | безопасная базовая линия: сигнала не ожидается |
| −60 | низкий | начните отсюда |
| −50 | умеренный | стандартное значение курса |
| −40 | хороший | увеличивать только при расстоянии между антеннами > 2 м |
| −30 | высокий | проверьте RTL-SDR на признаки перегрузки |
Шаблон таблицы результатов¶
| Прогон | Ослабление TX (дБ) | Пик RTL-SDR (дБFS) | Оценённая мощность (дБм) | SNR (дБ) | Примечания |
|---|---|---|---|---|---|
| baseline | −89,75 | ____ |
н/д | ____ |
шумовая полка |
| tx_cal_-60dB | −60 | ____ |
____ |
____ |
|
| tx_cal_-50dB | −50 | ____ |
____ |
____ |
|
| tx_cal_-40dB | −40 | ____ |
____ |
____ |
|
| tx_cal_-30dB | −30 | ____ |
____ |
____ |
проверка перегрузки |
Если калиброванной опоры в дБм нет, оставьте столбец Оценённая мощность (дБм) как н/д и явно укажите, что результат: только относительная калибровка в дБFS.
Правила безопасности¶
- Никогда не поднимайте уровень TX выше
--tx-hardwaregain-db -30без подтверждённого расстояния между антеннами не менее 2 м и без отражающих корпусов. - Для любого кондуктивного или ближнепольного измерения предпочитайте внешний аттенюатор.
- Всегда возвращайте TX в безопасное состояние (
TX LO powerdown = 1,TX attenuation = -89,75 дБ) после развёртки. - Записывайте хвост
dmesgпосле каждого включения TX, чтобы поймать предупрежденияxo_disableилиclock_lostдрайвера AD9363. - Остановите развёртку, если пик FFT перестал линейно расти с изменением уровня TX или если в спектре видны продукты ограничения/перегрузки.
Ожидаемые результаты¶
| Результат | Содержание |
|---|---|
| Таблица калибровки TX (JSON или Markdown) | ослабление TX против мощности пика RTL-SDR (дБFS) и необязательные оценённые дБм |
docs/assets/lab611_tx_power_calibration_table.json |
машиночитаемая калибровочная таблица |
| Вывод отчёта | действительные настройки приёмника, безопасный диапазон ослабления TX и ограничения калибровки |
Предлагаемая форма JSON:
{
"lab": "6.11",
"title": "dBm vs dBFS power calibration",
"center_frequency_hz": 915000000,
"tone_offset_hz": 50000,
"receiver": "RTL-SDR",
"receiver_gain_db": 20.0,
"reference": {
"available": false,
"power_dbm": null,
"measured_dbfs": null
},
"points": [
{
"tx_attenuation_db": -50.0,
"measured_peak_dbfs": null,
"estimated_power_dbm": null,
"snr_db": null,
"notes": "fill after measurement"
}
]
}
Чек-лист отчёта¶
- Указано усиление тюнера RTL-SDR, использованное на протяжении всей развёртки.
- Записаны центральная частота, частота дискретизации и смещение тона.
- Описано, было ли измерение OTA, кондуктивным, с ослаблением или с калибровкой по известной опоре.
- Приложена полная таблица «ослабление:
дБFS». - Необязательная оценка в
дБмприложена только при наличии действительной опорной точки. - Определён безопасный диапазон ослабления TX для доступной геометрии антенн.
- Подтверждено, что после развёртки TX возвращён в безопасное состояние.
Шаблон инженерного вывода¶
Калибровка мощности TX на ____ МГц использовала смещение тона DDS ____ кГц и усиление тюнера RTL-SDR
____ дБ. Принятая мощность менялась от ____ дБFS при ослаблении ____ дБ до ____ дБFS при ослаблении
____ дБ. Перевод в дБм применялся / не применялся. Опорная точка: ____ дБм = ____ дБFS. Оценённый
диапазон RF-мощности: от ____ дБм до ____ дБм. Безопасный рабочий диапазон для последующих работ:
ослабление TX между ____ дБ и ____ дБ. TX возвращён в безопасное состояние: TX LO powerdown = 1,
ослабление = -89,75 дБ.