157 lines
11 KiB
Markdown
157 lines
11 KiB
Markdown
# Указатель лабораторных работ
|
||
|
||
Этот файл показывает, где находятся код, проверки, документы и данные
|
||
лабораторных работ. Он не заменяет отчёты и не дублирует большие IQ-записи.
|
||
Пути к внешним аппаратным данным приведены только там, где они уже зафиксированы
|
||
в документации проекта и существуют на текущем компьютере.
|
||
|
||
## Lab043
|
||
|
||
- **Цель:** воспроизводимый BPSK-канал HackRF -> HackRF с общей опорой,
|
||
независимой кадровой синхронизацией и измерением параметров радиотракта.
|
||
- **Статус:** рабочая точка BPSK и общий опорный генератор подтверждены;
|
||
дополнительные аппаратные ветви использовались для диагностики усиления,
|
||
непрерывности и асимметрии сигнала.
|
||
- **Основной эксперимент:**
|
||
[`experiments/lab043_hackrf_bpsk.py`](../experiments/lab043_hackrf_bpsk.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab043_hackrf_bpsk.py`](../tests/test_lab043_hackrf_bpsk.py).
|
||
Дополнительные проверки находятся в файлах `tests/test_lab043_*.py`.
|
||
- **Документ состояния:**
|
||
[`docs/lab043_current_state.md`](lab043_current_state.md).
|
||
- **Обработанные данные:** каталоги
|
||
[`data/processed/lab043_diagnostics`](../data/processed/lab043_diagnostics),
|
||
[`lab043_hackrf_compare`](../data/processed/lab043_hackrf_compare),
|
||
[`lab043_hackrf_continuity`](../data/processed/lab043_hackrf_continuity),
|
||
[`lab043_hackrf_counter`](../data/processed/lab043_hackrf_counter) и
|
||
[`lab043_hackrf_gain_ladder`](../data/processed/lab043_hackrf_gain_ladder).
|
||
- **Внешние аппаратные данные:**
|
||
`C:\Users\user\Documents\SDR_Rover_Lab043_raw\`.
|
||
- **Журнал:** отдельной записи с темой Lab043 нет. Переход к Lab043 указан в
|
||
записи 020, а подтверждённая рабочая точка Lab043 используется и упоминается
|
||
в записях 021-024
|
||
([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab044
|
||
|
||
- **Цель:** передача произвольного протокольного пакета через реальный
|
||
BPSK-канал HackRF с независимым решением CRC.
|
||
- **Статус:** один аппаратный запуск, `RESULT C`; преамбула и PHY sync
|
||
восстановлены, пакет не дошёл до проверки CRC.
|
||
- **Основной эксперимент:**
|
||
[`experiments/lab044_hackrf_bpsk_packet.py`](../experiments/lab044_hackrf_bpsk_packet.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab044_hackrf_bpsk_packet.py`](../tests/test_lab044_hackrf_bpsk_packet.py).
|
||
- **Документ состояния:**
|
||
[`docs/lab044_current_state.md`](lab044_current_state.md).
|
||
- **Обработанные данные:** отдельные результаты не сохранялись; каталог
|
||
[`data/processed/lab044`](../data/processed/lab044) содержит только
|
||
навигационный README.
|
||
- **Внешние аппаратные данные:**
|
||
`C:\Users\user\Documents\SDR_Rover_Lab044_raw\20260831_140142_bpsk_packet\`.
|
||
- **Журнал:** подготовка в записи 021, аппаратный результат в записи 022
|
||
([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab045
|
||
|
||
- **Цель:** защищённый BPSK-кадр со свёрточным FEC R=1/2, K=7, перемежением,
|
||
мягким декодером Витерби, защищённым PHY-заголовком и CRC.
|
||
- **Статус:** аппаратный `RESULT A`; исправление реальных ошибок FEC доказано,
|
||
CRC пройден, полезная нагрузка восстановлена без ошибок.
|
||
- **Основной эксперимент:**
|
||
[`experiments/lab045_hackrf_bpsk_fec.py`](../experiments/lab045_hackrf_bpsk_fec.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab045_hackrf_bpsk_fec.py`](../tests/test_lab045_hackrf_bpsk_fec.py).
|
||
- **Документ состояния:**
|
||
[`docs/lab045_current_state.md`](lab045_current_state.md).
|
||
- **Обработанные данные:** отдельные результаты не сохранялись; каталог
|
||
[`data/processed/lab045`](../data/processed/lab045) содержит только
|
||
навигационный README.
|
||
- **Внешние аппаратные данные:**
|
||
`C:\Users\user\Documents\SDR_Rover_Lab045_raw\20260901_103434_bpsk_fec\`.
|
||
- **Журнал:** программная подготовка в записи 023, аппаратный результат в
|
||
записи 024 ([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab046
|
||
|
||
- **Цель:** фрагментация произвольного бинарного объекта, передача его
|
||
несколькими независимо защищёнными кадрами Lab045 и аварийно-безопасная
|
||
сборка объекта.
|
||
- **Статус:** программная проверка завершена успешно; RF не запускался.
|
||
- **Основной эксперимент:**
|
||
[`experiments/lab046_bpsk_object_transport.py`](../experiments/lab046_bpsk_object_transport.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab046_bpsk_object_transport.py`](../tests/test_lab046_bpsk_object_transport.py).
|
||
- **Документ состояния:**
|
||
[`docs/lab046_current_state.md`](lab046_current_state.md).
|
||
- **Обработанные данные:** отдельного каталога в `data/processed` нет.
|
||
- **Внешние аппаратные данные:** отсутствуют, поскольку этап программный.
|
||
- **Журнал:** запись 025 ([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab046A
|
||
|
||
- **Цель:** независимый поиск и приём нескольких кадров объекта в одном
|
||
непрерывном нормированном потоке мягких BPSK-значений.
|
||
- **Статус:** программная проверка завершена успешно; работа с IQ и
|
||
аппаратная проверка на этом этапе не выполнялись.
|
||
- **Основной эксперимент:** отдельного `lab046a_*.py` нет; реализация находится
|
||
в [`experiments/lab046_bpsk_object_transport.py`](../experiments/lab046_bpsk_object_transport.py).
|
||
- **Основные проверки:** отдельного `test_lab046a_*.py` нет; сценарии находятся
|
||
в [`tests/test_lab046_bpsk_object_transport.py`](../tests/test_lab046_bpsk_object_transport.py).
|
||
- **Документ состояния:**
|
||
[`docs/lab046_current_state.md`](lab046_current_state.md).
|
||
- **Обработанные данные:** отдельного каталога в `data/processed` нет.
|
||
- **Внешние аппаратные данные:** отсутствуют, поскольку этап программный.
|
||
- **Журнал:** запись 026 ([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab046B
|
||
|
||
- **Цель:** поиск и приём нескольких полных кадров Lab045 в одном непрерывном
|
||
сыром IQ-потоке без использования границ кадров передатчика.
|
||
- **Статус:** программная проверка завершена успешно; RF не запускался.
|
||
- **Основной эксперимент:**
|
||
[`experiments/lab046b_continuous_iq.py`](../experiments/lab046b_continuous_iq.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab046b_continuous_iq.py`](../tests/test_lab046b_continuous_iq.py).
|
||
- **Документ состояния:**
|
||
[`docs/lab046_current_state.md`](lab046_current_state.md).
|
||
- **Обработанные данные:** отдельного каталога в `data/processed` нет.
|
||
- **Внешние аппаратные данные:** отсутствуют, поскольку этап программный.
|
||
- **Журнал:** запись 027 ([`PROJECT_LOG.md`](../PROJECT_LOG.md)).
|
||
|
||
## Lab046C
|
||
|
||
- **Цель:** непрерывная аппаратная передача объекта 16 КиБ последовательностью
|
||
защищённых BPSK-кадров и независимое восстановление объекта из IQ-записи.
|
||
- **Статус:** полный аппаратный результат на 1400 МГц равен `RESULT A`:
|
||
принято 68/68 кадров, объект восстановлен без ошибок. Первый полный опыт на
|
||
1080 МГц сохраняется отдельно как исторический `RESULT C`.
|
||
- **Основной аппаратный эксперимент:**
|
||
[`experiments/lab046c_hackrf_bpsk_object.py`](../experiments/lab046c_hackrf_bpsk_object.py).
|
||
- **Автономная обработка сохранённых записей:**
|
||
[`experiments/lab046c_offline_recovery.py`](../experiments/lab046c_offline_recovery.py).
|
||
- **Основные проверки:**
|
||
[`tests/test_lab046c_hackrf_bpsk_object.py`](../tests/test_lab046c_hackrf_bpsk_object.py)
|
||
и
|
||
[`tests/test_lab046c_offline_recovery.py`](../tests/test_lab046c_offline_recovery.py).
|
||
- **Документы состояния:**
|
||
[`docs/lab046_current_state.md`](lab046_current_state.md) и отдельный отчёт
|
||
о короткой записи 1400 МГц
|
||
[`docs/lab046c_1400mhz_offline_reprocessing.md`](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`](../PROJECT_LOG.md)).
|
||
|
||
## Правило хранения данных
|
||
|
||
Большие записи IQ, потоки `cs8`, бинарные объекты и другие аппаратные исходные
|
||
данные остаются во внешних каталогах. В `data/processed` хранятся только
|
||
небольшие обработанные результаты или навигационные README. Пустые и
|
||
фиктивные файлы результатов не создаются.
|