Lab042 — передача JPEG через кабельную петлю на одном PlutoSDR

Режим прогона
- Канал: cable.
- Трасса: кабель через аттенюатор 30 дБ.
- Несущая 435.000 МГц, одинаковая на передачу и приём. Сигнал в эфир не выходит, поэтому её значение произвольно.
- Усиление передатчика -10.0 дБ, приёмника 20.0 дБ, режим ручной.
- Антенны не подключались: они создали бы путь распространения параллельно кабельному.

Параметры тракта
- Символьная скорость 20000 симв/с, отсчётов на символ 128.
- Частота дискретизации 2560000 Гц. Минимум устройства 2083333 Гц.
- Скругление 0.35, длина фильтра 10 символов, защитный интервал 16 символов.
- Значения перенесены из Lab018 без изменений, кроме передискретизации: она поднята с 32 до 128,
  потому что частота 640 000 Гц из Lab018 ниже предела устройства втрое.

Передаваемое изображение
- Источник data/raw/lab011_scene.jpg, 320x180, качество 30.
- Размер JPEG 4756 байт.
- Фрагментов 10 по 512 байт данных.
- Пакет протокола от 172 до 536 байт, радиокадр от 1472 до 4384 бит.
- Последний фрагмент изображения короче остальных, поэтому его кадр меньше. Размер каждого кадра приведён в lab042_frames.csv.
- Всего передано 5292544 отсчётов, что соответствует 2.067 с эфира.

Результат приёма
- Кадров найдено 10 из 10.
- Кадров с несошедшейся CRC32: 0.
- Фрагментов восстановлено 10, доля 100.000%.
- Изображение собрано: да.
- Совпадает с переданным побайтово: да.
- Размер принятого изображения 4756 байт.

Качество сигнала
- Средняя нормированная корреляция при поиске кадра 0.99879.
- Средняя оценка ухода несущей 0.029 Гц.
- Средняя величина вектора ошибки 19.302%.

Скорость
- Длительность сигнала в эфире 2.067 с.
- Канальная скорость 18.404 кбит/с — полезные байты, делённые на время эфира.
- Полное время работы программы 16.648 с, что даёт 2.285 кбит/с.
- В программном режиме вторая величина отражает быстродействие вычислений, а не пропускную способность канала.

Кадры
номер | корреляция | фаза | уход несущей, Гц | достоверность оценки | вектор ошибки, % | найден | заголовок | CRC32 | фрагмент
0 | 0.99916 | 19 | -0.140 | 0.99979 | 34.009 | да | да | да | да
1 | 0.99863 | 51 | -0.670 | 0.99925 | 19.628 | да | да | да | да
2 | 0.99885 | 75 | 0.167 | 0.99971 | 16.392 | да | да | да | да
3 | 0.99846 | 69 | 0.125 | 0.99940 | 18.678 | да | да | да | да
4 | 0.99862 | 37 | 0.522 | 0.99964 | 15.292 | да | да | да | да
5 | 0.99884 | 32 | -0.194 | 0.99952 | 17.687 | да | да | да | да
6 | 0.99939 | 51 | 0.359 | 0.99973 | 14.424 | да | да | да | да
7 | 0.99863 | 75 | 0.294 | 0.99967 | 17.830 | да | да | да | да
8 | 0.99886 | 69 | -0.749 | 0.99955 | 15.854 | да | да | да | да
9 | 0.99846 | 60 | 0.575 | 0.99925 | 23.224 | да | да | да | да

Функциональные проверки
- ПРОЙДЕНО — 01. Размер подготовленного JPEG: JPEG занимает 4756 байт при пределе 5000, качество 30
- ПРОЙДЕНО — 02. Разбиение и сборка изображения: 10 фрагментов собираются в исходные байты
- ПРОЙДЕНО — 03. Кадр несёт пакет с CRC32: все 10 кадров несут пакет с сошедшейся CRC32
- ПРОЙДЕНО — 04. Длина сформированного кадра: кадр занимает 566528 отсчётов, что совпадает с расчётом
- ПРОЙДЕНО — 05. Масштабирование в целые отсчёты: пиковая амплитуда 1601 не превышает предела 16384
- ПРОЙДЕНО — 06. Программная петля восстанавливает изображение: программная петля вернула 4756 байт, идентичных исходным
- ПРОЙДЕНО — 07. Обнаружение искажённого кадра: одиночная битовая ошибка в данных кадра обнаружена контрольной суммой
- ПРОЙДЕНО — 08. Потеря фрагмента: потеря фрагмента не портит остальные, сборка требует всех
- ПРОЙДЕНО — 09. Достижимость частоты дискретизации: 2560000 Гц не ниже предела устройства 2083333 Гц
- ПРОЙДЕНО — 10. Настройки устройства в пределах: усиления, полоса 200000 Гц и несущая 435000000 Гц внутри допустимых пределов, сигнал занимает 27000 Гц
- ПРОЙДЕНО — 11. Потолок усиления в эфирном режиме: предел зависит от расстояния: -19.5 дБ на 5 см против 6.0 дБ на 200 см

Ограничения
- Передатчик и приёмник принадлежат одному устройству и работают от общего опорного
  генератора, поэтому уход несущей между ними мал и не характеризует реальную линию.
- Повторная передача потерянных фрагментов не выполняется: потери фиксируются, но не восстанавливаются.
- Исправление стираний не подключалось.
- Разведение на два устройства и выход в эфир — предмет Lab043 и Lab044.

Созданные файлы
- data/processed/lab042/lab042_received.jpg
- data/processed/lab042/lab042_summary.csv
- data/processed/lab042/lab042_frames.csv
- data/processed/lab042/lab042_report.txt
- data/processed/lab042/lab042_constellation.png
- data/processed/lab042/lab042_spectrum.png
- data/processed/lab042/lab042_frame_correlation.png
- data/processed/lab042/lab042_fragment_delivery.png
