Calterah Dubhe:UWB 芯片做 CPD 的颠覆性方案——用数字钥匙硬件实现儿童检测

Calterah Dubhe:UWB 芯片做 CPD 的颠覆性方案

1. 核心创新

Calterah 在 AutoSens 2026 展示了 Dubhe CAL1106AQ 芯片,声称是首款 IEEE 802.15.4ab 标准的 FiRa 4.0 认证 2T4R UWB 芯片:

“The UWB upgrade enables child presence detection by refreshing existing keyless entry hardware with new software, potentially reducing the need for dedicated 60 GHz mmWave interior radars.”

核心价值:零额外硬件成本实现 CPD。

1.1 传统 CPD vs UWB CPD

方案 硬件 成本 部署
60GHz 专用雷达 新增 ACAM/IWR 模块 $15-20/车 需要布线+安装
UWB 复用数字钥匙 已有 UWB 硬件 $0(软件升级) OTA 软件更新
纯视觉 摄像头复用 $0 受遮挡限制

1.2 技术关键

Dubhe 的核心创新是 Radar Leakage Suppression(雷达泄漏抑制)模块:

技术挑战 Dubhe 解决方案
UWB 发射/接收泄漏 专用泄漏抑制硬件模块
婴儿呼吸微动检测 高灵敏度微动检测算法
穿透遮挡 UWB 频率可穿透毛毯/座椅
干扰抑制 FiRa 4.0 认证抗干扰

2. UWB CPD 技术原理

2.1 UWB vs 60GHz 雷达物理对比

参数 UWB (6-8 GHz) 60GHz mmWave
频率 6-8 GHz 57-64 GHz
波长 ~4-5cm ~5mm
穿透性 ✅ 优(穿透毛毯/座椅/衣物) ⚠️ 中等
距离分辨率 ~10cm ~4cm
微动灵敏度 ✅ 好 ✅ 优
模块尺寸 已部署 需新增
成本 $0(复用) $15-20

2.2 UWB 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
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
"""
UWB CPD 检测算法框架
基于 Calterah Dubhe 芯片的 UWB 信号处理
"""

import numpy as np
from scipy.signal import find_peaks, butter, filtfilt

class UWBCPDDetector:
"""
UWB 儿童遗留检测器

工作原理:
1. 利用 UWB 脉冲雷达的测距能力
2. 在座舱内建立距离-时间图
3. 检测静止目标的微动(呼吸)
4. 通过 RCS/距离判断是否为儿童
"""

def __init__(self, config: dict):
self.sample_rate = config.get('sample_rate', 1e9) # 1 GHz
self.bandwidth = config.get('bandwidth', 500e6) # 500 MHz
self.num_samples = config.get('num_samples', 256)
self.frame_rate = config.get('frame_rate', 10) # 10 Hz

# CPD 参数
self.range_resolution = 3e8 / (2 * self.bandwidth)
self.max_range = self.num_samples * self.range_resolution / 2

# 呼吸频率范围
self.breath_min = 0.1 # 6次/分钟
self.breath_max = 0.5 # 30次/分钟

def range_profile(self, rx_signal: np.ndarray) -> np.ndarray:
"""
从接收信号提取距离剖面

Args:
rx_signal: UWB 接收信号, shape=(num_samples,)

Returns:
range_mag: 距离剖面幅度
"""
# 匹配滤波(简化:直接 FFT)
range_fft = np.fft.fft(rx_signal)
range_mag = np.abs(range_fft)
return range_mag

def detect_presence(self, range_profiles: np.ndarray,
threshold: float = 1e3) -> list:
"""
从多帧距离剖面检测目标

Args:
range_profiles: shape=(num_frames, num_samples)

Returns:
detections: [(range_bin, range_m)]
"""
# 平均距离剖面
avg_profile = np.mean(range_profiles, axis=0)

# 峰值检测
peaks, _ = find_peaks(avg_profile, height=threshold)

detections = []
for peak in peaks:
range_m = peak * self.range_resolution
if 0.2 < range_m < 3.0: # 座舱范围
detections.append((peak, range_m))

return detections

def detect_micro_motion(self, range_profiles: np.ndarray,
range_bin: int) -> dict:
"""
在指定距离单元检测微动(呼吸)

Args:
range_profiles: shape=(num_frames, num_samples)
range_bin: 目标距离单元

Returns:
{'has_breathing': bool, 'breath_rate': float}
"""
# 提取相位变化序列
phase_series = np.angle(
np.fft.fft(range_profiles, axis=1)[:, range_bin]
)
phase_series = np.unwrap(phase_series)
phase_series = phase_series - np.mean(phase_series)

# 带通滤波提取呼吸频段
nyq = self.frame_rate / 2
b, a = butter(4,
[self.breath_min/nyq, self.breath_max/nyq],
btype='band')
breath_signal = filtfilt(b, a, phase_series)

# FFT 检测呼吸频率
spectrum = np.abs(np.fft.fft(breath_signal))
freqs = np.fft.fftfreq(len(breath_signal), 1/self.frame_rate)

pos_mask = freqs > 0
breath_mask = (freqs[pos_mask] >= self.breath_min) & \
(freqs[pos_mask] <= self.breath_max)

if np.any(breath_mask):
peak_idx = np.argmax(spectrum[pos_mask][breath_mask])
breath_freq = freqs[pos_mask][breath_mask][peak_idx]
breath_rate = breath_freq * 60 # 次/分钟
return {'has_breathing': True, 'breath_rate': breath_rate}

return {'has_breathing': False, 'breath_rate': 0.0}

def classify_target(self, range_m: float, breath_rate: float,
rcs_estimate: float) -> str:
"""
分类目标类型

Returns:
'child' | 'adult' | 'pet' | 'object' | 'unknown'
"""
if breath_rate == 0:
# 无呼吸 → 物体
return 'object'

# 婴儿呼吸: 30-60 次/分钟 (0.5-1.0 Hz)
# 儿童呼吸: 20-30 次/分钟
# 成人呼吸: 12-20 次/分钟

if 0.5 <= breath_rate <= 1.0:
return 'child' # 婴儿
elif 0.33 <= breath_rate < 0.5:
if rcs_estimate < 0.01: # 小 RCS
return 'child'
return 'adult'
elif 0.2 <= breath_rate < 0.33:
return 'adult'
else:
return 'unknown'


# 测试
if __name__ == "__main__":
detector = UWBCPDDetector({
'sample_rate': 1e9,
'bandwidth': 500e6,
'num_samples': 256,
'frame_rate': 10
})

print(f"距离分辨率: {detector.range_resolution*100:.1f} cm")
print(f"最大距离: {detector.max_range:.1f} m")

# 模拟 UWB 信号(100帧,256采样)
np.random.seed(42)
profiles = np.random.randn(100, 256) * 0.1 + 0.5

# 添加模拟呼吸信号(0.3Hz = 18次/分)
for i in range(100):
profiles[i, 50] += np.sin(2 * np.pi * 0.3 * i / 10)

# 检测
dets = detector.detect_presence(profiles)
for bin_idx, range_m in dets:
motion = detector.detect_micro_motion(profiles, bin_idx)
if motion['has_breathing']:
target = detector.classify_target(
range_m, motion['breath_rate'], 0.005
)
print(f"目标: 距离={range_m:.2f}m, "
f"呼吸={motion['breath_rate']:.1f}次/分, "
f"类型={target}")

3. UWB CPD 的商业模式价值

3.1 成本对比

方案 硬件成本 开发成本 总成本/车
60GHz 专用雷达 $15-20 $5(集成) $20-25
UWB 复用数字钥匙 $0 $2(软件开发) $2
纯视觉 $0 $5(算法) $5(但遮挡受限)

3.2 OEM 采用路径

1
2
3
4
5
6
7
8
9
10
11
12
阶段1: 已有 UWB 数字钥匙的车型
→ OTA 软件升级即可获得 CPD
→ 几乎零边际成本

阶段2: 新车型标配 UWB
→ CPD 作为标准功能
→ 不需要单独选装 60GHz 雷达

阶段3: UWB + 视觉融合
→ UWB 做穿透检测
→ 摄像头做精确分类
→ 达到 Euro NCAP 最高评级

4. Calterah Dubhe 芯片规格

参数 CAL1106AQ
标准 IEEE 802.15.4ab
认证 FiRa 4.0
配置 2T4R (2发射4接收)
特殊模块 Radar Leakage Suppression
测距 >400m(BLE辅助)
穿墙/车 可穿透停放的车辆
应用 CPD + 数字钥匙 + 活体检测

5. 对 IMS 开发的启示

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
def recommend_cpd_sensor(has_uwb_key: bool, has_ir_camera: bool,
budget_tier: str) -> dict:
"""CPD 传感器选型推荐"""

if has_uwb_key:
# 已有 UWB 数字钥匙 → 零成本 CPD
return {
'primary': 'UWB (复用数字钥匙)',
'secondary': 'IR 摄像头' if has_ir_camera else None,
'cost': '$0-2',
'euro_ncap': '可满足基本要求'
}

if budget_tier == 'low':
return {
'primary': 'UWB 新增',
'secondary': 'IR 摄像头',
'cost': '$5-8',
'euro_ncap': '满足要求'
}

if budget_tier == 'high':
return {
'primary': '60GHz 雷达 (NOVELIC ACAM)',
'secondary': 'IR 摄像头 + 红外安全带',
'cost': '$20-30',
'euro_ncap': '最高评级'
}

return {
'primary': '纯视觉 (受限)',
'cost': '$0',
'euro_ncap': '部分要求'
}


# 测试
if __name__ == "__main__":
# 场景1: 已有UWB的中高端车型
print(recommend_cpd_sensor(True, True, 'high'))

# 场景2: 无UWB的经济型
print(recommend_cpd_sensor(False, True, 'low'))

# 场景3: 无UWB的高端车型
print(recommend_cpd_sensor(False, True, 'high'))

5.2 建议

优先级 建议
🔴 P0 评估现有 UWB 数字钥匙硬件是否支持 CPD
🔴 P0 对比 UWB CPD vs 60GHz 雷达 CPD 精度
🟡 P1 开发 UWB + 视觉融合方案
🟢 P2 联系 Calterah 获取 Dubhe 开发套件

6. 参考


Calterah Dubhe:UWB 芯片做 CPD 的颠覆性方案——用数字钥匙硬件实现儿童检测
https://dapalm.com/2026/10/06/2026-10-06-006-calterah-dubhe-uwb-cpd/
作者
Mars
发布于
2026年10月6日
许可协议