FMCW 雷达多目标测距测速测角:从一维 FFT 到三维定位的 MATLAB 仿真实践

在信号与系统课程中,我们基于 MATLAB 完整仿真了一套 FMCW(调频连续波)雷达系统,实现了对多个移动目标的测距、测速、测角——从单目标到多目标、从一维 FFT 到三维定位,逐步攻克了实际雷达信号处理中的核心难题。
一、FMCW 雷达是什么?
FMCW(Frequency Modulated Continuous Wave,调频连续波)雷达是当前车载毫米波雷达的主流方案。与传统的脉冲雷达不同,它持续发射频率线性变化的信号,通过混频后测量反射信号与发射信号的频率差来获取目标信息。
这项技术已广泛应用于自动驾驶(ACC 自适应巡航、AEB 自动紧急制动)、交通监测和无人机避障。77GHz 毫米波 FMCW 雷达已成为 L2+ 自动驾驶的标配传感器。本项目用 MATLAB 从零搭建仿真系统,理解其背后的信号处理原理。
二、逐层递进:从单目标到三维定位
阶段一:单目标测距
发射线性调频信号 → 接收回波 → 混频得到中频信号 → FFT 提取频率峰值 → 换算距离。这是雷达最基础的"看多远"问题。

阶段二:单目标测距 + 测速
利用多个 Chirp 之间的相位差计算径向速度。我们对比了三种速度估计算法——平均相位差法、多普勒频移法、解包裹相位法——最终解包裹相位法精度最高(误差 < 0.3%)。
阶段三:多目标测距 + 测速
多个目标时频谱出现多个峰值,使用 findpeaks 替代 max 进行多峰检测。但当两个目标距离相同时,一维 FFT 无法区分——这引出了 2D-FFT 的必要性:在速度维度上分离距离相同的目标。
阶段四:三维定位(距离 + 速度 + 角度)
扩展为 16 天线阵列,通过 3D-FFT 同时解算距离、速度和角度。天线间相位差映射为目标来波方向——这是车载雷达实现二维空间定位的核心方法。
三、关键结果
| 指标 | 设定值 | 测量值 | 误差 |
|---|---|---|---|
| 目标1距离 | 30m | 30.01m | 0.03% |
| 目标2距离 | 40m | 40.02m | 0.05% |
| 目标3距离 | 60m | 60.09m | 0.15% |
| 目标1速度 | 5m/s | 5.02m/s | 0.32% |
| 目标2速度 | 10m/s | 10.02m/s | 0.18% |
| 目标3速度 | 33m/s | 32.96m/s | 0.12% |
仿真参数:载频 77GHz,带宽 150MHz,Chirp 周期 8μs。距离测量范围 0~1023m,分辨率约 1m;速度范围 ±121m/s,分辨率约 1.9m/s——达到典型车载雷达指标水平。
四、技术难点与解决方案
- 相位跳变:直接计算相位在 ±π 处跳变,无法用于速度估计 →
unwrap解包裹获得连续相位序列 - 同距离多目标分离:一维 FFT 无法区分同距离目标 → 引入 2D-FFT 在速度维度实现分离
- 角度测量精度:两天线方案分辨率低 → 扩展至 16 天线阵列,3D-FFT 实现高精度测角
五、总结
从 FFT 基本原理出发,逐步构建完整 FMCW 雷达信号处理链路——单目标测距 → 多普勒测速 → 多目标 2D-FFT 分离 → 16 天线 3D-FFT 三维定位。项目加深了对傅里叶变换、采样定理、相位分析等核心概念的理解,也为自动驾驶感知系统的底层原理奠定了基础。
MATLAB 仿真实现,代码可复现、参数可调节。
Comments