Лабораторная 7.1 — Архитектура TX/RX-тракта¶
Цель¶
Спроектировать полный SDR-тракт передачи и приёма до реализации в коде или аппаратуре: от формирования сигнала до расчёта метрик.
Что выполняется¶
В работе студент:
- строит блок-схему TX/RX-тракта;
- определяет интерфейсы между блоками;
- задаёт sample-rate plan;
- задаёт frequency plan;
- выбирает loopback-режим и метрики проверки.
Результат¶
После выполнения работы должны быть получены:
- архитектурная схема тракта;
- таблица стадий обработки;
- таблица частот и sample rates;
- перечень форматов данных;
- план проверки тракта.
Что приложить к отчёту¶
- схему TX/RX chain;
- таблицу stage/purpose/input/output;
- frequency-plan check;
- data-format table;
- инженерный вывод о рисках реализации.
Подробная техническая часть¶
Практический вопрос¶
Какие блоки нужны между сформированными отсчётами основной полосы и измеренными метриками приёмника и каковы интерфейсы между ними?
Эталонная архитектура¶
flowchart LR
TXSRC[Источник TX] --> SHAPE[Формирование импульса / TX FIR]
SHAPE --> TXMIX[Микшер TX / DUC]
TXMIX --> TXIF[Интерфейс TX / AXIS]
TXIF --> RF[RF-фронтенд]
RF --> RXIF[Захват RX / файл IQ]
RXIF --> RXMIX[Микшер RX / DDC]
RXMIX --> RXFIR[RX FIR / дециматор]
RXFIR --> METRICS[FFT / SNR / EVM / BER]
Таблица архитектуры¶
| Этап | Назначение | Вход | Выход | Главный риск |
|---|---|---|---|---|
| Источник TX | генерация тона/символов/кадра | параметры | комплексная основная полоса | неверная амплитуда или структура кадра |
| TX FIR | формирование спектра | комплексные отсчёты | отфильтрованные отсчёты | слишком широкая полоса / ISI |
| Микшер TX / DUC | смещение сигнала в основной полосе | основная полоса | сдвинутый сигнал | неверный знак или наложение |
| Интерфейс TX | формат для FPGA/RF | отсчёты в Q-формате | поток | выравнивание отсчётов |
| RF-фронтенд | преобразование в RF | цифровой поток | RF-сигнал | перегрузка / неверный LO |
| Захват RX | запись IQ | RF-сигнал | файл IQ | отсутствие метаданных |
| Микшер RX / DDC | перенос канала на DC | отсчёты IQ | канал основной полосы | частотная ошибка |
| RX FIR/дециматор | выбор канала | основная полоса | основная полоса с меньшей частотой | наложение |
| Метрики | проверка цепочки | обработанный сигнал | числа/графики | неверное выравнивание эталона |
Необходимые проектные решения¶
| Решение | Выбранное значение | Обоснование |
|---|---|---|
| Тип сигнала | тон / QPSK / кадр | |
| Частота дискретизации TX | ||
| Частота дискретизации RX | ||
| LO TX | ||
| LO RX | ||
| Смещение TX в основной полосе | ||
| Сдвиг DDC | ||
| Основной формат данных | float / Q1.15 / ci16 | |
| Тип loopback | цифровой / файл / RF-кабель | |
| Метрики | FFT / SNR / EVM / BER |
План частот дискретизации¶
Fs источника TX -> Fs формирования TX -> Fs DUC -> Fs ЦАП RF
Fs АЦП RX -> Fs DDC -> Fs после децимации -> Fs метрик
Каждое изменение частоты дискретизации должно иметь обоснование антиалиасинга или антиимиджа.
Проверка частотного плана¶
Цепочка согласована, если:
expected_rx_offset = TX_LO + TX_baseband_offset - RX_LO
DDC_shift ≈ -expected_rx_offset
После DDC полезный сигнал должен быть около DC.
Порядок валидации¶
- Чистая симуляция на Python/MATLAB.
- Воспроизведение файла с сохранённым IQ.
- Цифровой loopback.
- RF-кабельный loopback с ослаблением.
- Наблюдение внешним приёмником.
Пример: где каждый этап проверен в этом курсе¶
Для каждого этапа таблицы архитектуры в курсе уже есть лабораторная, где его поведение измерено запуском кода. Используйте их как опорные числа для своего проекта:
| Этап | Лабораторная | Проверенный результат |
|---|---|---|
| TX / RX FIR | Lab 3.2, Lab 5.6 | ФНЧ на 129 отводов: -3 дБ на 240,3 кГц, полоса задерживания Q1.15 -71,0 дБ (float -89,7 дБ); задержка RTL TX-фильтра RRC 9 тактов |
| Смеситель / DUC / DDC | Lab 3.3, Lab 4.2 | неверный знак сдвига ставит тон на 840 кГц вместо 0 Гц; ошибка 24-битного NCO 0,0286 Гц уже даёт EVM 0,14 % за 13,7 мс |
| Дециматор | Lab 3.4 | M = 4 без фильтра переносит помеху на уровне -6,0 дБc; с FIR: -111,8 дБc |
| Частотный план | Lab 6.1 | ошибка LO 10 ppm = 9,15 кГц на 915 МГц, в 9150 раз больше влияния той же ошибки в ppm тактовой частоты дискретизации |
| Цифровой loopback | Lab 5.10 | 281 бит, 0 ошибок нагрузки в RTL-симуляции |
| Метрики | Lab 8.9, Lab 11.28 | риск «неверное выравнивание по эталону» из таблицы на практике: при -55 дБ оценка с опорой на эталон насчитала 18 ошибок, а приёмник, не знающий нагрузку, делает 39 |
Упражнения¶
- Для выбранного сигнала заполните план частот дискретизации и для каждой смены частоты назовите лабораторную из таблицы выше, которая показывает, что происходит без фильтра против наложения или против зеркальных компонент.
- Какие этапы можно проверить на шаге 1 порядка валидации (чистая симуляция), а какие: только на шаге 4 или 5? Для каждого назовите один вид отказа, который ранние шаги не покажут.
- Запишите, откуда блок метрик получит опору по фазе и таймингу. Если он использует известные переданные символы, укажите какие (только преамбулу или весь кадр) и что это делает с BER, который вы сообщаете.
Ответы (проверены запуском скрипта лабораторной)
Это вопросы проектирования, единственного числа здесь нет. Полный ответ содержит:
- Таблицу, где на каждую смену частоты это строка с охраняющим её фильтром и лабораторной, показывающей, что будет без него: децимация без фильтра против наложения (Лабораторные 2.2, 3.4), ограниченное подавление CIC между его нулями (Лабораторная 7.5), интерполяция: 8-кратный повышающий дискретизатор со вставкой нулей из Лабораторной 5.7 оставляет спектральные образы на кратных символьной частоты, а убирает их RRC-фильтр Лабораторной 5.6.
- Чистая симуляция проверяет отображение, фильтры, контуры синхронизации и метрики на известных векторах. Только шаги 4–5 (RF) показывают то, чего нет в модели: реальное смещение двух генераторов (Лабораторная 11.30), постоянную составляющую и дисбаланс I/Q приёмника (Лабораторная 6.5), распределение усиления и ограничение АЦП (Лабораторная 6.2), разрывы во времени, опустошающие FIFO ЦАП (разборы случаев блока 11, случай 4).
- Приёмник должен брать фазу и тайминг из принятого сигнала (преамбула, пилоты, контуры). Если блок метрик выравнивается по всему известному кадру, он исправляет ошибки приёмника до их подсчёта и сообщает слишком низкий BER; в Лабораторных 8.1 и 8.4 было именно такое «всезнающее» выравнивание, пока его не убрали. Выравнивание только по преамбуле честно; укажите, какое вы используете.
Чек-лист отчёта (расширенный)¶
- Нарисована схема цепочки TX/RX.
- Заполнена таблица архитектуры.
- Заполнена таблица частот дискретизации.
- Заполнена таблица частотного плана.
- Указаны форматы данных между блоками.
- Определён метод loopback.
- Определены метрики.
- Указано, что будет реализовано в ПО, а что в FPGA.
Шаблон инженерного вывода¶
Выбранная архитектура TX/RX использует ______ как тестовый сигнал и проверяет цепочку через ______ loopback.
Ожидаемое смещение RX в основной полосе — ____ Гц, сдвиг DDC — ____ Гц.
Главный риск реализации — ______, потому что ______.