Lab050: model fresh-frame SDR video stream
This commit is contained in:
@@ -240,6 +240,41 @@
|
||||
- **Далее:** программный Lab050 — профиль RX, поток видео и ограничение возраста очереди.
|
||||
- **RF:** RF TX = 0, STOP.
|
||||
|
||||
## Lab050
|
||||
|
||||
- **Цель:** последовательность JPEG через отдельный SDR-транспорт, ограничение
|
||||
возраста изображения и блочный независимый IQ-приём. Управление ELRS отдельно.
|
||||
- **База:** Lab049 закреплена коммитом
|
||||
`cdf5396e807b83f82a264632dc46f71428fcd616`; Lab050 не добавлена в индекс и не коммитилась.
|
||||
- **Переиспользовано:** планировщик Lab035 с LATEST_ONLY и завершением активного
|
||||
изображения. Добавлены готовность JPEG отдельно от съёмки, произвольный предел
|
||||
возраста и прогноз RX. Поздно готовый старый снимок не вытесняет свежий.
|
||||
- **Профили:** A 320×240 RGB q35 — 8724 байта; B 160×120 RGB q35 — 2771;
|
||||
C 128×96 RGB q25 — 1740; D 160×120 grayscale q30 — 2028. По 30
|
||||
детерминированных сдвигов исходного фото; это не видео камеры.
|
||||
- **Матрица:** 240 сценариев, вход 3/5/10 кадров/с, Rs=200/400/500/800/1000 ксимв/с,
|
||||
MAX_VIDEO_AGE=200/333/500/1000 мс. Ожидающая очередь ≤1.
|
||||
- **Идеальная модель:** C/500k — 5 или 10 свежих кадров/с, возраст около 92,6 мс.
|
||||
При камере 10 и Rs=200k, возрасте 333 мс: 14 передач, 16 замен, 4,333 свежих
|
||||
кадра/с внутри окна и один дополнительный после него.
|
||||
- **Потоковый RX:** 24/24 RF-пакета и 3/3 точных JPEG до `finish` на каждой скорости;
|
||||
IQ-память ограничена. В шумном опыте processing/RF = 44,322 / 147,986 /
|
||||
170,374 / 295,095 / 333,865. Реального времени нет.
|
||||
- **Память:** удерживаемые IQ 2,13–6,51 МиБ; расчёт массивов 47,5–143,4 МиБ,
|
||||
не измеренный RSS. Состояние RX не растёт вместе с длиной сессии.
|
||||
- **Достижимость:** 5/10 кадров/с без QPSK — CONDITIONAL. C≤1952 байт,
|
||||
500 ксимв/с, стоимость RX-пакета ≤16/12 мс для модели возраста 200 мс;
|
||||
требуется ещё примерно 144/192-кратное ускорение относительно этого замера.
|
||||
- **Код:** [видеомодель](../experiments/lab050_video_stream.py),
|
||||
[потоковый RX](../experiments/lab050_streaming_receiver.py).
|
||||
- **Проверки:** [44 теста Lab050](../tests/test_lab050_video_stream.py),
|
||||
quick_gate — 650 тестов и 14 функциональных проверок; независимые verifier/adversary.
|
||||
- **Отчёт:** [состояние](lab050_current_state.md),
|
||||
[JSON](../data/processed/lab050/result.json),
|
||||
[замеры RX](../data/processed/lab050/receiver_benchmarks.json). Журнал: запись 039.
|
||||
- **Далее:** Lab051 — профиль и ускорение строгой обработки ложных кандидатов.
|
||||
- **RF:** RF TX = 0. Lab050 commit/push не выполнялись. STOP.
|
||||
|
||||
## Правило хранения данных
|
||||
|
||||
Большие записи IQ, потоки `cs8`, бинарные объекты и другие аппаратные исходные
|
||||
|
||||
Reference in New Issue
Block a user