Files
SDR-Rover/data/processed/lab032/lab032_report.txt
2026-07-29 12:47:10 +03:00

102 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Lab032. Подбор параметров блочного исправления потерь
Исходный профиль и неизменные слои
- Видео: data\raw\lab026_rover_source.mp4
- 63 реальных пар BASE/ROI, 3 fps; длительность 20.766667 с.
- BASE 240x135 grayscale JPEG Q23; ROI 320x180 grayscale JPEG Q33.
- Внутренний Lab028 packet: payload 512 байт; внешний формат и GF(256) Lab030 не изменены.
- Глубина D=1: systematic symbols блока передаются первыми, затем parity; перемежение отсутствует.
- Блоки формируются из непрерывного потока внутренних пакетов и могут пересекать composite_frame_id.
Последний неполный блок
- Используется единое правило:
r_last = max(1, ceil(k_last × r / k)).
- Нулевое дополнение существует только внутри математики GF(256); внешние пакеты синтетически не добавляются.
Сравнительная таблица восьми режимов
mode | rate | outer/margin kbit/s | composite 10/50/200/1000 ms | pub p95 200 ms s | no-image p95 200 ms s | block mean/max ms | decode mean ms | queue mean/max
----:|-----:|----------------------:|----------------------------:|-------------------:|------------------------:|------------------:|---------------:|---------------:
Без FEC | 1.000000 | 168.396/131.604 | 0.669603/0.914524/0.960714/0.979762 | 0.203013 | 1.325184 | 0.000/0.000 | 0.000 | 13.717/15
4+1 | 0.800000 | 226.951/73.049 | 0.791429/0.909048/0.959683/0.978175 | 0.274880 | 1.337167 | 92.966/189.840 | 77.606 | 17.171/20
8+2 | 0.800000 | 226.951/73.049 | 0.912857/0.933333/0.963016/0.978333 | 0.275067 | 1.338747 | 189.723/266.720 | 159.003 | 17.210/21
12+3 | 0.800000 | 226.951/73.049 | 0.951984/0.951190/0.965714/0.978492 | 0.288773 | 1.339135 | 288.795/337.173 | 242.715 | 17.219/21
6+2 | 0.750000 | 242.928/57.072 | 0.920873/0.930317/0.961270/0.978254 | 0.294080 | 1.333927 | 142.659/214.293 | 111.939 | 18.337/21
8+3 | 0.727273 | 250.916/49.084 | 0.963413/0.948810/0.962540/0.978175 | 0.305947 | 1.339067 | 191.857/266.720 | 145.777 | 18.985/24
4+2 | 0.666667 | 274.659/25.341 | 0.924762/0.924127/0.959048/0.977143 | 0.336320 | 1.349667 | 96.393/159.120 | 65.744 | 20.698/24
8+4 | 0.666667 | 274.659/25.341 | 0.986984/0.955317/0.963095/0.978175 | 0.336667 | 1.347973 | 193.876/266.720 | 132.578 | 20.859/26
Подробные результаты при средней Bad 200 мс
mode | BASE/ROI/composite | blocks ok/fail | restored packets | delivered kbit/s | publication mean/p95/max s | no-image mean/p95/max s | incomplete mean/p95/max
----:|-------------------:|---------------:|-----------------:|-----------------:|--------------------------:|-----------------------:|------------------------:
Без FEC | 0.972302/0.967302/0.960714 | 0.000000/0.000000 | 0 | 150.881 | 0.185098/0.203013/0.209680 | 0.786259/1.325184/2.333307 | 1.387/3.000/6
4+1 | 0.973175/0.966905/0.959683 | 0.975972/0.024028 | 92 | 150.067 | 0.246589/0.274880/0.394773 | 0.823033/1.337167/2.349520 | 1.494/3.000/6
8+2 | 0.974841/0.969365/0.963016 | 0.972130/0.027870 | 144 | 150.483 | 0.246330/0.275067/0.466747 | 0.837464/1.338747/2.334160 | 1.528/3.000/6
12+3 | 0.975794/0.971270/0.965714 | 0.968403/0.031597 | 260 | 150.899 | 0.246565/0.288773/0.522907 | 0.841596/1.339135/2.380240 | 1.543/3.000/6
6+2 | 0.973651/0.968571/0.961270 | 0.975243/0.024757 | 188 | 150.202 | 0.262330/0.294080/0.425493 | 0.839718/1.333927/2.364880 | 1.544/3.000/6
8+3 | 0.974603/0.969524/0.962540 | 0.973981/0.026019 | 249 | 150.081 | 0.271028/0.305947/0.466747 | 0.861515/1.339067/2.334160 | 1.589/3.000/6
4+2 | 0.973095/0.966429/0.959048 | 0.978287/0.021713 | 236 | 149.535 | 0.296583/0.336320/0.394773 | 0.865525/1.349667/2.364880 | 1.613/3.000/6
8+4 | 0.975238/0.970238/0.963095 | 0.975833/0.024167 | 375 | 149.944 | 0.295920/0.336667/0.465947 | 0.899563/1.347973/2.334160 | 1.703/3.000/6
Временная модель и очередь
- Непрерывные чередующиеся экспоненциальные Good/Bad интервалы Lab029B, средняя доля Bad около 2%.
- Средние Bad 10, 50, 200 и 1000 мс; 200 повторов; fixed seeds 300300...300303.
- Пакет теряется при любом пересечении передачи с Bad. FIFO учитывает фактическую длину каждого внешнего пакета и скорость 300 кбит/с.
- Все исследованные режимы остаются ниже 300 кбит/с; положительный запас показан в таблице. Отдельная функциональная проверка ускоряет поток 8+4 вдвое и подтверждает реальное накопление очереди при перегрузке.
- Block duration измеряется от начала первого до конца последнего символа. Decode-ready без потерь — от начала первого до конца k-го systematic symbol.
1. Одинаковая кодовая скорость 0.8: 4+1, 8+2 и 12+3
- 4+1: outer 226.951 кбит/с, block mean 92.966 мс, decode-ready 77.606 мс, composite@200 0.959683.
- 8+2: outer 226.951 кбит/с, block mean 189.723 мс, decode-ready 159.003 мс, composite@200 0.963016.
- 12+3: outer 226.951 кбит/с, block mean 288.795 мс, decode-ready 242.715 мс, composite@200 0.965714.
- При одинаковой номинальной code rate длина блока меняет временное окно, в котором одна помеха может собрать несколько стираний. Короткий блок раньше получает k systematic symbols и быстрее допускает декодирование.
- Длинный блок дольше остаётся открытым и может включить больше потерянных пакетов одной длительной помехи; при этом его больший абсолютный r иногда полезен для рассеянных стираний.
2. Одинаковая code rate 2/3: 4+2 и 8+4
- 4+2: outer 274.659 кбит/с, composite@200 0.959048, publication P95 0.336320 с, no-image P95 1.349667 с.
- 8+4: outer 274.659 кбит/с, composite@200 0.963095, publication P95 0.336667 с, no-image P95 1.347973 с.
- Сравнение изолирует влияние длины блока при одинаковой сильной избыточности: короткий 4+2 быстрее закрывается, длинный 8+4 имеет больше абсолютных parity symbols, но дольше накапливает стирания.
3. Влияние увеличения r
- Большее r позволяет исправить больше стираний, но увеличивает внешний поток, служебную долю, время передачи блока и публикационную задержку.
- 8+3: outer 250.916 кбит/с (8+2 226.951, 8+4 274.659); composite@200 0.962540 (8+2 0.963016, 8+4 0.963095); P95 delay 0.305947 с (8+2 0.275067, 8+4 0.336667).
- Поэтому 8+3 оценивается по фактическому положению между 8+2 и 8+4 сразу по скорости, устойчивости и задержке, без автоматического назначения рабочим режимом.
4. Практическая граница без автоматического выбора
- Минимальный поток: Без FEC, 168.396 кбит/с.
- Максимальная composite-устойчивость при Bad 200 мс: 12+3, 0.965714.
- Минимальная P95-задержка среди защищённых режимов: 4+1, 0.274880 с.
- Недоминируемые по outer bitrate↓, publication P95↓ и composite success↑ режимы при Bad 200 мс: Без FEC, 8+2, 12+3.
- Это набор компромиссов, а не автоматический выбор единственного режима.
Функциональные проверки
- PASS all_k_r_supported: GF(256) generated every requested k+r matrix
- PASS recover_any_r_erasures: recovered all 1208 exact-r erasure patterns
- PASS restored_inner_byte_exact: restored Lab028 packets are byte-exact
- PASS inner_outer_crc: outer and recovered Lab028 CRC32 checks passed
- PASS final_partial_block_scaling: final blocks: 4+1:2+1, 8+2:6+2, 12+3:10+3, 6+2:4+2, 8+3:6+3, 4+2:2+1, 8+4:6+3
- PASS zero_bad_100_percent: all eight modes restored 100% of frames without Bad
- PASS fixed_seed_reproducibility: identical seed produced identical result fields
- PASS queue_counts_parity: every parity packet is included in FIFO timing
- PASS overload_grows_queue: 549.317 kbit/s produced queue mean/max 301.733/589
- PASS atomic_incomplete_composite: missing final ROI fragment prevented publication
- PASS lab030_8_2_reproduction: 8+2 exactly reproduced Lab030 order and four rows
Допущения модели
- JPEG кодируются один раз в памяти; вычислительная задержка GF(256) считается нулевой.
- Стирается весь внешний пакет; отдельные битовые ошибки не моделируются, но оба уровня CRC проверяются.
- Publication delay считается от frame_id/3 до конца пакета, завершившего атомарную сборку BASE+ROI.
- No-image заканчивается публикацией следующего полного кадра или концом расписания; неполный кадр не публикуется.
- ARQ, повторы, глубокое перемежение, команды, телеметрия, модуляция и реальный SDR отсутствуют.
Артефакты
- Полный CSV: data\processed\lab032\lab032_results.csv
- Сводный CSV: data\processed\lab032\lab032_summary.csv
- Отчёт: data\processed\lab032\lab032_report.txt
- Доля восстановленных кадров: data\processed\lab032\lab032_composite_success.png
- Скорость и избыточность: data\processed\lab032\lab032_stream_overhead.png
- Задержка публикации: data\processed\lab032\lab032_publication_delay.png
- Отсутствие изображения: data\processed\lab032\lab032_no_image_duration.png
- Влияние размера блока: data\processed\lab032\lab032_block_size_effect.png
- Практическая граница: data\processed\lab032\lab032_practical_frontier.png
- JPEG, пакеты и бинарные дампы не сохранялись.