# Инженерный журнал SDR Rover Link ## Назначение журнала Этот файл содержит хронологию разработки проекта SDR Rover Link. В журнале фиксируются: - выполненные работы; - полученные результаты; - обнаруженные ошибки; - принятые технические решения; - результаты экспериментов; - планы следующего этапа. Записи не следует удалять. Если решение изменилось, необходимо добавить новую запись и объяснить причину изменения. --- # Запись 001 ## Дата 10 июля 2026 года ## Тема Создание структуры проекта и локального Git-репозитория. ## Выполнено 1. Проверена установленная версия Git: ```text git version 2.51.1.windows.1 ``` --- # Запись 002 ## Дата 27 июля 2026 года ## Тема Завершение Lab028: пакетирование синхронного BASE + ROI. ## Выполнено - Реализован фиксированный бинарный заголовок размером 32 байта. - Добавлены packet CRC32 для заголовка и payload и object CRC32 для полного JPEG. - Исследованы размеры payload 64, 128, 256, 512 и 1024 байта. - Размер payload 512 байт принят как рабочий кандидат. - Окончательный выбор размера пакета перенесён в Lab029. --- # Запись 003 ## Дата 27 июля 2026 года ## Тема Завершение Lab029: моделирование потерь и ошибок видеопакетов. ## Выполнено - Исследованы независимые потери пакетов и независимые битовые ошибки. - Проверены короткие, средние и длинные серии потерь по модели Gilbert–Elliott. - Выполнено сравнение payload 256, 512 и 1024 байта. - Подтверждены packet CRC32, изоляция соседних кадров и атомарная сборка BASE + ROI. - Зафиксировано ограничение пакетной временной шкалы Lab029. - Сравнение помех одинаковой физической длительности перенесено в Lab029B. --- # Запись 004 ## Дата 27 июля 2026 года ## Тема Завершение Lab029B: временная модель серийных потерь. ## Выполнено - Помехи смоделированы на непрерывной временной шкале. - Контрольная скорость передачи установлена равной 300 кбит/с. - Исследованы средние длительности Bad 10, 50, 200 и 1000 мс. - Payload 512 байт выбран для дальнейшей разработки. - Payload 1024 байта оставлен резервным вариантом. - Подтверждено, что без исправления ошибок возможны длительные прерывания видеопотока. --- # Запись 005 ## Дата 29 июля 2026 года ## Тема Завершение Lab030: блочное исправление стираний. ## Выполнено - Реализовано блочное исправление стираний над GF(256). - Проверены режимы без исправления, 8+1, 8+2 и 8+4. - Режим 8+2 выбран основным рабочим режимом. - Режим 8+4 оставлен контрольным. - Подтверждено, что без перемежения продолжительные серии потерь не исправляются. - Следующая лабораторная посвящена перемежению пакетов. --- # Запись 006 ## Дата 29 июля 2026 года ## Тема Завершение Lab031: перемежение блоков исправления ошибок. ## Выполнено - Исследовано перемежение блоков исправления ошибок. - Проверены глубины D=1, 2, 4 и 8. - Подтверждено, что глубокое перемежение повышает задержку сильнее, чем полезность для операторского видеопотока. - D=1 оставлен основным режимом. - D=2 сохранён как резервный вариант. - D=4 и D=8 исключены из основной линии разработки. - Следующая лабораторная подбирает размер блока и количество проверочных пакетов. --- # Запись 007 ## Дата 29 июля 2026 года ## Тема Завершение Lab032: параметры блочного исправления потерянных пакетов. ## Выполнено - Исследованы параметры блочного исправления потерянных пакетов. - Сравнивались режимы без исправления, 4+1, 8+2, 12+3, 6+2, 8+3, 4+2 и 8+4. - Режим 12+3 выбран основным. - Его транспортный поток составляет 226,951 кбит/с. - Запас до контрольных 300 кбит/с составляет 73,049 кбит/с. - Режим 8+4 оставлен усиленным экспериментальным вариантом. - Режим 8+3 не принят из-за отсутствия устойчивого преимущества. - Подтверждено, что продолжительные помехи нельзя компенсировать только увеличением числа проверочных пакетов. - Следующий этап посвящён совместной передаче команд, телеметрии и видео с приоритетным обслуживанием. --- # Запись 008 ## Дата 3 августа 2026 года ## Тема Завершение Lab033: общий пакет канала и приоритетное обслуживание. ## Выполнено - Добавлен общий 32-байтный заголовок канала для команд, телеметрии и видео. - Общая предложенная нагрузка составляет 258,214 кбит/с. - Подтверждено, что FIFO не обеспечивает требуемую задержку команд. - Выбран строгий приоритет с заменой устаревших состояний. - Аварийная команда имеет наивысший приоритет. - Скорость 260 кбит/с практически полностью загружена. - При 230 кбит/с видеоданные накапливаются и устаревают. - Итоговое восстановление всех кадров после освобождения очереди не означает работу видео в реальном времени. - Расчёты и графики выполнены с Matplotlib 3.11.1. - Следующий этап посвящён отбрасыванию устаревших видеокадров. --- # Запись 009 ## Дата 3 августа 2026 года ## Тема Завершение Lab034: реактивное отбрасывание устаревших видеокадров. ## Выполнено - Сравнены непрерывные FEC-блоки и блоки, выровненные по составным кадрам. - Выравнивание увеличивает видеопоток на 5,975 кбит/с, или на 2,633%. - При 300 кбит/с удаление кадров не требуется. - При 260 кбит/с ограничения 1000 и 1500 мс не срабатывают, а ограничение 500 мс уже чрезмерно. - При 230 кбит/с реактивное удаление устаревших кадров уменьшает очередь, но резко снижает частоту обновления. - Ограничение 500 мс оставляет только 3 из 63 кадров. - Ограничение 1500 мс оставляет 27 из 63 кадров. - Подтверждено, что короткая очередь сама по себе не означает свежее изображение. - Текущая реактивная политика не принята. - Следующий этап посвящён упреждающему допуску кадров и обслуживанию видео целыми кадрами. --- # Запись 010 ## Дата 3 августа 2026 года ## Тема Завершение Lab035: упреждающий допуск и обслуживание видео целыми составными кадрами. ## Выполнено - Lab035 исследует упреждающий допуск и обслуживание видео целыми составными кадрами. - Начатый кадр всегда передаётся полностью. - Команды и телеметрия могут передаваться между его пакетами. - Реактивное удаление Lab034 окончательно не принято. - Основная политика — хранение только самого свежего не начатого кадра. - При 230 кбит/с опубликовано 56 из 63 кадров с частотой около 2,6 кадра/с. - Бесполезно переданных видеобайтов нет. - Очередь из двух кадров увеличивает возраст изображения. - Прогноз 1000 мс не дал преимущества над более простой политикой. - Прогноз 500 мс чрезмерно снижает частоту обновления. - Следующая лабораторная проверяет долговременную устойчивость и изменение пропускной способности канала. --- # Запись 011 ## Дата 3 августа 2026 года ## Тема Завершение Lab036: долговременная устойчивость видеопланировщика при изменении пропускной способности. ## Выполнено - Lab036 проверяет видеопланировщик на протяжении 600 секунд. - Расчётный рост очереди без удаления совпал с моделью. - При 230 кбит/с очередь без удаления выросла до 4139 пакетов. - 95-й процентиль возраста изображения достиг 74,6 секунды. - Плавное поступление сильно устаревших кадров непригодно для управления. - Политика хранения только самого свежего не начатого кадра ограничивает очередь. - При 230 кбит/с она обеспечила около 2,615 кадра/с. - После восстановления скорости возраст изображения снизился ниже 500 мс за 0,077 секунды. - Политика двух ожидающих кадров оставлена резервной. - Следующая лабораторная объединяет планировщик с моделью ошибок радиоканала и защитой команд управления.