第一次拿到TI的AWR2944评估板时,我就被它的集成度震惊了。这颗单芯片解决方案把4发4收的毫米波射频前端、C66x DSP、R5F MCU和硬件加速器(HWA)全部塞进了指甲盖大小的封装里。相比传统分立方案需要3-4颗芯片才能实现的功能,AWR2944不仅节省了60%的PCB面积,更重要的是解决了多芯片间数据同步的老大难问题。
在实际路测中,AWR2944的四个发射通道配合移相器功能展现出独特优势。记得去年冬天测试时,传统3发方案在200米外对摩托车的检测成功率只有70%,而启用第四个发射通道后,相同场景下检测率直接飙到95%以上。这得益于多出的通道带来的33%角度分辨率提升——从原来的14.2度优化到9.5度,相当于能区分200米外相距33米的两个目标。
硬件加速器(HWA)的加入更是神来之笔。过去做雷达信号处理时,DSP要耗费80%算力在FFT和CFAR这些基础运算上。现在把这些固定流程交给HWA后,实测单帧处理时间从25ms降到8ms,省下的算力可以跑更复杂的跟踪算法。有次在高速测试场,我们同时跟踪32个目标时CPU负载才到65%,这在以前根本不敢想。
早期做角雷达最头疼的就是探测距离和分辨率不可兼得。传统TDM(时分复用)方案虽然简单,但每个发射通道要轮流工作,相当于把发射功率白白浪费了3/4。后来尝试过频分复用(FDM),结果发现速度分辨率会严重下降。直到在AWR2944上试用了DDMA(多普勒分多址),才算找到完美解决方案。
DDMA的妙处在于让所有发射通道同时工作,但给每个通道加上特定的相位调制。就像合唱团分声部演唱,虽然同时发声却能区分每个声部。具体实现时,我们给四个TX通道分别配置0°、90°、180°、270°的初始相位,然后每发一个chirp就增加Δφ相位偏移。这样在多普勒FFT后,不同通道的信号会自动分离到不同频段。
实测数据很能说明问题:在相同发射功率下,DDMA的信噪比相比TDM提升了6dB。这个增益直接转化为探测距离的提升——原本只能稳定检测120米的目标,现在轻松突破200米大关。去年在盐城试验场做的对比测试显示,对于时速140km的轿车,DDMA方案的首次检测距离比TDM远了58米。
但DDMA也有自己的"阿喀琉斯之踵"——速度模糊问题。当目标速度超过±75km/h时,信号在多普勒域会发生混叠。这时候就要祭出空子带(Null Band)这个杀手锏了。我们在四个发射通道基础上,额外预留两个空白子带,相当于把相位调制间隔从90°调整为60°。
这样处理后,距离-多普勒谱上会出现明显的空白区域。就像在频谱里插了两面红旗,任何跨越红旗区的信号都会被识别为混叠。通过检测信号与空白带的相对位置,就能解算出真实速度。实测表明,这种方案在追踪时速200km的超跑时依然能保持速度误差小于3%。
记得第一次看AWR2944的HWA文档时,里面提到的雷达立方体(Radar Cube)压缩功能让我半信半疑。直到亲眼看到1D FFT数据被压缩到原始大小的1/3,才相信这不是营销话术。HWA的压缩引擎采用块浮点编码,在保留动态范围的同时,把ADC采样数据从16位压缩到平均5.3位。
更惊艳的是处理流水线的设计。传统方案要等所有chirp采集完才能开始处理,而AWR2944实现了流水线并行:当第N+1个chirp在采集时,第N个chirp的距离FFT已经在HWA上计算,同时第N-1个chirp的多普勒处理正在DSP运行。这种"三明治"式处理使整体延迟降低了72%,实测帧周期可以做到50ms以内。
在AWR2944上做开发,最需要精心设计的就是内存分配。芯片的4MB RAM看着不小,但面对768个chirp、每个chirp 384采样点的雷达立方体时,还是捉襟见肘。我们的解决方案是采用乒乓缓冲区:把L3内存划分为四个区域,分别存放原始数据、压缩数据、解压数据和目标列表。
这里有个关键技巧是利用HWA的DMA链式传输。配置EDMA时设置自动触发条件,当前一个搬运完成立即启动下一个处理阶段。比如距离FFT结果刚存到L3,就自动触发HWA开始解压。这种"零等待"的设计使得内存带宽利用率达到93%,比传统轮询方式快1.8倍。
调参多年总结出一个经验:好的chirp配置要在距离分辨率、速度分辨率和帧周期之间找到平衡点。对于角雷达应用,我们的黄金配置是:带宽114MHz(对应1.3米距离分辨率),chirp时间23.83μs,帧长250ms。这个组合能在200米量程下保持±140km/h的速度检测范围。
相位噪声是另一个需要特别注意的参数。AWR2944的PLL性能相当出色,但我们发现当调频斜率超过15MHz/μs时,相位噪声会明显恶化。经过反复测试,最终把斜率锁定在8.883MHz/μs,这样在保证200米探测距离的同时,相位噪声谱密度能控制在-85dBc/Hz以下。
目标跟踪中最头疼的是虚假目标过滤。我们采用了两级过滤策略:先用RANSAC算法区分静止和运动目标,再通过GTrack的扩展卡尔曼滤波建立运动模型。有个很实用的技巧是调整门控参数——把横向加速度阈值设为0.5g,纵向设为0.3g,这样既能过滤噪声又不会误杀急刹车目标。
在密集场景下,群跟踪器的分配参数需要特别优化。通过大量实测发现,把最小聚类点数设为3,最大距离方差设为1.5米时,既能避免把一辆车拆分成多个目标,又不会把并排的自行车和行人误认为一个目标。这些参数看起来简单,却是我们撞了无数次车才总结出来的经验。