85 lines
5.8 KiB
Markdown
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-пакеты |
|