基于TI AWR6843毫米波雷达的车内乘员检测技术详解

发布时间:2026/7/29 10:14:46
基于TI AWR6843毫米波雷达的车内乘员检测技术详解
1. 项目概述为什么选择毫米波雷达做车内乘员检测在汽车智能化浪潮中车内乘员检测Vehicle Occupancy Detection, VOD正从一个“锦上添花”的功能演变为关乎安全、舒适和法规遵从的核心需求。无论是为了触发安全气囊的智能分级引爆、防止儿童被遗忘在车内的生命监测还是实现个性化的空调与座椅调节都需要一个能可靠、精准感知车内生命存在的“眼睛”。传统方案如摄像头受光线影响大、有隐私顾虑座椅压力传感器无法区分是物品还是人更别提检测微弱的生命体征了。而基于电容感应的方案则容易受到环境温湿度干扰。正是在这种背景下毫米波雷达技术脱颖而出成为了解决这一系列痛点的理想选择。毫米波雷达顾名思义是工作在毫米波频段通常指30GHz至300GHz的雷达系统。我们这里讨论的德州仪器TIAWR6843其工作频率在60-64GHz。这个频段有什么好处首先其波长极短约5毫米这意味着天线尺寸可以做得很小易于集成到车内后视镜、车顶等隐蔽位置。其次该频段带宽资源丰富AWR6843支持高达4GHz的扫频带宽这直接决定了其极高的距离分辨率可达厘米级足以区分座椅靠背和乘员的胸腔。最关键的是毫米波能够穿透常见的车内饰材料如布料、塑料且完全不受光照、雨雾、灰尘的影响可以全天候、全场景稳定工作。TI的AWR6843更是一款为此类应用量身定制的单芯片解决方案。它将射频前端、模拟数字转换器ADC、高性能DSPC674x和微控制器ARM Cortex-R4F全部集成在一颗芯片内甚至包含了用于快速傅里叶变换FFT和恒虚警率CFAR检测的硬件加速器。这种高度集成化带来了三大优势一是极大简化了硬件设计降低了系统复杂度和成本二是功耗可控适合车辆长期监控三是片上处理能力强大可以直接在雷达端完成从原始数据到高级特征如热图、区域占用判决的整个处理流程只需通过UART输出简洁的结果减轻了主控ECU的算力负担。本次分享我将以TI官方的前装Front Mount和顶装Overhead Mount两个参考设计为蓝本深入拆解基于AWR6843实现车内乘员检测的完整技术链条。从芯片的硬件配置、波形设计到核心的信号处理算法如静态杂波滤除、MVDR波束成形、双通道CFAR检测再到最终基于状态机的智能区域决策逻辑。我会结合自己的调试经验分享参数配置的考量、算法调优的窍门以及实际开发中容易踩到的“坑”。无论你是正在评估传感器选型的系统工程师还是负责算法移植和优化的软件工程师相信这篇内容都能提供切实的参考。2. 硬件平台解析AWR6843的架构与选型考量在动手之前我们必须吃透手中的“武器”。AWR6843不是一个黑盒传感器而是一个可高度编程的片上系统SoC。理解其内部架构是进行有效配置和算法开发的基础。2.1 芯片内部架构与资源分配AWR6843的核心可以看作由四个主要部分组成射频收发单元、数据转换与采集单元、数字信号处理器DSP和微控制器单元MCU。射频部分集成了3个发射通道TX和4个接收通道RX工作在60-64GHz频段。通过时分复用TDMMIMO技术3个TX和4个RX可以虚拟出最多12个3x4的虚拟天线阵列。在车内乘员检测的参考设计中通常采用特定的天线排布来虚拟出1x8的线性阵列以获取高精度的水平方位角Azimuth信息。对于顶装方案如使用AOP天线封装天线设计还能同时提供俯仰角Elevation信息实现初步的3D感知。数据链路的核心是高速ADC和雷达硬件加速器Radar Hardware Accelerator, HWA。ADC以最高25MSPS的速率将射频链下来的模拟中频信号转换为数字信号。这里的一个关键设计是HWA。在AWR6843中HWA版本为1.5它包含了FFT加速器和内存压缩单元。这意味着最耗时的距离维FFT运算可以直接在HWA上完成极大释放了DSP的负担使得系统能够处理更复杂的后续算法或支持更高的帧率。处理单元是双核架构一个C674x浮点DSP和一个ARM Cortex-R4F MCU。在典型的VOD应用分区中DSP负责计算密集型的底层信号处理包括静态杂波滤除、波束成形DOA估计、CFAR检测等生成热图Heatmap或点云Point Cloud。而ARM R4F则作为主系统MSS负责芯片的初始化配置、任务调度、与DSP的通信以及将处理结果通过UART或CAN FD接口发送给上位机或车辆网络。这种分工明确的设计保证了实时性和处理效率。2.2 前装与顶装方案硬件对比TI提供了两种典型的部署方案其硬件载体和性能指标有细微差别选择哪种取决于你的安装位置和检测需求。前装方案Front Mount通常指将雷达传感器集成在车内后视镜附近、车顶控制面板或A柱上向前朝向车厢内部。它使用AWR6843ISK评估板。其天线设计优化于水平方向的宽视场角FoV达120度主要提供精确的方位角信息对于区分主副驾驶及后排左侧、中间、右侧座位非常有效。它的关键性能参数包括最大检测距离约3.3米距离分辨率4.69厘米速度分辨率0.013米/秒。高速度分辨率对于检测呼吸胸腔缓慢起伏这类微动至关重要。顶装方案Overhead Mount指将传感器安装在车顶棚中央向下俯视整个车厢。它使用IWR6843AOP或ODS评估板。AOPAntenna on Package天线封装将天线直接集成在芯片封装内提供了更优的俯仰角性能。这种方案能获得目标的距离、方位角和俯仰角信息形成3D点云理论上可以更精确地定位乘员的头部、躯干等部位甚至定义更复杂的立体检测区域如头部-胸部、腿部区域。其参数略有不同最大检测距离3.0米距离分辨率5.32厘米速度分辨率0.0154米/秒。注意选择方案时不仅要看参数更要考虑实际安装可行性。前装方案视野可能被方向盘、座椅头枕遮挡顶装方案则需要考虑车顶内饰材料的透波损耗以及是否会影响天窗等功能。建议在实际车型上做早期安装测试。2.3 开发环境搭建要点软件方面主要依赖两个核心套件mmWave SDK和mmWave Automotive Toolbox。mmWave SDK是基础驱动和底层API库负责芯片的启动、配置和数据搬运。Automotive Toolbox则包含了VOD等特定应用的参考算法源码、配置文件以及用于数据可视化的MATLAB/PC端GUI工具。安装顺序通常是先安装CCSCode Composer Studio或IAR等IDE然后安装mmWave SDK最后从TI Resource Explorer在线导入或离线安装Automotive Toolbox工程。这里有一个关键点SDK和Toolbox的版本必须兼容。例如Automotive Toolbox 3.1.x需要对应特定版本的mmWave SDK。如果版本不匹配在编译时会出现各种未定义错误。我个人的经验是在TI官网下载时仔细阅读每个版本的Release Notes里面会明确说明其依赖的SDK版本。最好建立一个干净的工作目录为每个项目组合保留独立的SDK和Toolbox副本避免多个项目间因版本冲突而引发的诡异问题。3. 信号处理链深度剖析从射频回波到智能热图拿到硬件并搭建好环境后核心工作就是理解和驾驭信号处理链。VOD应用的处理链是一个典型的级联处理过程每一步都为了从嘈杂的原始数据中提取出与乘员相关的有效信息。3.1 调频连续波FMCW与啁啾Chirp配置AWR6843采用FMCW雷达体制。它发射频率随时间线性增加的无线电波即一个Chirp并接收被目标反射回来的回波。通过混合发射和接收信号得到一个频率差中频信号该频率与目标距离成正比。同时通过连续发射多个Chirp并分析其间相位变化可以计算出目标的速度多普勒效应。在VOD应用中Chirp配置是性能的基石。参考设计中的配置非常精妙采用TDM 2x4 MIMO模式为了在不增加物理天线数量的情况下提高角度分辨率采用了时分复用MIMO。具体是让TX1和TX3两个发射天线交替发射Chirp与4个RX天线结合虚拟出8个接收通道从而将方位角分辨率提高一倍。每帧512个Chirp这是一个很大的数量。帧时间 单个Chirp周期时间 * 每帧Chirp数。这里单个Chirp周期时间包括发射和空闲时间约为290us一帧就是约148ms帧率约6.75Hz。之所以用这么多Chirp是为了获得极高的速度分辨率0.013m/s这样才能捕捉到呼吸约0.1-0.5m/s的径向速度等微动。每个Chirp采样64个点这是权衡距离分辨率和内存占用的结果。距离分辨率公式为 ΔR c / (2 * B)其中B是扫频带宽。为了达到约4.7cm的分辨率需要约3.92GHz带宽。根据公式 B Slope * Tc其中Tc是Chirp的有效发射时间。在采样率固定为2.2MSPS的情况下采样64点对应约29us的采样时间再结合其他参数最终计算出所需的调频斜率Slope约为98MHz/us。这样配置刚好能将一帧的原始数据雷达数据立方体Radar Cube控制在芯片内部512KB的L3内存限制内。实操心得修改这些核心参数如每帧Chirp数、采样点数会联动影响距离分辨率、速度分辨率、最大不模糊距离/速度以及帧率。TI提供了名为“mmWave Sensing Estimator”的在线计算工具在调整参数前务必先用该工具进行仿真确保参数集是自洽且可行的避免直接下载后出现数据溢出或性能不达标的问题。3.2 静态杂波滤除让“静物”消失车内环境充满强反射静态物体座椅的金属骨架、中控台、车门板甚至留在座位上的书包。这些静态目标的回波信号强度可能比人的微动信号强几个数量级会淹没有效信号。因此处理链的第一步就是静态杂波滤除Static Clutter Removal。其原理非常直观。对于每个距离门Range Bin和每个虚拟天线通道我们有一串跨越多个Chirp的复数数据慢时间维。静态目标的回波在多帧之间相位和幅度基本不变表现为直流分量而移动目标如呼吸起伏的胸腔的回波相位会随时间变化。因此最简单的滤除方法就是直流阻断DC Blocking计算每个距离-天线单元上所有Chirp数据的平均值即估计的直流分量然后从原始数据中减去这个平均值。在DSP实现上这通常是在完成距离维FFT将数据转换到距离域后在雷达数据立方体上进行操作。滤除后静态目标的能量被大幅抑制数据立方体中主要剩下动态和微动目标的成分。这一步的效果立竿见影是后续处理能否成功的关键前提。3.3 高分辨率波束成形与热图生成滤除静态杂波后我们得到了一个“干净”的、包含目标距离和多普勒信息的雷达立方体。下一步是进行波束成形Beamforming即确定目标来自哪个方向角度。参考设计中采用了MVDRMinimum Variance Distortionless Response也称Capon波束成形算法这是一种自适应波束成形算法比传统的FFT波束成形具有更高的角度分辨率和更强的干扰抑制能力。其处理流程如下空间协方差矩阵估计对于每一个感兴趣的距离单元取出该距离单元上所有虚拟天线通道的数据一个复数向量计算其空间协方差矩阵。这个矩阵表征了不同天线间接收信号的相互关系。MVDR谱估计MVDR算法的核心思想是在保持来自特定方向信号增益不变无失真的前提下使波束形成器输出的总功率最小化即抑制其他方向的干扰。通过求解一个优化问题可以得到一个最优权向量。将这个权向量应用于所有可能的方向扫描一个角度范围就能计算出每个角度上的功率谱密度。生成距离-方位热图对每一个距离单元都执行上述MVDR计算就能得到一个二维矩阵一个维度是距离另一个维度是方位角。矩阵中每个点的值代表该距离-角度单元上的信号功率强度。这个二维功率图就是“热图”Heatmap。在热图上有乘员活动的区域会呈现明显的亮斑。对于顶装方案由于有俯仰维的天线信息处理会更复杂一些。算法会对上下两行虚拟天线分别进行MVDR计算然后将两者的结果进行平方和相加以提高信噪比SNR。最终生成的热图可能需要进行一次转置使得行代表角度、列代表距离以符合后续处理的格式要求。4. 目标检测与区域判决从热图到“有人/无人”的决策得到热图后我们就从原始的射频信号世界进入了更直观的图像化信息世界。接下来的任务就是从热图中找出潜在的目标点并判断它们是否落在我们关心的座位区域内最终做出“该区域有乘员”的二元判决。4.1 双通道恒虚警率检测热图上每一个亮点都可能是目标但也可能是噪声。我们需要一个自动化的检测机制。参考设计采用了双通道CFARConstant False Alarm Rate恒虚警率检测具体是CASOCell Averaging Smaller Of算法的变种。CFAR的核心思想是根据背景噪声水平自适应地设置检测阈值从而在变化的环境中保持稳定的虚警概率。其“双通道”体现在检测分两步进行距离维CFAR首先在热图的每一行即固定角度遍历所有距离单元进行一维CFAR检测。对于每一个待检测单元CUT在其左右两侧各设置一个“保护单元”防止目标能量泄露和“参考窗”。算法会计算左侧参考窗和右侧参考窗内噪声的平均功率。在CASO中还会进一步细分出“近距窗”和“远距窗”最终从四个噪声估计值中选取最小的那个作为该单元的噪声基底。然后将CUT的功率与“噪声基底乘以一个缩放因子阈值因子”进行比较如果大于则判定为潜在目标。这一步会在每个距离线上找出一系列候选目标点。方位维CFAR然后针对上一步在距离维检测到的每一个候选目标点在其所处的距离门列上沿着角度方向再进行一次一维CFAR检测。这次是为了确认该目标在角度维上也是显著的。只有同时通过距离维和方位维CFAR检测的点才会被保留为最终的有效检测点。这种两级检测机制比简单的二维CFAR计算量小且能更有效地抑制杂波提高在复杂车内环境下的检测可靠性。4.2 区域定义与点云关联检测出离散的目标点每个点包含距离、角度、功率信息后我们需要将它们与物理空间中的座位区域关联起来。这就是区域定义Zone Definition。在软件中每个座位区域Zone被定义为一个或多个三维的立方体Cuboid。例如对于前排座位可以定义两个重叠的立方体一个较高的对应头部和躯干区域一个较低的对应腿部区域。对于后排座位或行李舱可能只需要一个立方体。这些立方体的坐标是基于传感器安装位置和车内几何结构预先标定好的。处理流程是将CFAR检测到的每个点根据其距离和角度信息通过坐标变换公式涉及传感器的安装俯仰角、偏航角等转换到以传感器为原点的三维直角坐标系X, Y, Z中。然后判断这个三维点是否落在任何一个预先定义的区域立方体内。如果是则该点被归类到该区域。注意事项区域的定义需要谨慎。区域之间应留有适当的间隙避免一个目标尤其是较大体型的人的点云同时落入两个相邻区域引起误判。同时区域边界不宜过于贴近金属车体等强反射体以免静态杂波滤除不彻底时产生虚警。在实际部署前需要在真实车辆中采集数据反复调整立方体的大小和位置。4.3 智能状态机与最终判决仅仅知道当前帧有哪些点落在区域内是不够的。由于噪声、人员微小调整姿势等因素点云的数量和信噪比会在帧间波动。我们需要一个基于多帧信息的、稳健的状态机State Machine来做出最终的“占用Occupied”或“空闲Empty”判决。参考设计中的状态机通常包含以下几个状态和转换条件空闲状态持续监测进入该区域的点云。当满足“进入条件”时跳转到“确认中”或“占用”状态。进入条件通常是一个与门逻辑例如“连续N帧内平均信噪比高于阈值Th1的点数超过M个”或者“连续N帧内总点数超过一个更大的值P”后者用于应对信噪比较低但目标明显的情况。占用状态持续监测区域内的点云。只要满足“保持条件”例如每帧至少存在K个点且平均信噪比高于一个较低的阈值Th2就维持占用状态。这允许乘员在座位上有些小动作而不至于误判为离开。退出状态当连续多帧不满足“保持条件”时触发“遗忘计数器”。如果连续不满足的帧数超过预设值例如10帧则判定乘员已离开状态跳回“空闲”。过载状态这是一个重要的保护状态。当检测到整个场景信号能量突然急剧升高例如有人开门上车、大幅度换座位可能会使常规检测算法失效。此时状态机会进入“过载”状态冻结所有区域的判决输出直到能量水平恢复到正常范围。这可以防止在人员剧烈运动时产生不可靠的判决。这个状态机的所有参数如各种阈值、计数帧数都是可以通过命令行接口CLI动态配置的。没有一套参数能适应所有车型和所有场景因此参数调优是算法落地最关键、最耗时的一环。需要采集大量典型场景数据空车、单人静坐、单人微动、多人、上下车、放置物品等反复调整参数在检测率避免漏报和虚警率避免误报之间取得最佳平衡。5. 开发调试与性能优化实战经验理论清晰后真正的挑战在于动手实现和调试。下面分享一些从项目实践中总结的关键经验和常见问题排查思路。5.1 数据流与调试工具链理解数据在芯片内外的流动路径至关重要。基本流程是ADC采样数据 → L3内存雷达立方体→ HWA做距离FFT→ DSP进行杂波滤除、波束成形、CFAR等→ 生成的结果热图索引或点云数据写入共享内存 → ARM R4F内核通过DMA将结果从共享内存搬运到自己的内存空间 → R4F通过UART驱动将数据打包发送给PC。调试的核心工具是UART和PC端GUI。TI提供的MATLAB GUI功能强大可以实时显示热图以颜色映射显示信号功率分布最直观看到能量集中区域。点云将CFAR检测到的点以三维散点图形式显示并叠加你定义的区域立方体清晰展示目标与区域的关联情况。状态输出实时显示每个区域的判决状态占用/空闲、点云数量、平均信噪比等。配置界面可以动态修改Chirp配置、CFAR阈值、状态机参数等并立即生效便于快速调优。首先要确保UART通信正常。在代码中正确配置R4F的UART引脚和波特率通常是115200。在PC端使用串口调试助手或TI GUI连接对应COM口。如果收不到数据检查线缆连接、波特率设置以及代码中数据打包和发送的代码段是否被执行。5.2 参数调优方法论与常见问题调优是一个系统性工程建议遵循以下顺序静态场景校准在空车状态下运行传感器。观察热图和点云。理想情况下经过静态杂波滤除后热图应该是一片“寂静”点云应该几乎没有检测。如果仍有大量静态点可能需要检查安装位置传感器是否正对强反射面如金属支架调整静态杂波滤除参数参考设计中是减去平均值有时可能需要更复杂的滤波方法。微调CFAR阈值适当提高阈值抑制噪声。动态目标验证让人进入车辆坐在指定位置保持静止呼吸。观察热图对应座位区域是否出现稳定的亮斑亮斑的位置是否与物理位置吻合点云是否在定义的区域立方体内稳定出现若干点点的信噪比如何如果点云位置偏差大检查坐标变换公式中的传感器安装角度参数俯仰角、偏航角是否正确。这需要实际测量。如果点云信噪比低或不稳定尝试优化Chirp配置。略微增加每帧Chirp数可以提高速度分辨率有助于分离呼吸信号但会增加帧时间。这是一个权衡。状态机调优这是最精细的部分。目标是让状态机能够可靠地检测到“进入”和“离开”同时对人员的微小动作不敏感保持状态对短暂干扰如飞入的虫子有抵抗力。问题人员已就座但状态迟迟不进入“占用”。排查查看该区域的点云数量和平均SNR是否达到“进入条件”的阈值。如果点云数够但SNR低尝试降低进入条件的SNR阈值Th1。如果SNR高但点云数不够可能是CFAR太严格漏检了目标点尝试降低CFAR的阈值因子。问题人员静止不动状态却偶尔跳回“空闲”。排查查看“保持条件”的阈值Th2是否设得过高或者“遗忘计数器”的帧数设得太短。人在静止时呼吸产生的点云SNR和数量会有波动需要给“保持条件”留出足够的余量。问题车上无人但某个区域偶尔误报“占用”。排查这是最棘手的问题。首先确认是否是悬挂的饰品、褶皱的衣物等软目标在晃动。如果是环境噪声需要提高CFAR阈值或“进入条件”的阈值。也可以考虑引入“区域最小物理尺寸”判断过滤掉那些点数过少、分布过于分散的噪声集群。边缘场景测试测试人员上下车、换座位、放置重物如行李箱在座位上的场景。特别是放置重物算法需要能够与真人进行区分。这通常需要结合点云的“微动”特征通过分析多普勒信息来判断。如果算法不具备此能力则需要明确该局限性。5.3 资源与实时性考量虽然AWR6843集成了加速器但处理链依然消耗大量计算资源尤其是MVDR波束成形计算复杂度高。在调试时需要关注DSP和R4F的负载率。使用CCS的Profile或Runtime Object View工具可以监控两个核心的CPU使用率。如果DSP负载持续超过80%可能需要考虑优化算法例如降低热图的角度搜索范围或分辨率或者检查是否有冗余计算。确保中断服务程序ISR执行时间足够短避免影响下一个数据帧的采集和处理。共享内存的管理是关键。雷达立方体、中间处理缓冲区、结果输出缓冲区都需要在L3 SRAM中合理规划避免内存冲突。TI的参考设计通常已经做了较好的规划但如果你添加了自己的算法模块需要仔细评估内存需求。最后记住毫米波雷达感知的是“运动”和“存在”而不是光学图像。它不识别你是谁只关心哪里有符合生命特征的微动。这种隐私友好、全天候的特性正是其在车内感知领域不可替代的优势。将AWR6843的强大算力与精心调校的算法结合你就能打造出一个稳定、可靠的车内智能感知系统。