AERIS-10 开源 10.5 GHz 相控阵雷达上手:从零基础 GUI 演示到复现 Range-Doppler 画面
【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR
在界面上按下 Start Demo 键,PLFM_RADAR 仓库里的 AERIS-10——一台 10.5 GHz 开源相控阵雷达——的 Range-Doppler 图开始刷新:右侧列表逐条填入目标,每行带 Track ID、距离、速度、方位角,顶部一行实时显示 GPS 坐标与俯仰角。全程没有天线,没有射频设备,只有一台装好 Python 的笔记本。
图:AERIS-10 相控阵雷达 Python GUI 主界面——演示模式下,左侧为实时刷新的 Range-Doppler 图,右侧表格给出每个目标的 Track ID、距离、速度与方位角
AERIS-10 相控阵雷达两个版本的关键参数对比
先说结论:你要上手或复现这套相控阵雷达,只需要决定探测距离需求——3 km 还是 20 km——版本就定下来了。README 只列了两个变体,差异集中在三项:
| 参数 | AERIS-10N(Nexus,近距) | AERIS-10X(Extended,远距) |
|---|---|---|
| 最大探测距离 | 3 km | 20 km |
| 天线阵列 | 8×16 贴片阵列 | 32×16 介质填充开槽波导阵列 |
| 单通道发射功率 | 约 1W × 16 路 | 10W(QPA2962 GaN)× 16 路 |
两版共用 10.5 GHz 工作频率、±45° 电扫加 360° 步进电机机械旋转、XC7A50T FPGA + STM32F746 处理平台;10W GaN 功放板(16 块)只有 Extended 版才用。
仓库里的对应材料:
- 原理图与 PCB 布局(主板、电源板、频率合成板、功放板、两套天线阵列):4_Schematics and Boards Layout/4_6_Schematics/
- 生产文件(每块板的 Gerber、BOM、CPL 贴片坐标):4_Schematics and Boards Layout/4_7_Production Files/
- STM32 固件与主机侧单元测试:9_Firmware/9_1_Microcontroller/
- FPGA Verilog RTL、testbench、形式化验证:9_Firmware/9_2_FPGA/
- Python GUI(Tk 与 PyQt6 两套):9_Firmware/9_3_GUI/
- 天线与射频仿真脚本(NumPy/Matlab/openEMS):5_Simulations/
- 文档站(架构、bring-up 上电指南、测试报告):docs/
这套开源相控阵雷达适合谁:三个落地场景
📡 先给动机,再讲机制。三个场景都标了前置条件,按你手上的东西对号入座。
- 小型移动平台的近距探测原型:主体是 AERIS-10N,每通道约 1W、3 km 探测距离,±45° 电扫覆盖前方大扇区,步进电机再补 360° 旋转,适合避障/监视类原型;前置条件是能完成多层板焊接与调试——README 也把 PCB assembly experience 列为硬件构建前提。
- 新雷达算法的回归验证平台:前置条件是会读 Verilog。FPGA 全链路(DDC、脉冲压缩、多普勒、MTI、CFAR)都有 testbench,tb/cosim/real_data/hex/ 提交了 49 个真实数据文件(ADC 采集、各级参考结果),改完 RTL 直接拿实测数据回放比对。
- "检测算法最小工程"教学案例:cfar_ca.v 一个模块 + 704 行 testbench + formal/ 形式化验证文件,构成自洽单元;CONTRIBUTING.md 里的对抗性测试要求可以直接搬进课程作业。
图:AERIS-10 10.5 GHz 相控阵雷达真实测试台架——左侧为电源、示波器等测试仪器,桌面是待测板卡,右侧笔记本显示调试时输出的阵列方向图热力图
一段 chirp 的完整链路:从 DAC 到屏幕上的目标点
先说结论:你只需要记住一句话——下面这张图的左半是发射链,右半是接收链,中间的 STM32 只管"开机与配置",不碰射频。
图:AERIS-10 相控阵雷达系统功能框图——发射链为 AD9708→LTC5552→ADAR1000→32×16 波导阵列,接收链经 AD9484 回到 FPGA,底部为 AD9523 时钟与 STM32F746 管理部分
发射端:FPGA 驱动 DAC(AD9708)输出一段线性调频(LFM)chirp——频率随时间匀速爬升的脉冲,回波延迟造成的频率偏移直接对应目标距离,测距能力从这里来。基带 chirp 被第一只 LTC5552 混频上变频到 10.5 GHz,经射频开关后进入 4 颗 ADAR1000 四通道移相器(共 16 路):每路移多少度,主瓣就指向哪个方向,天线不转也能"转"波束,这就是电扫。最后 16 颗 ADTR1107 前端芯片放大(Extended 版再经 16 块 QPA2962 GaN 功放板),从阵列辐射出去——Extended 版走 32×16 波导阵,Nexus 版走 8×16 贴片阵。
接收端:回波先由 ADTR1107 以低噪放大身份放大,第二只 LTC5552 把它搬回中频,AD9484 完成数字化。重活全在 FPGA 里:I/Q 基带下变频、CIC/FIR 抽取滤波,然后脉冲压缩——把被拉长的微弱回波"捏"回尖峰,距离分辨率就是这一步提上来的——再做多普勒 FFT,MTI 滤掉静止地物杂波,CFAR 判定哪些单元是真目标。目标列表经 USB 送出,由 Python GUI 画成 Range-Doppler 图。
旁路的 STM32:它的职责清单很长,但没有一项碰射频——各电源轨上电时序、AD9523-1 时钟分发、两颗 ADF4382 锁相环与 4 颗 ADAR1000 的配置、经 8 通道 ADC 做 Idq 电流采样并闭环调节 Vg、GPS(UM982)与 IMU(GY-85)标定,以及 8 路热敏电阻任一超阈值时用单个 GPIO 切换散热风扇。排障时记住分工:画面不对查 FPGA,开不了机查 STM32。
AERIS-10 跑通验证:从 GUI 演示到 testbench 仿真的三步
检查点一:零硬件跑通 AERIS-10 雷达 GUI 演示
GUI 内置演示模式,不需要任何雷达硬件,Python 3.8+ 即可。
git clone https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR cd PLFM_RADAR/9_Firmware/9_3_GUI pip install -r requirements_v7.txt python GUI_V7_PyQt.py跑完你会看到:主视图点 "Start Demo" 后,内置 TargetSimulator(见 v7/workers.py)每 500 ms 生成一批目标,距离 50–1400 m、速度 ±100 m/s;Range-Doppler Map (Pitch Corrected) 实时刷新,右侧 Detected Targets 列表给出 Track ID、距离、速度、方位角,Map 标签页能把目标标到地图上。requirements 里 pyusb 等硬件依赖标注为可选,缺了 GUI 也能降级运行。
检查点二:一个脚本复现 32×16 阵列方向图热力图
想弄清"波束为什么指向那个方向",先跑这个只依赖 numpy + matplotlib 的脚本。
cd PLFM_RADAR/5_Simulations python array_pattern_Kaiser25dB_like.py核心在 array_pattern_Kaiser25dB_like.py 第 33–41 行的array_factor:16 个方位向阵元(间距 14.276 mm)和 32 个俯仰向阵元(间距 16.915 mm)在某个观测方向各贡献一项相位,两个方向分别求和再相乘得阵列因子,乘单元因子归一化即方向图;权重用 Kaiser 窗(β=1.65)把旁瓣压到约 -25 dB。
跑完你会看到:当前目录生成三张 PNG——E 面、H 面切线各一张,外加一张热力图;热力图里黄色亮区是主波束,深蓝是旁瓣谷底。
图:array_pattern_Kaiser25dB_like.py 生成的 32×16 相控阵天线阵列方向图热力图——黄色区为主波束高增益区,深蓝区为 Kaiser 窗压到 -25 dB 的旁瓣区
检查点三:iverilog 仿真 CFAR 检测器的 14 个用例
想碰算法本体,从恒虚警率检测器(CFAR,判定"哪些单元是目标"的单元)开始。
cd PLFM_RADAR/9_Firmware/9_2_FPGA iverilog -o cfar_tb tb/tb_cfar_ca.v cfar_ca.v && vvp cfar_tbtb/tb_cfar_ca.v 共 704 行,覆盖 T1–T14:禁用直通、均匀噪声无检出、单目标/双目标、窗边缘目标、GO/SO 模式、alpha 缩放、处理中途复位恢复、连续帧等。跑完你会看到:每个用例打出 [PASS] 标记,末尾汇总通过数。
想看全景,同目录执行bash run_regression.sh:先做 Vivado 风格 lint,再依次跑单元、集成、信号处理、基础设施各阶段,其中真实 ADC 数据回放要求与参考结果"逐位精确匹配",全绿才算通过。formal/ 里还有 SymbiYosys 文件,用来逐条检查跨时钟域握手这类时序问题。
收尾
最短上手路径就一条命令:
cd PLFM_RADAR/9_Firmware/9_3_GUI && python GUI_V7_PyQt.py(依赖按 requirements_v7.txt 安装。)想参与的话,从 CONTRIBUTING.md 入手:补文档、加 testbench 用例、优化 GUI 都是低门槛入口,PR 提交到 develop 分支。
【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考