Calterah UWB CPD:软件升级实现儿童检测——AutoSens 2026产业分析

概览

在AutoSens Europe 2026(巴塞罗那)上,Calterah(加特兰)展示了其Dubhe CAL1106AQ SoC——全球首个在FiRa 4.0认证的2T4R UWB芯片上实现IEEE 802.15.4ab感知功能的产品。关键突破是:通过软件升级现有无钥匙进入UWB硬件即可实现CPD功能,可能使专用的60GHz mmWave车内雷达变得不必要。

技术方案

CAL1106AQ 核心参数

参数 数值
芯片型号 Dubhe CAL1106AQ
UWB标准 IEEE 802.15.4ab
FiRa认证 FiRa 4.0
天线配置 2T4R(2发4收,官方称业界首个2T4R UWB SoC)
测距能力 支持远距离测距(官方页面未公布具体数值)
感知能力 支持 IEEE 802.15.4ab 感知与单站(monostatic)雷达
CPD能力 官方 CPD 开发套件称支持儿童存在检测、乘员分类与生命体征监测
处理器 240 MHz RISC-V,22nm CMOS,6mm×6mm QFN

技术架构

泄漏抑制与车内感知设计

UWB 雷达要实现 CPD,首先要解决收发直耦泄漏问题(官方产品页确认 CAL1106AQ 支持单站雷达与 802.15.4ab 感知;具体泄漏抑制实现细节官方未单独公布):

挑战 说明
天线泄漏 收发天线直耦信号会淹灭微弱的人体反射
车内多径 多径干扰易产生虚假检测
静止人体 呼吸等微动信号极弱,需要高灵敏度处理
婴儿覆盖 毯子下呼吸信号衰减大,对穿透与灵敏度要求更高

UWB vs 60GHz mmWave vs 摄像头

维度 Calterah UWB TI IWR6843 60GHz 摄像头
穿透遮挡 ✅ 可穿透毯子/衣物 ✅ 可穿透薄遮挡 ❌ 被遮挡即失效
隐私 ✅ 无图像 ✅ 无图像 ⚠️ 需要图像
呼吸检测 ✅ 可检测 ✅ 可检测 ❌ 无法检测
成本 💰 利用现有钥匙硬件 💰💰💰 专用雷达 💰💰 已有摄像头
额外硬件 ❌ 软件升级即可 ✅ 需新增雷达 ❌ 利用现有摄像头
测距精度 厘米级 厘米级 N/A
更新方式 OTA软件更新 需硬件集成 软件更新
认证 FiRa 4.0 AEC-Q100 AEC-Q100

硬件部署方案对比

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
# CPD方案BOM对比分析
# 注意:以下 BOM 成本与部署周期均为工程估算值,非厂商公开报价

cpd_solutions = {
"Calterah UWB (软件升级)": {
"额外硬件": "无(复用无钥匙进入UWB)",
"新增BOM": "$0(仅软件开发)",
"额外重量": "0g",
"线束改动": "无",
"OTA更新": "支持",
"部署周期": "3-6个月",
"限制": "测距精度~10cm,呼吸检测灵敏度待验证"
},
"TI IWR6843 (60GHz专用雷达)": {
"额外硬件": "1×IWR6843AOP + 天线 + 外壳",
"新增BOM": "$15-25",
"额外重量": "~50g",
"线束改动": "需CAN总线连接",
"OTA更新": "支持",
"部署周期": "12-18个月(新硬件集成)",
"限制": "需在车顶/顶灯位置安装"
},
"摄像头+rider融合": {
"额外硬件": "利用现有OMS摄像头",
"新增BOM": "$0-5(算法授权)",
"额外重量": "0g",
"线束改动": "无",
"OTA更新": "支持",
"部署周期": "6-12个月",
"限制": "遮挡场景失效,需雷达backup"
},
"UWB+60GHz融合": {
"额外硬件": "UWB + 60GHz雷达",
"新增BOM": "$15-25",
"额外重量": "~50g",
"线束改动": "需新增雷达线束",
"OTA更新": "支持",
"部署周期": "12-18个月",
"限制": "成本最高,但覆盖最全面"
}
}

for solution, details in cpd_solutions.items():
print(f"\n{'='*50}")
print(f"方案: {solution}")
for key, value in details.items():
print(f" {key}: {value}")

AutoSens 2026 其他CPD方案

Infineon 60GHz雷达

Infineon展示了XENSIV 60GHz雷达评估模块,提供全座舱监控和实时雷达点云叠加在视频流上。

特性 Infineon方案
频率 60GHz
功能 全座舱监控 + CPD
展示 实时点云叠加
定位 专用雷达方案

Aptiv 摄像头分类

Aptiv 是同期 InCabin Europe(与 AutoSens Europe 同址举办)的演讲/参展厂商,展示了单内舱摄像头的乘员分类方案:

特性 Aptiv方案
传感器 单内舱摄像头
分类 成人/婴儿/儿童/物体(原文未提供具体精度数字)

OmniVision 红外传感器

特性 OX05C1S方案
分辨率 5MP(2592×1944,BSI 全局快门 HDR)
技术 Nyxel近红外(940nm QE 领先)
封装 较上代 OX05B1S 缩小30%(6.61mm×5.34mm)
安装 车内集成
功能 DMS/OMS

Calterah技术验证代码

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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
"""
Calterah UWB CPD 呼吸检测模拟验证

UWB雷达检测呼吸的原理:
1. 发射UWB脉冲,接收反射信号
2. 提取胸腔微动(呼吸引起的0.1-0.5mm位移)
3. 通过Range-FFT和相位提取获取微动信号
4. 带通滤波(0.1-0.5Hz)提取呼吸频率

注意:此为原理验证代码,实际部署需Calterah SDK
"""

import numpy as np
from scipy import signal
from typing import Tuple

class UWBCPDSimulator:
"""
UWB CPD呼吸检测模拟器

模拟Calterah CAL1106AQ的CPD检测流程:
1. UWB脉冲发射与接收
2. Range-FFT提取目标距离bin
3. 相位提取获取微动信号
4. 带通滤波提取呼吸频率
5. 活体判定
"""

def __init__(self, sampling_rate=1000, range_resolution=0.1):
"""
Args:
sampling_rate: 采样率 (Hz)
range_resolution: 距离分辨率 (m)
"""
self.fs = sampling_rate
self.range_res = range_resolution

# 模拟参数
self.target_distance = 0.8 # 婴儿在后排约0.8m
self.breath_freq_adult = 0.25 # 成人呼吸 ~15次/分
self.breath_freq_infant = 0.45 # 婴儿呼吸 ~27次/分
self.heartbeat_freq = 1.2 # 心跳 ~72次/分

def simulate_uwb_signal(self, duration: float = 10.0,
is_occupied: bool = True,
is_infant: bool = True) -> dict:
"""
模拟UWB雷达接收信号

Args:
duration: 采集时长(秒)
is_occupied: 座椅是否有人
is_infant: 是否为婴儿

Returns:
信号数据字典
"""
t = np.arange(0, duration, 1/self.fs)
n_samples = len(t)

# 目标距离bin
target_bin = int(self.target_distance / self.range_res)

if is_occupied:
# 呼吸引起的胸腔位移
breath_freq = self.breath_freq_infant if is_infant else self.breath_freq_adult
breath_displacement = 0.3e-3 # 0.3mm 呼吸位移

# 呼吸信号
breath_signal = breath_displacement * np.sin(2 * np.pi * breath_freq * t)

# 心跳信号(更微弱)
heartbeat_signal = 0.05e-3 * np.sin(2 * np.pi * self.heartbeat_freq * t)

# 总微动信号
micro_motion = breath_signal + heartbeat_signal

# 噪声
noise = np.random.normal(0, 0.02e-3, n_samples)

# 接收信号 = 直耦 + 目标反射 + 噪声
# RLS抑制后主要剩微动
signal_phase = 4 * np.pi * micro_motion / 3e8 * 7.5e9 # UWB中心频率7.5GHz
received = np.exp(1j * signal_phase) + noise

else:
# 空座椅:只有静态反射和噪声
received = np.ones(n_samples, dtype=complex) * 0.1
received += np.random.normal(0, 0.02, n_samples)
micro_motion = np.zeros(n_samples)

return {
'time': t,
'received': received,
'target_bin': target_bin,
'micro_motion': micro_motion,
'is_occupied': is_occupied,
'is_infant': is_infant
}

def extract_breathing(self, received_signal: np.ndarray) -> Tuple[np.ndarray, float]:
"""
从UWB接收信号中提取呼吸频率

Args:
received_signal: 接收信号 (complex)

Returns:
filtered_signal: 滤波后的呼吸信号
breath_freq: 估计的呼吸频率 (Hz)
"""
# 提取相位(微动信息在相位中)
phase = np.angle(received_signal)

# 解包裹
phase_unwrapped = np.unwrap(phase)

# 带通滤波:0.1-1.0 Hz(覆盖婴儿和成人呼吸+心跳)
nyq = self.fs / 2
low = 0.1 / nyq
high = 1.0 / nyq
b, a = signal.butter(4, [low, high], btype='band')
filtered = signal.filtfilt(b, a, phase_unwrapped)

# FFT提取频率
freqs = np.fft.rfftfreq(len(filtered), 1/self.fs)
fft_mag = np.abs(np.fft.rfft(filtered))

# 找呼吸频率峰值(0.1-0.6Hz范围)
breath_mask = (freqs >= 0.1) & (freqs <= 0.6)
if np.any(breath_mask) and np.max(fft_mag[breath_mask]) > 0.01:
peak_idx = np.argmax(fft_mag[breath_mask])
breath_freq = freqs[breath_mask][peak_idx]
else:
breath_freq = 0.0

return filtered, breath_freq

def detect_presence(self, received_signal: np.ndarray,
threshold: float = 0.001) -> dict:
"""
活体检测判定

Args:
received_signal: 接收信号
threshold: 活体判定阈值

Returns:
判定结果
"""
filtered, breath_freq = self.extract_breathing(received_signal)

# 信号能量
energy = np.var(filtered)

# 判定
is_alive = energy > threshold and breath_freq > 0.05

return {
'is_present': is_alive,
'breath_frequency': breath_freq,
'breath_rate_per_min': breath_freq * 60 if breath_freq > 0 else 0,
'signal_energy': energy,
'confidence': min(energy / threshold / 2, 1.0)
}


# 测试验证
if __name__ == "__main__":
print("=" * 60)
print("Calterah UWB CPD 呼吸检测模拟验证")
print("=" * 60)

simulator = UWBCPDSimulator()

# 场景1: 婴儿在后排
print("\n场景1: 婴儿在后排座椅")
data = simulator.simulate_uwb_signal(duration=10.0, is_occupied=True, is_infant=True)
result = simulator.detect_presence(data['received'])
print(f" 信号能量: {result['signal_energy']:.6f}")
print(f" 呼吸频率: {result['breath_frequency']:.3f} Hz ({result['breath_rate_per_min']:.1f} 次/分)")
print(f" 活体检测: {'✅ 检测到活体' if result['is_present'] else '❌ 未检测到'}")
print(f" 置信度: {result['confidence']:.1%}")
print(f" 真实呼吸: {simulator.breath_freq_infant:.3f} Hz ({simulator.breath_freq_infant*60:.1f} 次/分)")

# 场景2: 空座椅
print("\n场景2: 空座椅")
data = simulator.simulate_uwb_signal(duration=10.0, is_occupied=False)
result = simulator.detect_presence(data['received'])
print(f" 信号能量: {result['signal_energy']:.6f}")
print(f" 呼吸频率: {result['breath_frequency']:.3f} Hz")
print(f" 活体检测: {'✅ 检测到活体' if result['is_present'] else '❌ 未检测到(正确)'}")
print(f" 置信度: {result['confidence']:.1%}")

# 场景3: 成人在后排
print("\n场景3: 成人在后排座椅")
data = simulator.simulate_uwb_signal(duration=10.0, is_occupied=True, is_infant=False)
result = simulator.detect_presence(data['received'])
print(f" 信号能量: {result['signal_energy']:.6f}")
print(f" 呼吸频率: {result['breath_frequency']:.3f} Hz ({result['breath_rate_per_min']:.1f} 次/分)")
print(f" 活体检测: {'✅ 检测到活体' if result['is_present'] else '❌ 未检测到'}")
print(f" 置信度: {result['confidence']:.1%}")
print(f" 真实呼吸: {simulator.breath_freq_adult:.3f} Hz ({simulator.breath_freq_adult*60:.1f} 次/分)")

市场分析

CPD市场规模

Strat View Research、Market Research Future 等多家机构均发布了 CPD 市场预测报告(MRFR 报告期为 2035 年),普遍认为法规驱动下该市场将快速增长;但各家口径与数值差异极大,具体数字建议以机构报告原文为准(本文不列出未经核实的具体数值)。Calterah 通过 2026 年发布的 UWB CPD 雷达开发套件加快 OEM/Tier1 落地。

供应商格局

供应商 方案 量产状态 优势
Calterah UWB CAL1106AQ 2026 FiRa认证 软件升级,零额外硬件
TI IWR6843AOP 60GHz 已量产 高精度,呼吸检测成熟
Infineon XENSIV 60GHz 评估阶段 全座舱监控
NXP NCJ29D6 UWB BMW定点 数字钥匙+CPD双用
NOVELIC ACAM 60GHz 车规定点推进中 车载量产经验

关键趋势

IMS开发启示

1. 供应商选型建议

优先级 方案 推荐场景
🔴 高 UWB软件升级(如Calterah) 已有UWB无钥匙进入的车型
🔴 高 60GHz专用雷达(如TI) 需要高精度CPD+生命体征
🟡 中 摄像头+雷达融合 需要同时满足OMS和CPD
🟢 低 纯摄像头CPD 成本敏感,遮挡场景可接受

2. 开发路线建议

阶段 时间 任务 依赖
Phase 1 0-3月 UWB SDK评估,呼吸检测验证 Calterah/TI SDK
Phase 2 3-6月 集成到CPD算法pipeline CAN/Ethernet接口
Phase 3 6-12月 实车测试+法规对标 Euro NCAP CPD场景
Phase 4 12-18月 量产部署 SOP

3. Euro NCAP CPD对齐

Euro NCAP要求 UWB方案 60GHz方案
检测后排儿童 ✅ ✅
毯子下检测 ✅ 穿透性好 ✅ 穿透性好
脚窝检测 ⚠️ 距离bin限制 ✅ 多bin覆盖
生命体征 ✅ 呼吸 ✅ 呼吸+心跳
双系统冗余 ⚠️ 需配合摄像头 ⚠️ 需配合摄像头

总结

Calterah的UWB CPD方案代表了”软件定义汽车”在座舱安全领域的突破:利用已有的无钥匙进入UWB硬件,通过软件升级实现CPD功能,显著降低BOM成本和集成复杂度。

但对于需要高精度CPD和生命体征监测的场景,60GHz mmWave雷达仍是更成熟的选择。最优方案是UWB+60GHz融合:UWB提供低成本基础覆盖,60GHz提供高精度增强。

IMS落地建议: 优先评估现有车型的UWB硬件兼容性,如果已有Calterah/NXP UWB无钥匙进入系统,可通过软件升级快速实现CPD功能。同时保留60GHz雷达作为高精度增强选项。