60GHz FMCW 雷达 CPD 深度解读:为何成为2026-2030量产必选

发布时间: 2026-09-06
分类: 雷达感知 / CPD / 量产部署
标签: 60GHz, FMCW, CPD, child presence detection, Infineon, Novelic, Volvo, Euro NCAP


1. 背景

1.1 法规驱动

法规 生效时间 要求
Euro NCAP CPD 2025 后排儿童遗留检测
U.S. Hot Cars Act 2023+ 全美车辆标配
China NCAP 2025+ 逐步跟进

1.2 悲剧数据

每年全球数百名儿童因被遗忘在车内中暑死亡。传统方案(重量传感器、门锁计时器)无法可靠检测后排/后向座椅上的婴儿。


2. 为什么选 60GHz FMCW?

2.1 技术对比

特性 60GHz FMCW UWB 摄像头 重量传感器
穿透遮挡物 ✅ ✅ ❌ ❌
隐私保护 ✅ ✅ ❌ ✅
黑暗环境 ✅ ✅ ❌ ✅
检测呼吸/心跳 ✅ 有限 ❌ ❌
多功能扩展 ✅ 有限 ✅ ❌
成本 低 中 中 低
安全风险 无 中(中继攻击) 隐私 无

2.2 60GHz 优势详解

优势 说明
穿透性 穿透衣物/毛毯/座椅材料(除钢外)
非视距检测 摄像头看不到的,雷达可以
微运动检测 呼吸/心跳幅度~mm级
环境鲁棒 光照/温度/湿度/振动不影响
隐私设计 点云而非图像,不记录个人视觉数据

2.3 为什么不是UWB?

“FMCW 成本更低、集成更简单、功能扩展性更强,且避免了 UWB 的中继攻击安全风险。”


3. 量产部署现状

3.1 产业链

厂商 角色 产品
Infineon 芯片 XENSIV™ 60GHz BGT60ATR24C
Novelic 方案 一传感器四应用(CPD+座位+入侵+接近)
TI 芯片 IWR6843AOP 60GHz
Valeo Tier1 60GHz雷达OMS 2Tx/3-4Rx
Volvo OEM EX90 首搭3颗60GHz CPD
Socionext 芯片 60GHz专用方案

3.2 Volvo EX90 方案

参数 详情
传感器数量 3颗60GHz雷达
覆盖范围 前排+后排+后备箱
检测能力 儿童遗留/宠物/呼吸/心跳
首发时间 2024-2025
雷达供应商 未公开(推测Infineon方案)

3.3 市场预测

ABI Research: 2030年 60GHz CPD雷达出货量达 350万颗


4. 工程挑战

4.1 信号处理

挑战 难点 解决方向
微运动提取 呼吸幅度mm,车辆振动cm 多普勒滤波+自适应阈值
后备箱干扰 行李箱盖运动模拟舱内活动 轻量时域检测器
多目标分离 多个乘员呼吸叠加 空间滤波+聚类
实时处理 低延迟告警 边缘NPU部署

4.2 一传感器多应用


5. CPD 检测算法核心

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
import numpy as np
from scipy.signal import butter, filtfilt, find_peaks

class CPDDetector:
"""
60GHz FMCW 雷达儿童遗留检测

核心原理:
1. 从雷达中频信号提取相位
2. 相位变化反映目标微运动
3. 带通滤波分离呼吸(0.1-0.5Hz)和心跳(0.8-2.0Hz)
4. 能量阈值判定是否存在活体
"""

def __init__(self, sample_rate=20, breath_range=(0.1, 0.5),
heart_range=(0.8, 2.0), threshold=0.01):
self.fs = sample_rate
self.breath_range = breath_range
self.heart_range = heart_range
self.threshold = threshold

def _bandpass(self, signal, freq_range):
"""带通滤波"""
nyq = self.fs / 2
low = freq_range[0] / nyq
high = min(freq_range[1] / nyq, 0.99)
b, a = butter(4, [low, high], btype='band')
return filtfilt(b, a, signal)

def detect(self, radar_if_signal, window_sec=10):
"""
检测是否存在活体(儿童/宠物)

Args:
radar_if_signal: 中频信号, shape=(N,)
window_sec: 检测窗口秒数

Returns:
dict: 检测结果
"""
n_window = int(window_sec * self.fs)
results = []

for i in range(0, len(radar_if_signal) - n_window, n_window // 2):
window = radar_if_signal[i:i+n_window]

# 提取相位
phase = np.angle(window)
# 解卷绕
phase = np.unwrap(phase)
# 去趋势
phase = phase - np.mean(phase)

# 呼吸频带能量
breath_signal = self._bandpass(phase, self.breath_range)
breath_energy = np.sum(breath_signal**2) / n_window

# 心跳频带能量
heart_signal = self._bandpass(phase, self.heart_range)
heart_energy = np.sum(heart_signal**2) / n_window

# 总微运动能量
total_energy = breath_energy + heart_energy

# 检测峰值(呼吸频率)
peaks, _ = find_peaks(breath_signal, distance=self.fs*2)
breath_rate = len(peaks) / window_sec * 60 if len(peaks) > 0 else 0

results.append({
'has_presence': total_energy > self.threshold,
'breath_energy': breath_energy,
'heart_energy': heart_energy,
'breath_rate_bpm': breath_rate,
'confidence': min(total_energy / (self.threshold * 5), 1.0)
})

# 聚合结果
presence_count = sum(1 for r in results if r['has_presence'])
presence_ratio = presence_count / len(results) if results else 0

return {
'child_present': presence_ratio > 0.6,
'confidence': np.mean([r['confidence'] for r in results]) if results else 0,
'avg_breath_rate': np.mean([r['breath_rate_bpm'] for r in results
if r['breath_rate_bpm'] > 0]) if results else 0,
'presence_ratio': presence_ratio
}


if __name__ == "__main__":
detector = CPDDetector(sample_rate=20, threshold=0.005)

# 模拟呼吸信号 (0.3Hz = 18 bpm)
t = np.linspace(0, 30, 600)
breath = 0.1 * np.sin(2*np.pi*0.3*t)
heartbeat = 0.02 * np.sin(2*np.pi*1.2*t)
noise = 0.001 * np.random.randn(600)

# 模拟雷达中频信号(相位调制)
signal = np.exp(1j * (breath + heartbeat + noise))

result = detector.detect(signal, window_sec=10)

print("=== CPD 检测结果 ===")
print(f"儿童存在: {'是 ⚠️' if result['child_present'] else '否'}")
print(f"置信度: {result['confidence']:.1%}")
print(f"平均呼吸率: {result['avg_breath_rate']:.0f} bpm")
print(f"存在比例: {result['presence_ratio']:.0%}")

print("\n=== 部署参数 ===")
print("频段: 60GHz FMCW")
print("扫描带宽: 4GHz (距离分辨率~3.75cm)")
print("帧率: 20fps")
print("功耗: <1W")
print("检测延迟: <10s")
print("误报率目标: <5%")

6. 对 IMS 的启示

6.1 部署路线

阶段 时间 传感器 功能
Phase 1 2025-2026 1颗60GHz CPD + 座位占用
Phase 2 2026-2028 2-3颗60GHz CPD + 生命体征 + OOP
Phase 3 2028-2030 4D成像雷达 全舱感知 + 姿态 + 入侵

6.2 芯片选型

芯片 厂商 频段 Tx/Rx 带宽 适用
BGT60ATR24C Infineon 60GHz 2Tx/4Rx 4GHz CPD/OMS
IWR6843AOP TI 60GHz 3Tx/4Rx 4GHz CPD/手势
— Socionext 60GHz – – CPD

6.3 IMS 集成要点

  1. 传感器位置:车顶中部(覆盖后排),可选后备箱
  2. 与DMS融合:DMS摄像头检测驾驶员,CPD雷达检测后排
  3. 告警逻辑:熄火+锁车后检测到活体→鸣笛+APP推送
  4. Euro NCAP要求:2025+ CPD为评分项,需高检出率低误报率

7. 参考资源


60GHz FMCW 是2026-2030 CPD 量产的唯一选择。 隐私设计+穿透性+微运动检测+多功能扩展,四重优势无可替代。IMS 应优先集成 Infineon BGT60ATR24C 方案,Phase 1 实现 CPD + 座位占用双功能。