TI AWRL6844 60GHz 雷达:Edge AI 芯片实现 98% 乘员检测精度

一、产品概述

1.1 发布信息

发布日期: 2025 年 1 月 6 日

产品型号: AWRL6844 60GHz mmWave 雷达传感器

来自 TI 官方新闻稿:

“TI’s AWRL6844 60GHz mmWave radar sensor supports occupancy monitoring for seat belt reminder systems, child presence detection and intrusion detection with a single chip running edge AI algorithms, enabling a safer driving environment.”

1.2 核心性能指标

性能指标 数值 说明
乘员检测精度 98% 行驶中安全带提醒
CPD 分类精度 90%+ 停车后儿童微动检测
检测功能 3 合 1 SBR + CPD + 入侵检测
AI 部署 单芯片 内置神经网络推理

二、技术特性

2.1 硬件规格

参数 规格
频段 60 GHz mmWave
天线配置 3 发 4 收(3Tx4Rx)
分辨率 距离 3.75 cm,角度 15°
检测范围 最远 10 m
刷新率 最高 100 Hz
接口 SPI, I2C, CAN, UART
功耗 <1 W(典型)
工作温度 -40°C 至 85°C

2.2 Edge AI 能力

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# AWRL6844 Edge AI 能力配置

awrl6844_ai_capabilities = {
"occupant_detection": {
"accuracy": 0.98,
"latency": "≤50 ms",
"features": [
"乘员存在检测",
"乘员位置定位",
"乘员数量估计"
]
},

"child_presence_detection": {
"accuracy": 0.90,
"latency": "≤100 ms",
"features": [
"微动检测(呼吸、心跳)",
"儿童/宠物分类",
"实时监控"
],
"micromovement_sensitivity": {
"breathing": "可检测 <1 mm 胸部运动",
"heartbeat": "可检测心率信号"
}
},

"intrusion_detection": {
"latency": "≤200 ms",
"features": [
"车外入侵检测",
"车内移动物体检测",
"报警触发"
]
}
}

三、Euro NCAP 2025 CPD 要求对照

3.1 Euro NCAP CPD 场景覆盖

来自官方报道:

“After parking, it monitors for unattended children in the vehicle, using neural networks that detect micromovements in real time with over 90% classification accuracy. This direct sensing capability enables OEMs to meet 2025 European New Car Assessment Programme requirements.”

Euro NCAP CPD 场景对照表:

Euro NCAP 场景 AWRL6844 支持 检测方式
CPD-01 婴儿座椅(后向) 微动检测
CPD-02 婴儿座椅(前向) 微动检测
CPD-03 儿童独立坐 乘员检测
CPD-04 儿童睡着 呼吸检测
CPD-05 儿童被毯子覆盖 ⚠️ 部分 需多传感器融合
CPD-06 宠物检测 微动检测

四、部署架构

4.1 系统架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
┌─────────────────────────────────────────────────────────────┐
│ AWRL6844 系统架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ AWRL6844 芯片 │ │
│ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │
│ │ │ 60GHz RF │ │ DSP │ │ Edge AI │ │ │
│ │ │ 3Tx4Rx │ │ 处理器 │ │ 引擎 │ │ │
│ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ │
│ │ │ │ │ │ │
│ │ └───────────────┼───────────────┘ │ │
│ │ │ │ │
│ │ ┌──────▼──────┐ │ │
│ │ │ 神经网络 │ │ │
│ │ │ 推理引擎 │ │ │
│ │ └──────┬──────┘ │ │
│ └────────────────────────┼────────────────────────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │ │
│ ┌──────▼───────┐ ┌──────▼───────┐ ┌──────▼───────┐ │
│ │ SPI/I2C │ │ CAN │ │ UART │ │
│ │ 配置接口 │ │ 车载网络 │ │ 调试接口 │ │
│ └──────┬───────┘ └──────┬───────┘ └──────────────┘ │
│ │ │ │
│ │ ┌───────▼───────┐ │
│ │ │ 车身控制器 │ │
│ │ │ (BCM) │ │
│ │ └───────┬───────┘ │
│ │ │ │
│ │ ┌───────▼───────┐ │
│ │ │ HMI/云端 │ │
│ │ │ 警告通知 │ │
│ │ └───────────────┘ │
│ │ │
│ ┌──────▼───────┐ │
│ │ MCU 配置 │ │
│ │ 模式切换 │ │
│ └──────────────┘ │
│ │
└───────────────────────────────────────────────────────────┘

4.2 工作模式切换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# AWRL6844 工作模式配置

class AWRL6844ModeController:
"""AWRL6844 模式控制器"""

MODES = {
"DRIVING": {
"description": "行驶模式",
"features": ["occupant_detection", "seat_belt_reminder"],
"update_rate": "10 Hz",
"power": "0.5 W"
},
"PARKED": {
"description": "停车模式",
"features": ["child_presence_detection", "intrusion_detection"],
"update_rate": "1 Hz",
"power": "0.2 W"
},
"SLEEP": {
"description": "休眠模式",
"features": ["intrusion_detection"],
"update_rate": "0.1 Hz",
"power": "0.05 W"
}
}

def __init__(self, spi_interface, can_interface):
self.spi = spi_interface
self.can = can_interface
self.current_mode = "DRIVING"

def switch_mode(self, vehicle_state: dict):
"""
根据车辆状态切换模式

Args:
vehicle_state: {
'speed': km/h,
'engine_on': bool,
'doors_locked': bool
}
"""
if vehicle_state['speed'] > 5:
new_mode = "DRIVING"
elif vehicle_state['engine_on']:
new_mode = "DRIVING"
elif vehicle_state['doors_locked']:
new_mode = "PARKED"
else:
new_mode = "SLEEP"

if new_mode != self.current_mode:
self._configure_mode(new_mode)
self.current_mode = new_mode

def _configure_mode(self, mode: str):
"""配置芯片工作模式"""
config = self.MODES[mode]

# 通过 SPI 发送配置
self.spi.write_register(
addr=0x1000,
value=self._encode_mode(mode)
)

# 通过 CAN 发送状态
self.can.send_message(
can_id=0x123,
data={'mode': mode, 'features': config['features']}
)

五、CPD 算法实现

5.1 微动检测算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
import numpy as np
from scipy.signal import butter, filtfilt, find_peaks
from typing import Tuple, Optional

class MicromovementDetector:
"""
微动检测器

检测儿童/宠物的呼吸和心跳微动信号
用于 CPD(儿童存在检测)
"""

def __init__(self, fs: int = 100):
"""
Args:
fs: 雷达采样率(Hz)
"""
self.fs = fs

# 呼吸频率范围:12-30 次/分钟(0.2-0.5 Hz)
self.breath_band = (0.1, 0.7)

# 心跳频率范围:60-180 次/分钟(1-3 Hz)
self.heart_band = (0.8, 3.0)

# 滤波器系数
self.breath_filter = self._design_bandpass(self.breath_band)
self.heart_filter = self._design_bandpass(self.heart_band)

def _design_bandpass(self, band: Tuple[float, float]) -> Tuple:
"""设计带通滤波器"""
nyq = self.fs / 2
low = band[0] / nyq
high = band[1] / nyq
return butter(4, [low, high], btype='band')

def detect(
self,
radar_signal: np.ndarray,
duration: float = 5.0
) -> dict:
"""
检测微动信号

Args:
radar_signal: 雷达信号(复数,包含相位信息)
duration: 检测窗口时长(秒)

Returns:
{
'has_micromovement': bool,
'breathing_detected': bool,
'heartbeat_detected': bool,
'breathing_rate': float, # 次/分钟
'heartbeat_rate': float, # 次/分钟
'confidence': float
}
"""
# 提取相位信号
phase = np.angle(radar_signal)
phase_unwrapped = np.unwrap(phase)

# 滤波提取呼吸信号
breath_signal = filtfilt(self.breath_filter[0], self.breath_filter[1], phase_unwrapped)

# 滤波提取心跳信号
heart_signal = filtfilt(self.heart_filter[0], self.heart_filter[1], phase_unwrapped)

# 检测呼吸
breathing_detected, breathing_rate = self._detect_periodic(
breath_signal, self.breath_band
)

# 检测心跳
heartbeat_detected, heartbeat_rate = self._detect_periodic(
heart_signal, self.heart_band
)

# 综合判断
has_micromovement = breathing_detected or heartbeat_detected

# 计算置信度
confidence = self._calculate_confidence(
breath_signal, heart_signal, breathing_detected, heartbeat_detected
)

return {
'has_micromovement': has_micromovement,
'breathing_detected': breathing_detected,
'heartbeat_detected': heartbeat_detected,
'breathing_rate': breathing_rate,
'heartbeat_rate': heartbeat_rate,
'confidence': confidence
}

def _detect_periodic(
self,
signal: np.ndarray,
freq_band: Tuple[float, float]
) -> Tuple[bool, float]:
"""
检测周期性信号

Returns:
(detected, rate) - rate 单位:次/分钟
"""
# FFT 分析
n = len(signal)
freq = np.fft.rfftfreq(n, 1.0 / self.fs)
fft_mag = np.abs(np.fft.rfft(signal))

# 在目标频段内找峰值
mask = (freq >= freq_band[0]) & (freq <= freq_band[1])
if not np.any(mask):
return False, 0.0

freq_in_band = freq[mask]
mag_in_band = fft_mag[mask]

# 找最大峰值
peak_idx = np.argmax(mag_in_band)
peak_freq = freq_in_band[peak_idx]
peak_mag = mag_in_band[peak_idx]

# 判断是否为有效周期信号
# 使用峰值与平均值的比值作为判断依据
avg_mag = np.mean(mag_in_band)
snr = peak_mag / avg_mag if avg_mag > 0 else 0

detected = snr > 3.0 # SNR > 3 视为有效

# 转换为次/分钟
rate = peak_freq * 60.0

return detected, rate

def _calculate_confidence(
self,
breath_signal: np.ndarray,
heart_signal: np.ndarray,
breathing_detected: bool,
heartbeat_detected: bool
) -> float:
"""计算检测置信度"""
# 信号能量
breath_energy = np.var(breath_signal)
heart_energy = np.var(heart_signal)

# 基础置信度
base_confidence = 0.5

# 根据检测结果调整
if breathing_detected:
base_confidence += 0.3
if heartbeat_detected:
base_confidence += 0.2

# 根据信号能量调整
energy_factor = min(breath_energy + heart_energy, 1.0)

confidence = min(base_confidence * (1 + energy_factor), 1.0)

return confidence


# ==================== 使用示例 ====================

if __name__ == "__main__":
# 创建检测器
detector = MicromovementDetector(fs=100)

# 模拟雷达信号(包含呼吸 0.3 Hz + 心跳 1.5 Hz)
t = np.arange(0, 10, 0.01) # 10 秒
breath_component = 0.1 * np.sin(2 * np.pi * 0.3 * t)
heart_component = 0.02 * np.sin(2 * np.pi * 1.5 * t)
noise = 0.01 * np.random.randn(len(t))

# 组合信号(相位)
phase = breath_component + heart_component + noise
radar_signal = np.exp(1j * phase * 10) # 放大相位变化

# 检测
result = detector.detect(radar_signal)

print("微动检测结果:")
print(f" 检测到微动: {result['has_micromovement']}")
print(f" 呼吸检测: {result['breathing_detected']} ({result['breathing_rate']:.1f} 次/分钟)")
print(f" 心跳检测: {result['heartbeat_detected']} ({result['heartbeat_rate']:.1f} 次/分钟)")
print(f" 置信度: {result['confidence']:.2f}")

六、与摄像头融合方案

6.1 雷达-摄像头融合架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
class RadarCameraFusionCPD:
"""
雷达-摄像头融合 CPD 系统

雷达优势:穿透覆盖物、微动检测
摄像头优势:可视化确认、分类准确
"""

def __init__(self, radar: MicromovementDetector, camera_model):
self.radar = radar
self.camera = camera_model

# 融合权重
self.radar_weight = 0.6
self.camera_weight = 0.4

def detect_child_presence(
self,
radar_signal: np.ndarray,
camera_frame: np.ndarray
) -> dict:
"""
融合检测儿童存在

Returns:
{
'child_detected': bool,
'confidence': float,
'position': tuple,
'classification': str, # 'infant', 'child', 'pet', 'object'
'sensors_used': list
}
"""
# 雷达检测
radar_result = self.radar.detect(radar_signal)

# 摄像头检测
camera_result = self._camera_detect(camera_frame)

# 融合决策
if radar_result['has_micromovement'] and camera_result['child_detected']:
# 双重确认 - 高置信度
child_detected = True
confidence = 0.95
sensors_used = ['radar', 'camera']

elif radar_result['has_micromovement'] and not camera_result['valid']:
# 雷达检测 + 摄像头不可用(被覆盖)- 中等置信度
child_detected = True
confidence = 0.85
sensors_used = ['radar']

elif radar_result['has_micromovement'] and camera_result['object_detected']:
# 雷达检测 + 摄像头看到物体(可能是毯子)- 中高置信度
child_detected = True
confidence = 0.90
sensors_used = ['radar', 'camera']

else:
# 无检测
child_detected = False
confidence = 0.95
sensors_used = ['radar', 'camera']

return {
'child_detected': child_detected,
'confidence': confidence,
'position': camera_result.get('position', (0, 0)),
'classification': camera_result.get('classification', 'unknown'),
'sensors_used': sensors_used,
'radar_details': radar_result,
'camera_details': camera_result
}

def _camera_detect(self, frame: np.ndarray) -> dict:
"""摄像头检测(简化版)"""
# 实际实现中使用 YOLO 或其他检测模型
return {
'child_detected': False,
'object_detected': False,
'valid': True,
'position': None,
'classification': None
}

七、部署指南

7.1 硬件集成

组件 推荐型号 说明
MCU TMS570LS1227 功能安全 MCU
电源 TPS7B7702 汽车级 LDO
CAN 收发器 TCAN1042 高速 CAN
天线 PCB 天线或贴片天线 60 GHz

7.2 软件开发

TI 提供 mmWave SDK 和 Demo:

1
2
3
4
5
6
7
8
9
# TI mmWave SDK 下载
# https://www.ti.com/tool/MMWAVE-SDK

# CPD Demo 编译
cd mmwave_sdk_03_06_00_00-LTS/packages/ti/demo/cpd
make all

# 烧录到 AWRL6844
python flash_programmer.py --port COM3 --image cpd_demo.bin

八、总结

核心要点

  1. 单芯片 Edge AI 方案:AWRL6844 集成神经网络推理引擎
  2. 三功能合一:SBR + CPD + 入侵检测,降低系统成本
  3. 高精度检测:乘员检测 98%,CPD 微动检测 90%+
  4. 符合 Euro NCAP 2025:满足 CPD 要求
  5. 低功耗设计:停车模式功耗 <0.2 W

参考文献

  1. TI (2025). “New edge AI-enabled radar sensor and automotive audio processors from TI empower automakers to reimagine in-cabin experiences.”
  2. I-Connect007 (2025). “TI Launches New Edge AI-enabled Radar Sensor.”
  3. Dallas Innovates (2025). “TI Debuts Radar Sensor to Enhance In-Cabin Experiences.”

相关文章:


TI AWRL6844 60GHz 雷达:Edge AI 芯片实现 98% 乘员检测精度
https://dapalm.com/2026/04/18/2026-04-19-ti-awrl6844-60ghz-radar-edge-ai/
作者
IMS研究团队
发布于
2026年4月18日
许可协议