# 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-пакеты |