Files
SDR-Rover/docs/lab058_offline_result.md

14 KiB
Raw Blame History

Lab058 — качество BPSK-символов в сохранённом ABAB-сеансе Lab056

Что произошло простыми словами

Передатчик в Lab056 держал почти одинаковую среднюю цифровую мощность для 20 и 500 ксимв/с. При 500 ксимв/с за ту же секунду передавалось в 25 раз больше символов, поэтому на один символ пришлось примерно на 13,87 дБ меньше измеренной энергии. Полная принятая мощность при этом практически не изменилась.

В сохранённой записи отдельные символы 500 ксимв/с действительно различаются хуже: после точного диагностического согласования BER вырос с 0% до 3,4959%, RMS EVM — с 0,317 до 0,845, а matched/residual снизился с 9,97 до 1,46 дБ. Но штатный приёмный тракт ухудшает B намного сильнее — до 52,42% BER. Он оценил остаточный CFO примерно как +4,7 Гц вместо близкого к нулю значения. За burst 0,2048 с эта ошибка поворачивает фазу почти на полный оборот и перемешивает решения.

Установлены два разных эффекта. Физическое качество широкополосного B хуже и совместимо с меньшей энергией символа; кроме того, штатная синхронизация B в этой записи явно не удерживает фазу. Оценка H(f) показывает большее широкополосное изменение амплитуды, но OTA-тракт включает обе платы, кабели, антенны и распространение. По нему нельзя приписать эффект одному HackRF Plus. Абсолютная RF-мощность в dBm, шумовая фигура и истинный Eb/N0 требуют калиброванного измерительного тракта; приведённые значения — цифровые диагностические метрики сохранённых IQ.

Целостность и границы

Файл Размер SHA-256 Результат
tx_abab.cs8 21 177 088 байт 5b34bbe1a8e6d037d2d6d367a74e9eb84e8940db7da61600ffaa7f7497d4f600 совпал
rx_stream.cs8 48 000 000 байт e336dd653fa554058052fcf851e9f2462f66b8cf7c710815ca2b9a09ffc23ad4 совпал

Использованы сохранённые RX-start A1/B1/A2/B2: 5 254 791 / 7 709 991 / 10 149 062 / 12 604 263. Исторические файлы Lab054/Lab056 не изменялись. Оборудование не опрашивалось, RF TX = 0.

Receiver-like и oracle

Receiver-like применяет существующие RRC, timing и carrier estimates. Для оценки ему доступны только 1280 символов штатной преамбулы. Полный TX truth подключается затем лишь для подсчёта ошибок. Границы burst унаследованы от Lab056, поэтому независимый поиск пакета здесь не проверяется.

Oracle использует известный TX для диагностического согласования. 64 временные плитки разделены заранее: чётные оценивают timing/CFO/h, нечётные проверяют результат. По восемь символов с каждой стороны каждой плитки исключены, чтобы опоры RRC и sinc не пересекали train/validation. Постоянная составляющая оценивается только по защищённым чётным участкам raw. Timing выбирается на фиксированной сетке −0,5…+0,5 символа с шагом 1/32. Основные физические метрики относятся к защищённым нечётным плиткам.

Сегмент Режим Ошибки / символы BER CFO, Гц Timing, символа RMS EVM Matched/residual, дБ
A1 receiver-like 1 / 2816 0,0355% +0,0558 +0,0050 0,3164 +9,9946
A1 oracle 0 / 1536 0% −0,0175 0 0,3146 +10,0454
B1 receiver-like 53110 / 101120 52,5218% +4,6690 0 1,6279 −4,2326
B1 oracle 1625 / 50688 3,2059% −0,0617 −0,03125 0,8151 +1,7761
A2 receiver-like 0 / 2816 0% −0,1387 0 0,3321 +9,5741
A2 oracle 0 / 1536 0% +0,0072 0 0,3202 +9,8916
B2 receiver-like 52898 / 101120 52,3121% +4,7422 −0,0625 1,6786 −4,4991
B2 oracle 1919 / 50688 3,7859% −0,0187 −0,03125 0,8756 +1,1536

Средний receiver-like BER A/B равен 0,0178% / 52,4169%; средний oracle BER — 0% / 3,4959%. Разрыв receiver-like–oracle у B около 48,92 процентного пункта. Oracle не является packet PASS и не меняет исторический результат Lab054.

Решения, EVM и margin

Использована модель r = h*s + e и формула EVM_RMS = sqrt(mean(|e|²) / mean(|h*s|²)). Matched/residual — отношение мощности модельной компоненты к остатку, содержащему шум, ISI и ошибки модели; это не Eb/N0.

Метрика oracle A1 A2 A mean B1 B2 B mean B−A
BER 0% 0% 0% 3,2059% 3,7859% 3,4959% +3,4959 п.п.
RMS EVM 0,3146 0,3202 0,3174 0,8151 0,8756 0,8453 +0,5280
Matched/residual, дБ 10,0454 9,8916 9,9685 1,7761 1,1536 1,4648 −8,5036
Margin median 1,0278 1,0233 1,0256 1,0383 1,0295 1,0339 +0,0084
Margin p10 0,8134 0,7810 0,7972 0,4456 0,4080 0,4268 −0,3704
Margin p01 0,4432 0,4030 0,4231 −0,7474 −0,8916 −0,8195 −1,2426
Eye opening 2,0110 1,9848 1,9979 2,0221 1,9648 1,9935 −0,0044
ISI ratio, дБ −34,4848 −32,1542 −33,3195 −30,2664 −29,9349 −30,1006 +3,2189
H(f) ripple p95−p05, дБ 0,4274 0,3860 0,4067 4,5321 6,4107 5,4714 +5,0647

Центры облаков остаются около ±1, поэтому median margin и среднее eye opening почти одинаковы. У B намного шире хвосты: p01 становится отрицательным, что непосредственно соответствует ошибочным решениям. Разделение центров относительно pooled standard deviation снижается с 12,07σ в среднем у A до 3,65σ у B.

Созвездия A/B

BER, EVM и matched/residual

Eye и чувствительность timing

Время нормировано в долях символа, поэтому 400 и 16 отсчётов/символ сравниваются в общей шкале. Среднее падение opening при −0,1/+0,1 символа составляет около 1,98%/1,87% у A и 1,72%/1,78% у B. Сильного дополнительного закрытия eye именно от малого timing offset не видно. У B основная проблема проявляется в разбросе точек и фазе, а не в среднем расстоянии между центрами.

Eye A

Eye B

H(f) и диагностический ISI

H(f) рассчитана как усреднённое Sxy/Sxx по Hann-окнам 8192 отсчёта с 50% overlap. Сохранены только bins внутри RRC-полосы и не ниже −20 дБ по TX PSD. У A осталось 27 bins с median coherence 0,903; у B — 516 bins с median coherence 0,551. Робастный p95−p05 amplitude ripple равен 0,407 дБ для A и 5,471 дБ для B. Полный max−min равен 0,791 и 22,962 дБ, но эта крайняя величина чувствительна к отдельным bins, поэтому основным показателем выбран p95−p05. Остаточная phase ripple p95−p05 составляет 0,042 и 0,306 rad. Производная фазы оказалась недостаточно устойчивой по заранее заданному критерию, поэтому variation group delay не объявляется результатом.

Эти данные показывают широкополосную неравномерность всего OTA-тракта B, но средняя coherence B умеренная и тракт не разделён на TX, propagation и RX. Это свидетельство дополнительного частотно-зависимого эффекта, а не доказательство многолучёвости или аппаратной потери HackRF.

Фиксированный МНК-отклик −5…+5 символов дал adjacent/main −33,32 дБ у A и −30,10 дБ у B. ISI у B выше на 3,22 дБ, но абсолютная сумма соседних taps остаётся примерно на 30 дБ ниже главного. Большой адаптивный equalizer не применялся.

Диагностическая H(f)

Диагностические ISI taps

Контроли и энергетическое сравнение

  • Сохранённый TX после того же RRC/oracle тракта дал BER 0 для A и B. Остаток цифрового TX-контроля RMS EVM равен 0,01105 / 0,00998; он включает конечные RRC/transient/model effects и не приписывается исключительно int8-квантованию.
  • Synthetic AWGN использовал seed 5801, одинаковые Fs, TX RMS и комплексную дисперсию шума 400 код²/отсчёт. BER остался 0, но EVM ухудшился от 0,02503 до 0,11406, то есть на 13,17 дБ; matched/residual снизился с 32,03 до 18,86 дБ. Направление и масштаб совместимы с падением энергии символа −13,870505 дБ. Это контроль формул, не модель, подогнанная к OTA, и не доказательство AWGN-природы реального канала.
  • Фоновое окно до ABAB дало receiver-like/oracle BER 50,31% / 50,35% и oracle training coherence 4,50e−5: оно не выглядит как качественный BPSK.

В реальной записи ухудшение EVM B/A равно 8,51 дБ, меньше энергетических 13,87 дБ, поскольку A уже имеет собственный остаточный floor. По одной OTA-записи нельзя разложить остаток на шум и искажения единственным способом.

Повторяемость и вывод

A1/A2 устойчивы по главным метрикам: BER 0/0, EVM различается на 0,0056 (0,15 дБ), matched/residual — на 0,15 дБ, eye opening — на 0,114 дБ. Диагностический ISI ratio расходится на 2,33 дБ при малом абсолютном уровне соседних taps.

B1/B2 повторяют основной эффект: oracle BER 3,2059% / 3,7859%, EVM отличается на 0,0606 (0,62 дБ), matched/residual — на 0,62 дБ, eye opening — на 0,25 дБ, ISI ratio — на 0,331 дБ. Ripple H(f) расходится на 1,88 дБ, что ограничивает точность его единственной OTA-оценки, но оба повтора намного менее плоские, чем A.

Основная классификация — MIXED:

  1. Уменьшение энергии символа совместимо с ухудшением EVM и matched/residual B.
  2. В широком B-диапазоне видна дополнительная неравномерность всего OTA-тракта, однако её источник и точная доля не локализованы.
  3. Самая большая практическая потеря возникает в текущей carrier synchronization: receiver-like B почти случаен, тогда как oracle B сохраняет BER 3,5%.

Следующий один этап рекомендуется сделать полностью офлайн: проверить исправленный preamble-only CFO/carrier estimator на сохранённых Lab056 A1/B1/A2/B2, Lab054 и TX/AWGN/background controls, требуя приблизить receiver-like B к oracle без регрессии A и без использования payload truth в оценивателе. Lab059 в этой работе не создаётся.

Машинные данные: summary.json, segment_metrics.csv, channel_response.csv.

Исторический Lab054 остаётся NOT_A, 0/16. RF TX = 0. Lab058 не закоммичена, push не выполнялся.