FMCW 雷达乘员检测:多普勒呼吸放大与半静态人体感知——CPD 儿童检测的雷达方案(论文解读)
论文信息
标题: Doppler-Domain Respiratory Amplification for Semi-Static Human Occupancy Detection Using Low-Resolution SIMO FMCW Radar
发表: arXiv(2026年1月25日)
核心贡献: 多普勒域呼吸信号放大技术,检测座舱内半静态人体(如 sleeping child)
1. 核心问题 1.1 CPD 儿童检测挑战
场景
难度
原因
活动儿童
⭐ 易
运动多普勒信号强
静坐儿童
⭐⭐ 中
微动信号弱
睡眠儿童
⭐⭐⭐⭐⭐ 极难
仅呼吸信号,极微弱
空座椅
—
需排除误报
1.2 半静态人体检测 “半静态”定义: 人体几乎不动,仅有呼吸和心跳的微弱运动。
信号
强度
频率
肢体运动
强 (>1mm)
0.5-5 Hz
呼吸
弱 (~0.5mm)
0.2-0.5 Hz
心跳
极弱 (~0.1mm)
1-1.5 Hz
2. 多普勒呼吸放大技术
graph LR
A[FMCW雷达原始ADC] --> B[距离-多普勒FFT]
B --> C[多普勒域信号提取]
C --> D[呼吸放大滤波器<br/>0.2-0.5 Hz]
D --> E[能量累积]
E --> F{能量 > 阈值?}
F -->|是| G[检测到半静态人体]
F -->|否| H[空座/物体]
style D fill:#e1f5fe
style G fill:#e8f5e9
2.1 关键参数
参数
规格
雷达类型
FMCW SIMO(单发单收)
分辨率
低分辨率(低成本)
频段
60 GHz(座舱专用)
呼吸幅度
~0.5 mm 胸壁位移
检测距离
0.5-2 m(座舱内)
检测时间
5-10 秒累积
2.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 71 72 73 74 75 76 77 78 79 import numpy as npfrom scipy.signal import butter, filtfiltclass DopplerRespiratoryAmplifier : """ 多普勒域呼吸放大器 论文:arXiv 2026-01 用于FMCW雷达半静态人体检测 """ def __init__ (self, fs=20 , f_low=0.2 , f_high=0.5 ): """ Args: fs: 多普勒采样率 (Hz) f_low: 呼吸频段下限 (Hz) f_high: 呼吸频段上限 (Hz) """ self .fs = fs self .b, self .a = butter(4 , [f_low/(fs/2 ), f_high/(fs/2 )], btype='band' ) def amplify_respiration (self, doppler_signal ): """ 放大呼吸信号 Args: doppler_signal: (N_samples,) 多普勒域原始信号 Returns: amplified: 放大后的呼吸信号 energy: 呼吸频段能量 """ filtered = filtfilt(self .b, self .a, doppler_signal) energy = np.sum (filtered ** 2 ) / len (filtered) if energy > 0 : amplified = filtered / np.max (np.abs (filtered)) else : amplified = filtered return amplified, energy def detect_occupant (self, doppler_signal, threshold=1e-6 ): """ 检测半静态乘员 Args: doppler_signal: (N_samples,) 多普勒信号 threshold: 检测阈值 Returns: is_occupied: bool energy: 呼吸频段能量 """ _, energy = self .amplify_respiration(doppler_signal) is_occupied = energy > threshold return is_occupied, energy if __name__ == "__main__" : detector = DopplerRespiratoryAmplifier(fs=20 ) np.random.seed(42 ) noise = np.random.randn(200 ) * 0.001 occupied, energy = detector.detect_occupant(noise) print (f"空座椅: 检测={'有人' if occupied else '空' } , 能量={energy:.2 e} " ) t = np.arange(200 ) / 20 breathing = 0.01 * np.sin(2 * np.pi * 0.3 * t) + np.random.randn(200 ) * 0.001 occupied, energy = detector.detect_occupant(breathing) print (f"呼吸人体: 检测={'有人' if occupied else '空' } , 能量={energy:.2 e} " )
3. Euro NCAP CPD 场景对照
Euro NCAP CPD 场景
雷达检测方案
可行性
后排睡眠儿童
60GHz MIMO雷达 + 呼吸放大
✅
后排座椅空
呼吸能量低于阈值
✅
儿童被遮蔽(毯子)
雷达穿透性好
✅
宠物在座椅
呼吸频率不同(动物更快)
⚠️ 需区分
4. 对 IMS 的开发启示
优先级
任务
时间
P0
60GHz FMCW 雷达选型
2027 Q1
P0
呼吸放大算法实现
2027 Q1
P1
座舱多径干扰消除
2027 Q2
P1
儿童/成人/宠物区分
2027 Q2
P2
雷达+摄像头融合 CPD
2027 Q3
5. 总结 多普勒呼吸放大技术为 CPD 儿童检测提供了纯雷达方案,无需摄像头,天然隐私友好。低分辨率 SIMO 雷达成本低,适合量产部署。核心挑战在于座舱多径干扰和儿童/宠物区分。
参考来源:
Doppler-Domain Respiratory Amplification, arXiv(2026-01-25)
Euro NCAP 2026 CPD Protocol
TI IWR6843AOP 60GHz 雷达数据手册