总览
1. 项目一句话说明
PLFM_RADAR 是一个开源的 10.5GHz 相控阵脉冲线性调频雷达平台,用于研究和实现雷达发射、回波接收、目标检测、波束控制与结果显示。
2. 它到底是做什么的
这个项目不是单纯的软件仓库,而是一个“硬件 + FPGA + STM32 + Python GUI”的完整系统工程。它的目标是搭建一个可实验、可扩展的雷达平台,适合学习以下内容:
- 脉冲线性调频雷达(Pulse LFM)
- 相控阵波束控制
- 回波信号处理
- 目标检测与显示
- 上位机控制与可视化
3. 整个系统怎么理解
可以把它理解为四层:
- 硬件层:负责发射和接收雷达信号
- STM32 控制层:负责上电时序、芯片配置、传感器和电机管理
- FPGA 处理层:负责实时产生波形并进行高速信号处理
- GUI 显示层:负责参数设置、结果显示和交互操作
4. 系统架构图
flowchart TD user[用户] gui[Python GUI 上位机] subgraph control[控制层] mcu[STM32 控制器] end subgraph process[处理层] fpga[FPGA 实时处理] end subgraph rf[硬件射频层] clk[时钟/频率合成] txrx[射频前端] array[相控阵天线] motor[步进电机/机械扫描] sensor[GPS IMU 传感器] end target[目标] user -->|参数设置/操作| gui gui -->|USB 控制命令| mcu mcu -->|配置与管理| clk mcu -->|配置波束/外设| txrx mcu -->|姿态与位置采集| sensor mcu -->|机械扫描控制| motor mcu -->|协同控制| fpga fpga -->|产生 LFM / 控制 DAC ADC| txrx clk -->|同步时钟| fpga clk -->|本振/参考时钟| txrx txrx -->|发射| array array -->|电磁波| target target -->|回波| array array -->|接收| txrx txrx -->|采样数据| fpga fpga -->|检测结果/数据包| gui sensor -->|位置姿态信息| mcu style gui fill:#dbeafe,stroke:#2563eb style mcu fill:#dcfce7,stroke:#16a34a style fpga fill:#fef3c7,stroke:#d97706 style txrx fill:#fee2e2,stroke:#dc2626 style array fill:#fee2e2,stroke:#dc2626
5. 最核心的工作闭环
完整链路可以概括为:
上位机配置 → STM32 初始化 → FPGA 产生 LFM → 射频链路发射 → 目标反射回波 → ADC 采样 → FPGA 处理 → 上位机显示
6. 这个项目的价值
它的学习价值非常高,因为它把多个专业方向串在一起了:
- 嵌入式开发
- FPGA 开发
- 数字信号处理
- 射频与天线
- 上位机软件开发
- 系统工程思维
7. 初学者应该先抓住什么
如果你是大专软件技术专业,不要一上来就啃 FPGA 代码。建议先抓住这三句话:
- 这是一个完整的开源雷达系统。
- STM32 负责控制,FPGA 负责高速处理,GUI 负责显示。
- 核心原理是发射 LFM 信号、接收回波、再通过数字信号处理提取目标。