10.5GHz开源相控阵雷达PLFM_RADAR:从clone到第一个PR的3条路径完整教程
【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR
为什么参与这个开源相控阵雷达
想验证一套波束成形或脉冲压缩算法,又不想花几万元买一台成品雷达,这个仓库是个低成本入口。PLFM_RADAR(项目代号 AERIS-10)是一台开源的 10.5GHz PLFM(脉冲线性调频,即发射频率随时间线性上升的 chirp 脉冲)相控阵雷达,原理图、FPGA 固件、微控制器固件和 Python GUI 都在仓库里。
没有实验台也能先仿真验证:仓库自带回归测试套件和文档站,clone 下来先跑测试、读信号链,再决定从哪处下手。
它是什么,它不是什么
- 它是能真实组装的雷达系统:KiCad 原理图、Gerber 生产文件和 BOM 都在 4_Schematics\ and\ Boards\ Layout/,硬件设计采用 CERN-OHL-P 硬件许可。
- 它不是纯软件模拟器:脉冲压缩、多普勒 FFT 等主信号处理跑在 XC7A50T FPGA(可现场编程的逻辑芯片)上,Python 侧负责界面和测试工具。
- 它不是买回来就能用的成品:硬件需要自行组装,GUI 的实数据模式要 USB 连接实物板卡。
- 它有两个硬件版本:Nexus 用 8×16 贴片天线、探测距离 3km;Extended 用 32×16 介质填充波导槽天线、20km,两者共用同一套软件栈。
最小上手路径:从clone到跑通的5步
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR - 同步依赖。uv 是快速 Python 包管理器,项目要求 Python 3.12 以上,uv 会自动安装对应版本:
cd PLFM_RADAR && uv sync - 跑一遍全局代码检查:
uv run ruff check .,无输出即通过。 - 启动 GUI(无硬件时默认 mock 模式,生成合成雷达数据运行):
cd 9_Firmware/9_3_GUI && uv run python GUI_V65_Tk.py - 跑通的标志:窗口弹出,距离-多普勒热图开始刷新合成目标,目标表出现条目。环境就绪,下面三个方向都可在本机完成。
按"你想做什么"分块
改界面与可视化:GUI从哪改
入口有两个:GUI_V65_Tk.py(Tkinter 版)和新 PyQt6 版的 v7/dashboard.py。 界面包含距离-多普勒热图、瀑布图和目标表几类视图,改动都围绕这条数据流。 改完跑:uv run pytest 9_Firmware/9_3_GUI/test_GUI_V65_Tk.py test_v7.py -v,全过即没改坏。
调参数与跑仿真:一条脚本看辐射图
阵因子仿真入口是 array_pattern_Kaiser25dB_like.py,改 Kaiser 窗的 beta 参数即可直接改变旁瓣电平,输出 E/H 面切线和下图这样的热图。 想改发射 chirp 波形,用 Generate_ChirpcsvFile.py,它输出 DAC 采样 CSV,可在 GUI 的 replay 模式中回放。
PLFM_RADAR开源相控阵雷达阵面辐射图仿真热图
改底层逻辑与算法:先跑哪些测试
FPGA 顶层 radar_system_top.v 是项目对操作码、位宽和复位默认值的唯一事实来源,改完执行:cd 9_Firmware/9_2_FPGA && bash run_regression.sh,各阶段全过才算验证完成。 STM32 固件在 9_Firmware/9_1_Microcontroller/tests/ 下有主机端单元测试,make clean && make跑全套,无需硬件。 跨层改动再跑uv run pytest 9_Firmware/tests/cross_layer/test_cross_layer_contract.py -v,守住各层协议一致。
新手最常踩的 3 个坑
- 进目录时命令报"No such file or directory"→
4_Schematics and Boards Layout这类顶层目录名含空格,shell 会把路径拆开 → 路径用双引号包住或反斜杠转义。 uv sync或测试报 Python 版本错误→ pyproject.toml 声明了requires-python = ">=3.12",系统 Python 3.10 必挂 → 先执行uv python install 3.12让 uv 管理版本。run_regression.sh报找不到 iverilog→ FPGA 回归靠 iverilog(开源 Verilog 模拟器)编译执行,项目不附带它 → 先用系统包管理器安装再重跑。
第一个 PR 的 Checklist
- fork 仓库,从
develop分支切出功能分支(main 只用于发布) - 完成修改,bitstream、构建日志等生成产物不进仓库
uv run ruff check .无 lint 问题- 四套测试(GUI pytest、FPGA 回归、MCU make、跨层 pytest)全部通过
git diff --check无空白符问题- 向
develop提交 PR 并关联对应 Issue - PR 描述写清"改了什么 + 本地测试结果"
延伸阅读
- CONTRIBUTING.md — 看完能写合规分支,并知道提交前要跑哪几套测试
- docs/architecture.html — 看完能画出从 chirp 生成、波束成形到目标检测的完整信号链
- docs/bring-up.html — 看完知道组装好的硬件如何上电调试
【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考