15 KiB
15 KiB
Указатель лабораторных работ
Этот файл показывает, где находятся код, проверки, документы и данные лабораторных работ. Он не заменяет отчёты и не дублирует большие IQ-записи. Пути к внешним аппаратным данным приведены только там, где они уже зафиксированы в документации проекта и существуют на текущем компьютере.
Lab043
- Цель: воспроизводимый BPSK-канал HackRF -> HackRF с общей опорой, независимой кадровой синхронизацией и измерением параметров радиотракта.
- Статус: рабочая точка BPSK и общий опорный генератор подтверждены; дополнительные аппаратные ветви использовались для диагностики усиления, непрерывности и асимметрии сигнала.
- Основной эксперимент:
experiments/lab043_hackrf_bpsk.py. - Основные проверки:
tests/test_lab043_hackrf_bpsk.py. Дополнительные проверки находятся в файлахtests/test_lab043_*.py. - Документ состояния:
docs/lab043_current_state.md. - Обработанные данные: каталоги
data/processed/lab043_diagnostics,lab043_hackrf_compare,lab043_hackrf_continuity,lab043_hackrf_counterиlab043_hackrf_gain_ladder. - Внешние аппаратные данные:
C:\Users\user\Documents\SDR_Rover_Lab043_raw\. - Журнал: отдельной записи с темой Lab043 нет. Переход к Lab043 указан в
записи 020, а подтверждённая рабочая точка Lab043 используется и упоминается
в записях 021-024
(
PROJECT_LOG.md).
Lab044
- Цель: передача произвольного протокольного пакета через реальный BPSK-канал HackRF с независимым решением CRC.
- Статус: один аппаратный запуск,
RESULT C; преамбула и PHY sync восстановлены, пакет не дошёл до проверки CRC. - Основной эксперимент:
experiments/lab044_hackrf_bpsk_packet.py. - Основные проверки:
tests/test_lab044_hackrf_bpsk_packet.py. - Документ состояния:
docs/lab044_current_state.md. - Обработанные данные: отдельные результаты не сохранялись; каталог
data/processed/lab044содержит только навигационный README. - Внешние аппаратные данные:
C:\Users\user\Documents\SDR_Rover_Lab044_raw\20260831_140142_bpsk_packet\. - Журнал: подготовка в записи 021, аппаратный результат в записи 022
(
PROJECT_LOG.md).
Lab045
- Цель: защищённый BPSK-кадр со свёрточным FEC R=1/2, K=7, перемежением, мягким декодером Витерби, защищённым PHY-заголовком и CRC.
- Статус: аппаратный
RESULT A; исправление реальных ошибок FEC доказано, CRC пройден, полезная нагрузка восстановлена без ошибок. - Основной эксперимент:
experiments/lab045_hackrf_bpsk_fec.py. - Основные проверки:
tests/test_lab045_hackrf_bpsk_fec.py. - Документ состояния:
docs/lab045_current_state.md. - Обработанные данные: отдельные результаты не сохранялись; каталог
data/processed/lab045содержит только навигационный README. - Внешние аппаратные данные:
C:\Users\user\Documents\SDR_Rover_Lab045_raw\20260901_103434_bpsk_fec\. - Журнал: программная подготовка в записи 023, аппаратный результат в
записи 024 (
PROJECT_LOG.md).
Lab046
- Цель: фрагментация произвольного бинарного объекта, передача его несколькими независимо защищёнными кадрами Lab045 и аварийно-безопасная сборка объекта.
- Статус: программная проверка завершена успешно; RF не запускался.
- Основной эксперимент:
experiments/lab046_bpsk_object_transport.py. - Основные проверки:
tests/test_lab046_bpsk_object_transport.py. - Документ состояния:
docs/lab046_current_state.md. - Обработанные данные: отдельного каталога в
data/processedнет. - Внешние аппаратные данные: отсутствуют, поскольку этап программный.
- Журнал: запись 025 (
PROJECT_LOG.md).
Lab046A
- Цель: независимый поиск и приём нескольких кадров объекта в одном непрерывном нормированном потоке мягких BPSK-значений.
- Статус: программная проверка завершена успешно; работа с IQ и аппаратная проверка на этом этапе не выполнялись.
- Основной эксперимент: отдельного
lab046a_*.pyнет; реализация находится вexperiments/lab046_bpsk_object_transport.py. - Основные проверки: отдельного
test_lab046a_*.pyнет; сценарии находятся вtests/test_lab046_bpsk_object_transport.py. - Документ состояния:
docs/lab046_current_state.md. - Обработанные данные: отдельного каталога в
data/processedнет. - Внешние аппаратные данные: отсутствуют, поскольку этап программный.
- Журнал: запись 026 (
PROJECT_LOG.md).
Lab046B
- Цель: поиск и приём нескольких полных кадров Lab045 в одном непрерывном сыром IQ-потоке без использования границ кадров передатчика.
- Статус: программная проверка завершена успешно; RF не запускался.
- Основной эксперимент:
experiments/lab046b_continuous_iq.py. - Основные проверки:
tests/test_lab046b_continuous_iq.py. - Документ состояния:
docs/lab046_current_state.md. - Обработанные данные: отдельного каталога в
data/processedнет. - Внешние аппаратные данные: отсутствуют, поскольку этап программный.
- Журнал: запись 027 (
PROJECT_LOG.md).
Lab046C
- Цель: непрерывная аппаратная передача объекта 16 КиБ последовательностью защищённых BPSK-кадров и независимое восстановление объекта из IQ-записи.
- Статус: полный аппаратный результат на 1400 МГц равен
RESULT A: принято 68/68 кадров, объект восстановлен без ошибок. Первый полный опыт на 1080 МГц сохраняется отдельно как историческийRESULT C. - Основной аппаратный эксперимент:
experiments/lab046c_hackrf_bpsk_object.py. - Автономная обработка сохранённых записей:
experiments/lab046c_offline_recovery.py. - Основные проверки:
tests/test_lab046c_hackrf_bpsk_object.pyиtests/test_lab046c_offline_recovery.py. - Документы состояния:
docs/lab046_current_state.mdи отдельный отчёт о короткой записи 1400 МГцdocs/lab046c_1400mhz_offline_reprocessing.md. - Обработанные данные: локально присутствуют каталоги
data/processed/lab046c_offline_recoveryиdata/processed/lab046c_1400mhz_offline; в текущем состоянии Git их файлы не отслеживаются. - Внешние аппаратные данные:
C:\Users\user\Documents\SDR_Rover_Lab046_raw\20260901_145339_bpsk_object\,C:\Users\user\Documents\SDR_Rover_RF_Check\20260901_172749_1400MHz\иC:\Users\user\Documents\SDR_Rover_Lab046_raw\20260902_151819_1400MHz_full\. - Журнал: записи 028-032 (
PROJECT_LOG.md).
Lab047
- Цель: передача настоящего JPEG как обычного двоичного объекта через уже проверенный транспорт Lab046 и восстановление файла с проверкой SHA-256 и декодирования изображения.
- Статус: завершена успешно. В одном непрерывном аппаратном сеансе при
1400 МГц передан настоящий JPEG: 36/36 кадров, 19 ошибок кодированных бит до
FEC, 0 ошибок после FEC, CRC PASS/FAIL 36/0. Объект собран полностью,
SHA-256 совпал, Pillow декодирует JPEG RGB 320 x 240, ошибок байтов и битов
нет.
REAL RF JPEG TRANSPORT = PASS. - Основной эксперимент:
experiments/lab047_jpeg_object_transport.py. - Основные проверки:
tests/test_lab047_jpeg_object_transport.py. - Документ состояния:
docs/lab047_current_state.md. - Обработанные данные: малые демонстрационные JPEG и отчёты находятся в
data/processed/lab047. Большие потокиcs8и сырые IQ там не хранятся. - Внешние аппаратные данные: исходная RX-запись и результаты находятся в
C:\Users\user\Documents\SDR_Rover_Lab047_raw\20260903_115747; большие потокиcs8и сырые IQ в Git не добавляются. - История приёма: первоначальная обработка остановилась до PHY/FEC/CRC по
MAX_CANDIDATES_REACHED. После исправления последовательной обработки один полный автономный анализ исходной записи восстановил JPEG точно; порог0.030964473262429237не менялся, второй RF-сеанс не выполнялся. - Журнал: записи 033-034 (
PROJECT_LOG.md).
Lab048
- Цель: профилирование и ускорение доказанного автономного BPSK-приёмника без изменения детектора, PHY, FEC, CRC и порога.
- Статус: завершена успешно только на сохранённой RX-записи Lab047;
обработка ускорена с 37,423910 до 13,966058 с, в 2,679633 раза. Для 15,0 с
эфира отношение времени обработки равно 0,931071:
REAL-TIME CAPABLE = YES. - Результат: сохранены 36/36 кадров, FEC PASS 36/36, CRC PASS/FAIL 36/0,
полный JPEG, точный SHA-256, 0 ошибочных байтов и битов. Порог
0.030964473262429237не изменён. - Ограничение: приблизительный пик памяти остаётся около 1,44 ГиБ из-за 16-миллионного блока грубого поиска; запас реального времени около 1,03 с.
- Основной эксперимент:
experiments/lab048_receiver_performance.py. - Проверки:
tests/test_lab048_receiver_performance.py. - Документ состояния:
docs/lab048_current_state.md. - Обработанные данные: машинный результат и восстановленный JPEG находятся
в
data/processed/lab048. - RF: новый радиосеанс не выполнялся,
RF TX = 0. - Журнал: запись 035 (
PROJECT_LOG.md).
Правило хранения данных
Большие записи IQ, потоки cs8, бинарные объекты и другие аппаратные исходные
данные остаются во внешних каталогах. В data/processed хранятся только
небольшие обработанные результаты или навигационные README. Пустые и
фиктивные файлы результатов не создаются.