3. 雷达信号处理基础与S32R加速器

FMCW雷达通过发射频率随时间线性变化的连续波,并接收目标反射回波,利用收发信号之间的频率差获取距离信息。设调频斜率 S = B/Tc,其中 B 为扫频带宽,Tc 为单次扫频时间。目标距离 R 对应的差频为 f_b = 2SR/c,因此距离分辨率由带宽决定:ΔR = c/(2B)。例如 B = 1 GHz 时,理论距离分辨率约为 0.15 m。速度信息则来自多个扫频之间的相位变化,目标径向速度 v 引起的多普勒频率为 f_d = 2v/λ,通过慢时间维FFT即可分辨速度。

MIMO雷达在FMCW基础上进一步引入角度维。以 Nt 个发射天线和 Nr 个接收天线构成虚拟阵列,可获得 Nt×Nr 个虚拟通道。通过在不同发射天线之间施加正交波形或时分发射,接收端可分离各发射通道信号,形成虚拟孔径。角度分辨率与虚拟孔径长度相关,典型表达式为 Δθ ≈ λ/(N_v d cosθ),其中 N_v 为虚拟阵元数,d 为阵元间距。TDM-MIMO是S32R平台常用的实现方式,其代价是速度模糊度下降,需要在波形设计时权衡。

完整的雷达处理链通常按“距离—多普勒—角度”顺序展开。原始ADC数据先做距离维FFT,将快时间采样转换为距离门;再对同一距离门跨chirp做多普勒FFT,得到距离-多普勒图(RD图);随后在RD图上进行CFAR检测,提取目标点;最后对目标点跨虚拟阵列做角度FFT或超分辨DOA估计,得到方位角与俯仰角。该处理链的计算量集中在FFT、CFAR和DOA三部分,也是S32R加速器重点优化的对象。

FMCW/MIMO 雷达处理链与 S32R 加速器映射 ADC 原始数据 快时间 × 慢时间 × 通道 距离维 FFT 快时间 → 距离门 多普勒维 FFT 慢时间 → 速度 距离-多普勒图 RD Matrix CFAR 检测 自适应门限 角度估计 DOA 虚拟阵列 FFT 目标点云 R / v / θ SPT 信号处理工具 FFT / IFFT 蝶形运算 复数乘法与加窗 向量点积 / 幅度计算 支持 16-bit 定点流水 典型:距离/多普勒 FFT BBE 基带引擎 CFAR 门限比较 直方图统计 / 排序 复数相关 / 波束形成 支持 DMA 链式搬运 典型:CFAR / DOA 加权 映射实践要点 • FFT 长度对齐 SPT 蝶形粒度 • CFAR 参考窗与保护窗参数 • DOA 虚拟阵元顺序与校准 • DMA 双缓冲降低等待 • 定点位宽与溢出保护

在S32R平台上,SPT(Signal Processing Toolbox)和BBE(Baseband Engine)是两类核心硬件加速器。SPT擅长高吞吐的FFT/IFFT、复数乘加和向量运算,适合承担距离维与多普勒维FFT;BBE则更偏向基带域的检测与统计类操作,如CFAR门限比较、直方图统计、复数相关和波束形成加权。将处理链映射到硬件时,关键不是“能不能算”,而是“数据如何流动、位宽如何匹配、延迟如何隐藏”。

以距离维FFT为例,假设每帧有 Nr = 256 个距离采样点、Nc = 128 个chirp、Nch = 8 个接收通道。若直接按通道串行处理,每通道需做128次256点FFT。SPT通常以蝶形为单位流水执行,配置时需将输入按基2或基4分解,并确保输入数据按SPT要求的复数交错格式排列。若FFT长度不是SPT支持粒度的整数倍,需要补零到最近的支持长度,否则会触发额外的软件回退路径,显著拉低吞吐。

CFAR映射到BBE时,需要明确参考窗、保护窗和门限因子。以CA-CFAR为例,在RD图上对每个待检测单元,取其左右各 Nref/2 个参考单元,排除紧邻的 Nguard 个保护单元,计算参考单元平均功率 Pnoise,再乘以门限因子 α 得到检测门限。BBE可并行比较多个距离门,但参考窗参数需在配置寄存器中预先设定。若参考窗跨越了强目标旁瓣区域,虚警率会上升,此时可改用GO-CFAR或SO-CFAR,或在BBE前增加一次简单的旁瓣抑制。

DOA估计通常对CFAR检测出的目标点进行。对每个目标点,取其跨虚拟阵列的复数数据,做角度维FFT或MVDR。若使用角度FFT,需保证虚拟阵元按空间顺序排列,且阵元间距不超过半波长以避免栅瓣。S32R的BBE可加速复数相关和加权求和,但虚拟阵列的校准系数(幅度和相位补偿)通常需要在软件中预先计算并写入系数表。一个常见的实践问题是:TDM-MIMO下不同发射通道的相位偏移未校准,会导致角度谱出现分裂或偏移,表现为同一目标在方位角上出现两个峰。

在将FFT映射到SPT时,优先使用2的幂次长度,并尽量让输入输出都驻留在SPT可访问的本地内存中,减少DMA往返。若必须跨内存搬运,使用双缓冲:当前帧计算时,DMA预取下一帧数据,可隐藏大部分搬运延迟。

下面给出一个距离-多普勒-角度处理链的关键参数配置示例,用于说明各阶段输入输出与加速器选择的关系。该示例为教学假设,实际参数需根据具体波形和S32R型号调整。

处理阶段 输入 关键参数 输出 加速器
距离FFT ADC 快时间采样 Nfft=256,加Hamming窗 距离门复数谱 SPT
多普勒FFT 同距离门跨chirp数据 Nfft=128,加Blackman窗 RD图 SPT
CFAR RD图功率 Nref=16,Nguard=4,α=12 dB 目标点列表 BBE
DOA 目标点虚拟阵列数据 Nv=16,角度FFT 64点 方位角/俯仰角 BBE + SPT

调试时,建议按阶段验证:先确认距离FFT后单目标峰值位置与理论距离一致;再确认多普勒FFT后速度符号与目标运动方向一致;然后检查CFAR是否在目标周围产生稳定检测,且虚警点不随帧剧烈波动;最后检查DOA角度谱主瓣是否对准真实方位。若角度谱出现双峰,优先排查虚拟阵列校准和TDM相位补偿;若CFAR虚警偏高,优先检查参考窗是否落入强目标旁瓣或门限因子是否过小。

定点运算中,FFT每级蝶形都可能引入位宽增长。若未在SPT配置中设置合适的缩放因子,中间结果会溢出并导致频谱出现平坦噪声底或虚假峰。建议在每级蝶形后右移1位,或使用块浮点模式,并在首次调试时用已知单音输入验证输出信噪比。

将FFT/CFAR/DOA映射到S32R加速器,本质上是把算法结构拆解为加速器可识别的数据流和配置参数。SPT负责高吞吐的变换类运算,BBE负责检测与统计类运算,两者通过DMA和共享内存协同。理解每个阶段的输入输出格式、位宽、窗函数和参数约束,比单纯调用库函数更能决定系统能否稳定达到实时性要求。