开源相控阵雷达PLFM_RADAR入门指南:从零开始,15分钟跑通第一次测试 开源相控阵雷达PLFM_RADAR入门指南从零开始15分钟跑通第一次测试【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR第一次打开这个仓库先别急着 clone。PLFM_RADAR代号 AERIS-10是一套 10.5GHz 的开源相控阵雷达PCB 文件、FPGA 逻辑、STM32 固件、Python GUI 全在库里。这篇只教你四件事装哪两个工具、信号链从哪个文件读起、第一个可改的点在哪里、提交前怎么自查。一、读代码之前先回答三个问题这是个什么东西一句话一套完整的相控阵雷达一个仓库里给了两种规格。规格探测距离天线形式Nexus3 km8×16 贴片阵列Extended20 km32×16 介质填充波导槽阵列两版共用同一套主板、频率合成板和软件差别主要在天线以及 Extended 版是否加装 16 块 QPA2962 GaN 功放板每通道 10W。硬件文件走 CERN-OHL-P 许可软件走 MIT。四个目录哪个是你该看的不用通读仓库先认领你所在的阵营做界面 → 9_Firmware/9_3_GUI/当前在维护的是 Tkinter 版GUI_V65_Tk.py和 PyQt6 版GUI_V7_PyQt.py做嵌入式 → 9_Firmware/9_1_Microcontroller/驱动库、主程序、单元测试齐全做数字设计 → 9_Firmware/9_2_FPGA/Verilog RTL 加四十多个 testbench做射频天线 → 4_Schematics and Boards Layout/ 和 5_Simulations/系统性文档在 docs/架构页、硬件上电页、测试报告都是现成的 HTML可以直接当导航页用。这是项目里的真实测试台电源、示波器、信号发生器全接上笔记本跑着上位机。以后读代码卡住时可以对着这张图看探针接在哪信号就从哪过。二、跑通一次15 分钟看到结果只装两个工具Python 端要求 3.12 以上pyproject.toml里写死了建议用 uv 管依赖FPGA 仿真用 Icarus Verilog命令行叫 iverilog仓库的回归脚本就是基于它跑的。git clone https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR cd PLFM_RADAR跑四组测试CI 在 PR 上会跑四个 job你本地提交前也建议全跑一遍顺序从快到慢代码风格加 GUI 测试uv run ruff check .然后 pytest 跑 GUI 的两个测试脚本FPGA 测试回归bash 9_Firmware/9_2_FPGA/run_regression.sh加--quick可跳过耗时的集成项MCU 单元测试cd 9_Firmware/9_1_Microcontroller/tests make clean make跨层契约测试uv run pytest 9_Firmware/tests/cross_layer/test_cross_layer_contract.py四组全绿就说明环境对了。卡住时别急着改代码先看报错的第一行十次里有九次是工具或依赖版本问题。三、看懂信号链从一个 chirp 到一张目标表![开源相控阵雷达系统框图](https://raw.gitcode.com/GitHub_Trending/pl/PLFM_RADAR/raw/749bd0f86a07a28a86347d8ce9c141e601057c40/2_Functional Diagram Interconnection Matrices/RADAR_V6_V2.png?utm_sourcegitcode_repo_files)信号按这个顺序过五站chirp 产生主板 DAC 输出 LFM 调频信号脉冲线性调频频率随时间线性上升靠回波延迟算目标距离。变频与波束LTC5552 混频器上变频到 10.5GHz 发出去4 颗 ADAR1000共 16 通道做电子扫波±45° 内转向每通道的 ADTR1107 兼做低噪放大和发射功放。数字处理XC7A50T FPGA 完成 I/Q 下变频、CIC/FIR 抽取、脉冲压缩、多普勒 FFT、MTI动目标显示滤掉固定杂波和 CFAR恒虚警检测。这是整套开源相控阵雷达 FPGA 实现的核心每一站都有独立文件从ddc_400m.v一直到cfar_ca.v。系统管理STM32F746 管上电时序各路电压按什么顺序开、配置时钟发生器和频率合成器、读 GPS/IMU、控制散热风扇。显示Python GUI 通过 USB 接收结果画出距离-多普勒图和目标列表。跨层修改时谁是事实来源先查radar_system_top.v。贡献规范里明确写了操作码、位宽、复位默认值都以这个文件为准其他层和它对不上改的是其他层。GUI 的实拍界面左边是距离-多普勒图横轴多普勒单元纵轴距离单元右边是带距离、速度、方位角的目标列表。界面上有 Start Demo 按钮没有硬件也能回放示例数据适合第一次熟悉协议格式。四、找到第一个可改的点每个角色都有一条小但完整的起手任务都能走通跑测试 → 修改 → 再跑测试这个闭环。做界面的从v7/目录改起。第一个任务建议给Detected Targets表格加一列比如显示 GPS 高度。先uv run pytest 9_Firmware/9_3_GUI/test_v7.py -v确认基线是绿的再动手改完重跑。做嵌入式的先读tests/目录。那里每类已知 bug 都有一个test_*.c文件名直接写着问题比如test_bug6_timer_variable_collision.c。读这些测试等于在读一份踩坑清单。熟悉了再进 9_1_3_C_Cpp_Code/main.cpp 找主流程然后是ADAR1000_Manager.cpp16 通道相移器的管理核心。做数字设计的先别碰radar_system_top.v。从单模块 testbench 开始打开 tb/挑个小的比如tb_nco_400m.vNCO 是数字正交振荡器产生下变频用的本振正弦。项目约定(posedge clk)之后先加#1延迟再驱动被测模块的输入。做射频天线的阵列方向图仿真是纯 Python不用装重型工具。跑 array_pattern_Kaiser25dB_like.py 得到阵列增益分布波导阵列有更细的 openems_quartz_slotted_wg_10p5GHz.py。这就是上面脚本输出的热图横轴方位角、纵轴俯仰角、颜色是归一化增益黑点是阵元位置。标题里Kaiser ~-25 dB指加窗后旁瓣电平约 -25dB。提交之前六项自检清单贡献规范里有一份推送前清单建议原样照做uv run ruff check .无 lint 错误GUI 的 pytest 全过FPGA 回归五个阶段全过MCU 的make以 0 退出跨层契约测试通过git diff --check无空白问题且 PR 指向develop分支main 只放发布版本另外两条约定Vivado 工程、比特流、构建日志这类生成物不要进仓库放本地的5_Simulations/generated/和9_Firmware/9_2_FPGA/reports/任何环节卡壳先看 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),仅供参考