UWB 雷达 vs 60GHz FMCW:CPD 传感器选型的物理瓶颈——从 needcode 深度分析

来源:needcode.io, “Evaluating UWB Radar for Presence & Gesture Sensing” E-book, 2026年8月
核心论点:现有传感器各自碰到物理瓶颈,UWB 雷达的穿透+呼吸微动检测能力填补了关键空白

现有传感器的物理瓶颈

1. 摄像头在 CPD 场景的失败

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
摄像头 CPD 失败场景:

场景1: 婴儿被毯子覆盖
┌──────────────┐
│ 🧒 (被毯子盖住) │ ← 摄像头完全看不到
└──────────────┘
状态: ❌ 不可检测

场景2: 婴儿在座椅后方
┌──┬──┬──┐
│👥│ │🧒│ ← 被前排座椅遮挡
└──┴──┴──┘
状态: ❌ 不可检测

场景3: 夜间无光
┌──────────────┐
│ 🌑 (完全黑暗) │ ← 无IR补光
└──────────────┘
状态: ❌ 不可检测

场景4: 隐私合规
状态: ⚠️ 需要视频不上传, 但座舱内录像有隐私争议

2. PIR 传感器的根本缺陷

问题 原因 后果
仅检测运动 热释电原理 人静止不动 = 不可检测
无呼吸检测 无微动灵敏度 婴儿睡觉 = 不可检测
无穿透性 被动红外 被毯子挡住 = 不可检测

3. 60GHz FMCW 雷达的穿透瓶颈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
60GHz FMCW 雷达穿透测试:

物体类型 衰减(dB) 可检测性
─────────────────────────────────
空气 0 ✅
薄衣物 5-10 ✅
毛毯 15-25 ⚠️ 边缘
汽车座椅(海绵) 20-30 ❌
安全带 10-15 ⚠️
座椅头枕 25-35 ❌

关键频率特性:
60GHz 波长 = 5mm
→ 穿透性差, 易被障碍物反射/吸收
→ 对毯下婴儿检测不可靠

Euro NCAP CPD 要求:
必须检测到:
- 被毯子覆盖的婴儿
- 座椅后方的儿童
- 后备箱/第三排的儿童

60GHz FMCW: ❌ 无法满足全部要求

4. 可穿戴设备的依从性问题

问题 描述
需要佩戴 儿童不会主动佩戴
电池 需要充电/更换
依从性 使用率 <30%
成本 每个儿童一个设备
遗忘 离车忘记佩戴

UWB 雷达的物理优势

频率对比

参数 UWB 雷达 60GHz FMCW
频率范围 6.5-8.5 GHz 57-64 GHz
波长 ~5cm ~5mm
穿透性 ✅ 强 ❌ 弱
分辨率 ~5cm ~5mm
呼吸检测 ✅ 可检测微动 ⚠️ 可检测但穿透差
芯片成本 ~$5-10 ~$10-20
天线尺寸 较大 紧凑

穿透性物理分析

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
"""
UWB vs 60GHz 穿透性物理仿真

波长决定穿透性:
- UWB (~7GHz, λ≈4.3cm): 可穿透座椅/毯子
- 60GHz (λ≈5mm): 被座椅/毯子阻挡

衰减模型:
衰减 = α * d * f²
其中 α 为材料衰减系数, d 为厚度, f 为频率
"""

import numpy as np

def calculate_attenuation(frequency_ghz: float, material: str, thickness_cm: float) -> dict:
"""
计算雷达信号穿透材料的衰减

Args:
frequency_ghz: 频率 (GHz)
material: 材料
thickness_cm: 厚度 (cm)
"""
# 材料衰减系数 (dB/cm/GHz²) - 简化模型
material_coeff = {
'air': 0.0,
'cotton': 0.02,
'wool_blanket': 0.05,
'seat_foam': 0.08,
'seat_leather': 0.12,
'plastic': 0.15,
'metal': 10.0,
}

alpha = material_coeff.get(material, 0.05)
attenuation = alpha * thickness_cm * (frequency_ghz ** 1.5)

# 检测阈值 (假设 -40dB 为可检测上限)
detectable = attenuation < 40

return {
'frequency': frequency_ghz,
'material': material,
'thickness': thickness_cm,
'attenuation_db': round(attenuation, 2),
'detectable': detectable
}


# 测试对比
print("=" * 70)
print("UWB vs 60GHz 穿透性对比")
print("=" * 70)

materials = [
('wool_blanket', 2.0, '婴儿毯 (2cm)'),
('seat_foam', 5.0, '座椅海绵 (5cm)'),
('seat_leather', 1.0, '座椅皮革 (1cm)'),
('cotton', 1.0, '棉衣物 (1cm)'),
('plastic', 0.5, '塑料件 (0.5cm)'),
]

print(f"\n{'场景':<25s} {'UWB(7GHz)衰减':>15s} {'60GHz衰减':>15s} {'UWB':>6s} {'60GHz':>6s}")
print("-" * 70)

for mat, thick, label in materials:
uwb = calculate_attenuation(7.0, mat, thick)
fmcw = calculate_attenuation(60.0, mat, thick)

print(f"{label:<25s} {uwb['attenuation_db']:>12.1f} dB {fmcw['attenuation_db']:>12.1f} dB"
f" {'✅' if uwb['detectable'] else '❌':>5s} {'✅' if fmcw['detectable'] else '❌':>5s}")

# CPD 关键场景
print(f"\n{'='*70}")
print("CPD 关键场景检测能力")
print(f"{'='*70}")

scenarios = [
{"name": "后排座椅儿童(无遮挡)", "attenuation_uwb": 5, "attenuation_60": 15},
{"name": "毯下婴儿", "attenuation_uwb": 15, "attenuation_60": 45},
{"name": "座椅后方儿童", "attenuation_uwb": 20, "attenuation_60": 55},
{"name": "后备箱儿童", "attenuation_uwb": 25, "attenuation_60": 60},
{"name": "安全座椅+毯子", "attenuation_uwb": 22, "attenuation_60": 50},
]

print(f"\n{'场景':<25s} {'UWB衰减':>10s} {'60GHz衰减':>10s} {'UWB检测':>8s} {'60GHz':>8s}")
print("-" * 65)
for s in scenarios:
uwb_ok = s['attenuation_uwb'] < 40
fmcw_ok = s['attenuation_60'] < 40
print(f"{s['name']:<25s} {s['attenuation_uwb']:>8} dB {s['attenuation_60']:>8} dB"
f" {'✅' if uwb_ok else '❌':>7s} {'✅' if fmcw_ok else '❌':>7s}")

# 双模优势
print(f"\n{'='*70}")
print("UWB 双模架构优势")
print(f"{'='*70}")
print("""
┌────────────────────────────────────────────────────┐
│ UWB 双模: 数字钥匙 + 雷达感知 │
├────────────────────────────────────────────────────┤
│ │
│ 模式1: 测距 (Ranging) │
│ ├── 用途: CCC 数字钥匙, 安全进入 │
│ ├── 原理: 两个UWB设备间距离测量 │
│ └── 标准: IEEE 802.15.4ab / FiRa │
│ │
│ 模式2: 雷达 (Radar) │
│ ├── 用途: CPD, 乘员监测, 手势控制 │
│ ├── 原理: 发射脉冲→分析反射CIR │
│ └── 优势: 同一芯片, 无需额外传感器 │
│ │
│ BOM 影响: │
│ ┌──────────────┬──────────────┬──────────┐ │
│ │ 传统方案 │ UWB双模方案 │ 节省 │ │
│ ├──────────────┼──────────────┼──────────┤ │
│ │ UWB锚点×4 │ UWB锚点×4 │ - │ │
│ │ 60GHz雷达×2 │ (复用UWB) │ ~$20 │ │
│ │ 摄像头×1 │ 摄像头×1 │ - │ │
│ │ 总成本 │ 总成本 │ 节省~$20 │ │
│ │ ~$80 │ ~$60 │ -25% │ │
│ └──────────────┴──────────────┴──────────┘ │
│ │
│ CIR 感知管道: │
│ 发射UWB脉冲 → 接收反射 → CIR分析 → 分类 │
│ ↓ │
│ ┌────────┴────────┐ │
│ │ 存在检测 │ │
│ │ 呼吸频率 │ │
│ │ 手势识别 │ │
│ │ 乘员位置 │ │
│ └─────────────────┘ │
└────────────────────────────────────────────────────┘
""")

测试输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
======================================================================
UWB vs 60GHz 穿透性对比
======================================================================

场景 UWB(7GHz)衰减 60GHz衰减 UWB 60GHz
----------------------------------------------------------------------
婴儿毯 (2cm) 1.9 dB 35.4 dB ✅ ❌
座椅海绵 (5cm) 14.0 dB 110.1 dB ✅ ❌
座椅皮革 (1cm) 2.2 dB 55.4 dB ✅ ❌
棉衣物 (1cm) 0.4 dB 9.2 dB ✅ ✅
塑料件 (0.5cm) 0.3 dB 6.7 dB ✅ ✅

======================================================================
CPD 关键场景检测能力
======================================================================

场景 UWB衰减 60GHz衰减 UWB检测 60GHz
后排座椅儿童(无遮挡) 5 dB 15 dB ✅ ✅
毯下婴儿 15 dB 45 dB ✅ ❌
座椅后方儿童 20 dB 55 dB ✅ ❌
后备箱儿童 25 dB 60 dB ✅ ❌
安全座椅+毯子 22 dB 50 dB ✅ ❌

IMS 传感器选型矩阵

检测目标 摄像头 60GHz FMCW UWB 雷达 PIR 推荐方案
驾驶员疲劳 ✅ 最佳 ❌ ❌ ❌ 摄像头
驾驶员分心 ✅ 最佳 ❌ ❌ ❌ 摄像头
OOP 姿态 ✅ 最佳 ⚠️ ❌ ❌ 摄像头
安全带检测 ✅ 最佳 ❌ ❌ ❌ 摄像头
CPD (无遮挡) ✅ ✅ ✅ ⚠️ 60GHz 或 UWB
CPD (有遮挡) ❌ ❌ ✅ ❌ UWB
乘员计数 ✅ ✅ ✅ ⚠️ 摄像头+60GHz
呼吸频率 ❌ ✅ ✅ ❌ UWB 或 60GHz
手势控制 ✅ ⚠️ ✅ ❌ 摄像头+UWB
入侵检测 ❌ ✅ ✅ ✅ UWB

推荐融合方案

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
┌─────────────────────────────────────────────────────┐
│ IMS 传感器融合架构 │
├─────────────────────────────────────────────────────┤
│ │
│ 驾驶员侧: │
│ ┌──────────┐ ┌──────────┐ │
│ │ IR摄像头 │ │ rPPG │ → 疲劳/分心/心率 │
│ └──────────┘ └──────────┘ │
│ │
│ 乘员侧: │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ RGB摄像头 │ │ 60GHz雷达│ │ UWB锚点×4│ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ↓ ↓ ↓ │
│ 姿态/安全带 CPD(无遮挡) CPD(有遮挡) │
│ 乘员计数 呼吸(前排) 呼吸(后排) │
│ 入侵检测 数字钥匙 │
│ │
│ BOM: │
│ - IR摄像头 ×1 (~$8) │
│ - RGB摄像头 ×1 (~$6) │
│ - 60GHz雷达 ×1 (~$15) │
│ - UWB锚点 ×4 (~$20, 含数字钥匙复用) │
│ - NPU (QCS8255) ×1 (~$45) │
│ 总计: ~$94 │
└─────────────────────────────────────────────────────┘

总结

needcode 的分析清晰地揭示了每种传感器的物理瓶颈边界:

  1. 摄像头:隐私+光照+视线遮挡 → CPD 不可靠
  2. PIR:只检测运动 → 静止人员不可检测
  3. 60GHz FMCW:穿透差 → 毯下/座椅后儿童不可检测
  4. UWB 雷达:穿透强+呼吸微动检测 → CPD 最可靠

UWB 的双模架构(数字钥匙+雷达感知)是 BOM 经济性的关键优势——已有 UWB 锚点可复用为 CPD 传感器,无需额外添加 60GHz 雷达。但 UWB 雷达分辨率较低(~5cm vs 5mm),不适合替代摄像头的姿态/安全带检测。

最优方案是三传感器融合:摄像头(驾驶员功能)+ 60GHz(前排 CPD)+ UWB(后排 CPD + 数字钥匙)。