Lab046C: recover short 1400 MHz capture offline

This commit is contained in:
LittleSam129
2026-09-02 12:23:14 +03:00
parent 9b906c622d
commit d985030f04
4 changed files with 664 additions and 8 deletions

View File

@@ -0,0 +1,101 @@
# Повторная обработка записи Lab046C на 1400 МГц
## Границы работы
Использована только сохранённая запись:
`C:\Users\user\Documents\SDR_Rover_RF_Check\20260901_172749_1400MHz\rx_1400mhz.cs8`
- размер: 38 400 000 байт;
- число комплексных отсчётов cs8: 19 200 000;
- частота дискретизации: 8 МГц;
- длительность: 2,4 с;
- SHA-256: `06ab0867865bca462a21c42c9f3bc7e519e336108f7b5e98e7b283f842387a99`;
- число запусков передатчика в этой работе: 0.
HackRF не запускался. Порог `IQ_PREAMBLE_THRESHOLD = 0.65`, Lab045, FEC и PHY
не изменялись. Исходный аппаратный `CONTROL RESULT = C` не переписывается.
## Правило первого каскада
Правило зафиксировано до полного независимого декодирования. Использован только
фон до передачи, интервал `0,00 ... 0,50 с`:
```text
candidate_threshold =
pre-TX local-peak Q99.9 + 4 * pre-TX local-peak MAD
```
Получено:
- локальных максимумов: 5 538;
- медиана локальных максимумов: `0.0094285998493433`;
- MAD локальных максимумов: `0.0027075146790593863`;
- Q99: `0.019724003970623016`;
- Q99.9: `0.022788675501942635`;
- Q99.99: `0.023935016244649887`;
- максимум: `0.024017350748181343`;
- зафиксированный порог: `0.03361873421818018`.
Фон после передачи, интервал `1,60 ... 2,40 с`, использован только как
независимая контрольная выборка:
- локальных максимумов: 9 285;
- медиана локальных максимумов: `0.009831136092543602`;
- MAD локальных максимумов: `0.002742284908890724`;
- Q99.9: `0.023004598915576935`;
- Q99.99: `0.026167524978518486`;
- максимум: `0.02711654081940651`;
- кандидатов при зафиксированном пороге: 0.
После просмотра результата порог не менялся.
## Независимый результат
Выполнен ровно один полный проход по всем 19 200 000 отсчётам. Приёмник не
получал смещения переданных кадров, их ожидаемое число, сигнал передатчика,
пакеты, полезную нагрузку или кодированные биты.
- локальных максимумов во всей записи: 29 205;
- кандидатов первого каскада: 1 279;
- обработано строгим каскадом: 28;
- PHY-заголовок прошли: 3;
- PHY-заголовок не прошли: 25;
- попыток FEC: 3;
- FEC прошли: 3;
- FEC не прошли: 0;
- CRC прошли: 3;
- CRC не прошли: 0;
- действительных кадров: 3.
Поиск дошёл до конца записи и до конца списка кандидатов. Ограничения числа
кандидатов, итераций и действительных кадров не сработали. Все 25 отклонённых
кандидатов получили `PHY_HEADER_MAGIC_MISMATCH`. Только `CRC PASS` добавлял кадр
в независимый результат.
## Диагностика после независимого решения
Независимый JSON был записан до открытия опорных файлов передатчика. После
этого выполнено сопоставление:
- ожидаемых переданных кадров: 3;
- совпавших действительных кадров: 3;
- пропущенных кадров: 0;
- ложных `CRC PASS`: 0;
- ошибки положения начала: `0`, `-1`, `+2` отсчёта;
- ошибки кодированных битов до FEC: `17 + 19 + 29 = 65`;
- ошибки пакета после FEC: 0 бит;
- ошибки полезной нагрузки: 0 байт, 0 бит.
Три полезные нагрузки по 256 байт формируют соответствующие переданные пакеты
по 268 байт. Добавления пропущенных кадров в независимый результат не было.
## Вывод
Повторная обработка записи на 1400 МГц получила `VALID FRAMES = 3` и
`CRC PASS = 3` без ложных срабатываний CRC. Это подтверждает исправность
физического радиочастотного тракта для данного короткого опыта. Оценка:
`RF PATH ASSESSMENT = HEALTHY`.
Результат не является разрешением на новый RF, повтор Lab046C, JPEG, QPSK или
изменение FEC. `RF TX = 0`.