RT-VSS:FR3频段(7-24GHz)无线生命体征感知仿真框架与座舱应用前景

发布时间: 2026-09-17
标签: FR3, RT-VSS, 生命体征, 呼吸检测, 心跳检测, mmWave, Sionna, Blender, 射线追踪


论文信息

项目 详情
标题 RT-VSS: In-House Ray Tracing for Vital Signs Sensing in the FR3 Band
arXiv 2609.15310
提交日期 2026-09-14
领域 eess.SP (Signal Processing)
工具 Blender + Sionna Ray Tracing
频段 FR3 (7-24 GHz)

核心创新

本文验证了使用FR3频段(7-24 GHz)蜂窝通信信号进行人体呼吸和心跳检测的可行性。FR3频段具有独特优势:

特性 FR3 (7-24 GHz) FR1 (sub-6 GHz) FR2 (mmWave)
波长 ~1.2-4.3 cm 5-10 cm 1-3 mm
相位灵敏度 高(cm级波长匹配胸部微动) 极高但衰减大
带宽 丰富(7-24 GHz范围) 有限 充足但视距受限
多径分集 丰富 有限 弱(反射少)
穿透力 中等
生理信号匹配 呼吸+心跳 仅呼吸 呼吸+心跳+微动

呼吸与心跳检测结果

指标 结果 说明
呼吸率误差 0 BPM(大多数接收位置) 零误差提取呼吸频率
心跳率误差 0-32 BPM 取决于几何位置和载波频率
仿真工具 Blender生理建模 + Sionna射线追踪 室内场景
验证方法 多频段对比(FR1/FR2/FR3) 跨频段一致性验证

技术详解

1. 射线追踪仿真架构

graph TB
    A[Blender 3D人体模型<br/>含生理运动] --> B[Sionna Ray Tracing<br/>电磁波传播仿真]
    B --> C[多径信道冲激响应<br/>CIR]
    C --> D[微多普勒提取<br/>胸部起伏信号]
    D --> E[呼吸波形重建]
    D --> F[心跳波形重建]
    E --> G{频率对比}
    F --> G
    G --> H[FR1 vs FR2 vs FR3<br/>性能评估]
    
    style A fill:#4a9
    style H fill:#fa0

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
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
import numpy as np
from typing import Tuple

def model_chest_displacement(
breathing_rate: float = 0.25, # Hz, ~15 breaths/min
breathing_amplitude: float = 4e-3, # 4mm
heart_rate: float = 1.2, # Hz, ~72 bpm
heart_amplitude: float = 0.5e-3, # 0.5mm
duration_s: float = 10.0,
fs: float = 1000.0
) -> Tuple[np.ndarray, np.ndarray]:
"""
模拟胸部位移(呼吸+心跳)

参考: RT-VSS论文中的Blender生理建模

Args:
breathing_rate: 呼吸频率(Hz)
breathing_amplitude: 呼吸幅度(m), 正常4-12mm
heart_rate: 心率(Hz)
heart_amplitude: 心跳幅度(m), 正常0.2-0.5mm
duration_s: 持续时间
fs: 采样率

Returns:
(t, displacement): 时间轴和胸部位移
"""
t = np.linspace(0, duration_s, int(duration_s * fs))

# 呼吸:正弦波
breathing = breathing_amplitude * np.sin(2 * np.pi * breathing_rate * t)

# 心跳:更复杂波形(含二尖瓣和三尖瓣关闭)
heartbeat = heart_amplitude * (
np.sin(2 * np.pi * heart_rate * t) +
0.3 * np.sin(4 * np.pi * heart_rate * t) # 谐波
)

displacement = breathing + heartbeat

return t, displacement


def simulate_fr3_radar_sensing(
displacement: np.ndarray,
carrier_freq_ghz: float = 10.0,
bandwidth_ghz: float = 2.0,
n_rx_positions: int = 10,
fs: float = 1000.0
) -> dict:
"""
模拟FR3频段雷达感知

Args:
displacement: 胸部位移
carrier_freq_ghz: 载波频率
bandwidth_ghz: 带宽
n_rx_positions: 接收位置数
fs: 采样率

Returns:
检测结果
"""
c = 3e8 # 光速
wavelength = c / (carrier_freq_ghz * 1e9) # 波长

# 相位变化 = 4π * d / λ (往返)
phase_change = 4 * np.pi * displacement / wavelength

results = []
for rx_idx in range(n_rx_positions):
# 模拟多径(不同接收位置有不同多径)
multipath_delay = np.random.uniform(0, 50e-9, 5) # 0-50ns
multipath_amp = np.random.uniform(0.1, 0.5, 5)

# 接收信号 = 直接路径 + 多径
rx_signal = np.exp(1j * phase_change)
for d, a in zip(multipath_delay, multipath_amp):
rx_signal += a * np.exp(1j * (phase_change + 2 * np.pi * carrier_freq_ghz * 1e9 * d))

# 提取相位
phase_extracted = np.unwrap(np.angle(rx_signal))

# 带通滤波提取呼吸(0.1-0.5 Hz)和心跳(0.8-2.0 Hz)
from scipy.signal import butter, filtfilt
b_resp, a_resp = butter(4, [0.1, 0.5], btype='band', fs=fs)
breathing_signal = filtfilt(b_resp, a_resp, phase_extracted)

b_heart, a_heart = butter(4, [0.8, 2.0], btype='band', fs=fs)
heart_signal = filtfilt(b_heart, a_heart, phase_extracted)

# 频谱估计
from scipy.signal import welch
f_resp, psd_resp = welch(breathing_signal, fs=fs, nperseg=1024)
f_heart, psd_heart = welch(heart_signal, fs=fs, nperseg=1024)

breathing_rate_est = f_resp[np.argmax(psd_resp)] * 60 # BPM
heart_rate_est = f_heart[np.argmax(psd_heart)] * 60 # BPM

results.append({
'rx_position': rx_idx,
'breathing_rate_bpm': breathing_rate_est,
'heart_rate_bpm': heart_rate_est,
'snr_db': 10 * np.log10(np.max(psd_resp) / np.mean(psd_resp))
})

return {
'carrier_freq_ghz': carrier_freq_ghz,
'wavelength_mm': wavelength * 1000,
'results': results
}


if __name__ == "__main__":
print("=== RT-VSS FR3频段生命体征感知仿真 ===\n")

# 模拟胸部位移
t, disp = model_chest_displacement(
breathing_rate=0.25, # 15 breaths/min
heart_rate=1.2, # 72 bpm
duration_s=10.0
)
print(f"呼吸幅度: {np.max(disp)*1000:.2f} mm")
print(f"载波波长(FR3@10GHz): {3e8/10e9*1000:.1f} mm")
print(f"相位变化范围: ±{4*np.pi*np.max(disp)/(3e8/10e9):.4f} rad")

# FR3频段仿真
print("\n[FR3 - 10 GHz]")
result_fr3 = simulate_fr3_radar_sensing(disp, carrier_freq_ghz=10.0)
for r in result_fr3['results'][:3]:
print(f" RX{r['rx_position']}: 呼吸={r['breathing_rate_bpm']:.1f} BPM, "
f"心率={r['heart_rate_bpm']:.1f} BPM, SNR={r['snr_db']:.1f} dB")

# FR1对比
print("\n[FR1 - 3.5 GHz]")
result_fr1 = simulate_fr3_radar_sensing(disp, carrier_freq_ghz=3.5)
for r in result_fr1['results'][:3]:
print(f" RX{r['rx_position']}: 呼吸={r['breathing_rate_bpm']:.1f} BPM, "
f"心率={r['heart_rate_bpm']:.1f} BPM, SNR={r['snr_db']:.1f} dB")

# FR2对比
print("\n[FR2 - 28 GHz]")
result_fr2 = simulate_fr3_radar_sensing(disp, carrier_freq_ghz=28.0)
for r in result_fr2['results'][:3]:
print(f" RX{r['rx_position']}: 呼吸={r['breathing_rate_bpm']:.1f} BPM, "
f"心率={r['heart_rate_bpm']:.1f} BPM, SNR={r['snr_db']:.1f} dB")

3. 频段选择对IMS的影响

频段 呼吸检测 心跳检测 座舱穿透 IMS适用性
FR1 (sub-6) ✅ 好 ❌ 差(波长太长) ✅ 强 呼吸监测
FR3 (7-24 GHz) ✅ 零误差 ⚠️ 0-32 BPM误差 ✅ 中等 呼吸+心跳一体化
FR2 (mmWave) ✅ 好 ✅ 好 ❌ 弱 视距监测

座舱应用映射

FR3频段对CPD/生命体征的IMS价值

应用场景 FR3优势 技术路线
CPD儿童检测 穿透座椅+毯子 FR3雷达检测呼吸微动
驾驶员生命体征 呼吸+心率一体化 FR3相控阵照射胸部
乘员占用检测 非接触式 多径分集区分座椅状态
疲劳监测 心率变异性(HRV) FR3提取心跳间期

IMS开发启示

1. FR3 vs 60GHz mmWave选择

对比项 FR3 (7-24 GHz) 60GHz mmWave
呼吸精度 零误差 零误差
心跳精度 0-32 BPM 0-5 BPM
座椅穿透 ✅ 好 ⚠️ 有限
天线尺寸 中等(2-4cm) 小(2-5mm)
功耗 中等 较高
成本 中等($5-15) 高($15-30)
IMS推荐 CPD+生命体征 驾驶员面部/胸部

2. 部署建议

优先级 应用 频段 时间线
🟡 P1 FR3雷达生命体征监测 10-24 GHz 2027 Q3
🟢 P2 FR3+60GHz融合 多频段 2028+
🔴 P0 FR3 CPD辅助验证 7-10 GHz 2027 Q1

结论

RT-VSS验证了FR3频段(7-24 GHz)在生命体征感知中的独特价值——厘米级波长提供了对胸部微动的最佳相位灵敏度,同时保持足够的穿透力。对IMS的核心启示: FR3是同时检测呼吸和心跳的”甜蜜频段”,尤其适合CPD和驾驶员生命体征一体化监测,是60GHz mmWave的有力补充。

关键发现: 呼吸率在大多数接收位置可零误差提取,心跳率误差0-32 BPM取决于几何和载波频率。FR3频段可能成为下一代座舱感知的标准频段。


RT-VSS:FR3频段(7-24GHz)无线生命体征感知仿真框架与座舱应用前景
https://dapalm.com/2026/09/17/2026-09-17-rt-vss-fr3-band-vital-signs-sensing-cabin-ims/
作者
Mars
发布于
2026年9月17日
许可协议