Files
radar_system/README.md
T
2026-10-16 18:35:02 +03:00

85 lines
5.8 KiB
Markdown

# Radar System
Программа радиолокационной системы. Она управляет радаром, снимает развёртки
коэффициента передачи S21 по всем парам антенн, калибрует их, строит изображения сцены
и показывает их в окне программы и в браузере. Найденные объекты она отдаёт внешним
программам по TCP. Программа работает на рабочей станции с экраном и на Raspberry Pi 5
без оператора.
Радары, с которыми она работает:
| Радар | Что это |
| --- | --- |
| одиночный LibreVNA | один векторный анализатор цепей и ВЧ-ключи на антеннах |
| многоприборная схема | три синхронных LibreVNA; с контроллером ключей — матрица 4 × 4 пар за одну развёртку |
| радиофотонный радар | СВЧ-сигнал формируют лазеры, данные оцифровывает АЦП L-Card E-502 или плата RFG |
| симулятор | работа без железа: один движущийся точечный отражатель |
Режимы обработки: pass-through (S21 по частоте), B-scan (дальность во времени), GPR
(карта земли перед радаром с поиском объектов), 3D SAR (трёхмерное изображение на
видеокарте NVIDIA).
## Быстрый старт без железа
```sh
./start.sh
```
`start.sh` создаёт окружение Python, ставит пакеты и собирает C++. Корневой профиль
`run_config.json` — симулятор. В окне нажмите **Preprocessing…** →
**Create Neutral S21 Sets**, затем **Start** и выберите режим в списке **Mode**.
Установка, запуск с железом и служба для работы без экрана — в главе
[Установка и запуск](docs/installation.md).
## Документация
Для работы с радаром:
1. [Как работает радар](docs/principles.md) — физика измерения и обработки для тех,
кто не работал с векторными анализаторами и радарами.
2. [Оборудование](docs/hardware.md) — приборы, подключение, прошивки.
3. [Установка и запуск](docs/installation.md) — установка, `start.sh`, служба,
обновление с флешки.
4. [Типовые сценарии](docs/workflow.md) — порядок действий от подготовки до
сохранения данных.
5. [Окно программы](docs/desktop.md) — каждая кнопка, поле и сообщение окна.
6. [Режимы обработки](docs/processing.md) — что показывает каждый режим и что делает
каждая его настройка.
7. [Калибровка и предобработка](docs/preprocessing.md) — наборы, съём, калибровка по
объекту.
8. [Веб-интерфейс, кнопка и локатор](docs/web.md) — управление по сети, GPIO-кнопка,
протокол локатора, работа без экрана.
9. [Файл конфигурации](docs/configuration.md) — каждый ключ профиля.
10. [Данные на диске](docs/data.md) — форматы наборов, снимков, журналов.
11. [Неполадки](docs/troubleshooting.md) — признак, причина, что делать.
12. [Словарь](docs/glossary.md).
Для разработки:
- [Устройство программы](docs/architecture.md) — процессы, кольца, кадры, состав кода,
где что править.
- [Разработка](docs/development.md) — сборка, тесты, эталоны, правила.
- [Протокол LibreVNA и кадры колец](device_firmware/librevna_protocol.md),
[переключение стимула](device_firmware/per_point_switching.md),
[контроллер ключей](device_firmware/switch_controller/README.md),
[сборка прошивок](device_firmware/multi_libreVNA_firmware/reproduce/README.md),
[протокол пульта тележки](device_firmware/cart_firmware/docs/protocol.md),
[коллектор E-502](data_acq_and_processing/rph_radar_collector/README.md).
## Состав репозитория
| Каталог | Что |
| --- | --- |
| `python_app/` | окно программы, драйверы приборов, веб-интерфейс, хранение данных, тесты |
| `data_acq_and_processing/` | C++: препроцессор, процессор с режимами обработки и локатором, коллектор E-502, тесты |
| `run_config_examples/` | профили под каждое железо |
| `run_configs/` | профили для загрузки из веб-интерфейса |
| `deploy/` | служба systemd и обновление с флешки |
| `device_firmware/` | прошивки LibreVNA, контроллера ключей и пульта тележки |
| `docs/` | документация |
| `start.sh` | запуск: окружение Python, сборка, программа |
| `run_config.json` | профиль по умолчанию — симулятор |
| `Makefile` | сборка и тесты C++ |
| `requirements.txt` | Python-пакеты |