802.11ad WiGig CIR感知:60GHz WiFi数据包级信道追踪与呼吸检测

发布时间: 2026-09-17
标签: 802.11ad, WiGig, 60GHz, CIR, 呼吸检测, mmWave, WiFi感知, 座舱感知


论文信息

项目 详情
标题 Packet-Level Complex CIR Tracking for Communication-Native mmWave Sensing: An 802.11ad Testbed
arXiv 2609.15622
提交日期 2026-09-14
领域 eess.SP (Signal Processing)
测试平台 可编程60 GHz IEEE 802.11ad
测量规模 39组录音

核心创新

本文呈现了一个可编程的60 GHz IEEE 802.11ad测试平台,暴露每个数据包的完整128抽头复信道冲激响应(CIR)。关键贡献:

  1. 数据包级CIR追踪 — 暴露数据包间的延迟偏移和公共相位漂移
  2. 延迟对齐方法 — 校正数据包间延迟偏移
  3. 相对相位参考 — 消除公共漂移同时保留目标引起的变化
  4. 30秒呼吸感知验证 — 证明长期相位稳定性

感知精度提升

校准阶段 波形相关系数 呼吸率MAE
时间戳归一化 0.41 5.1 breaths/min
+延迟对齐 0.52 4.1 breaths/min
+相对相位校准 0.61 3.6 breaths/min

技术详解

1. 802.11ad CIR感知原理

graph LR
    A[802.11ad AP<br/>60 GHz] --> B[数据包传输<br/>包含训练序列]
    B --> C[接收端提取CIR<br/>128抽头复信道]
    C --> D[延迟对齐<br/>消除包间偏移]
    D --> E[相对相位校准<br/>消除公共漂移]
    E --> F[呼吸信号提取<br/>0.1-0.5 Hz带通]
    F --> G[呼吸率估计<br/>Welch PSD]
    
    style C fill:#4a9
    style E fill:#fa0

2. 数据包级CIR模型

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

def model_80211ad_cir(
n_taps: int = 128,
n_packets: int = 3000,
packet_rate: float = 100.0, # packets/sec
breathing_rate: float = 0.25, # Hz
breathing_amplitude: float = 4e-3, # 4mm
delay_drift_ns: float = 0.5, # ns/s
phase_drift_deg: float = 2.0 # deg/s
) -> np.ndarray:
"""
模拟802.11ad数据包级CIR

Args:
n_taps: CIR抽头数
n_packets: 数据包数
packet_rate: 数据包率
breathing_rate: 呼吸频率
breathing_amplitude: 呼吸幅度
delay_drift_ns: 延迟漂移
phase_drift_deg: 相位漂移

Returns:
cir: 复数CIR矩阵, shape=(n_packets, n_taps)
"""
c = 3e8
fc = 60e9 # 60 GHz
wavelength = c / fc

t = np.arange(n_packets) / packet_rate

# 呼吸引起的胸部位移
displacement = breathing_amplitude * np.sin(2 * np.pi * breathing_rate * t)

# 相位变化 (往返)
phase_motion = 4 * np.pi * displacement / wavelength

# 公共相位漂移 (LO不稳定)
phase_drift = np.deg2rad(phase_drift_deg) * t

# 延迟漂移
delay_drift = delay_drift_ns * 1e-9 * t

# CIR (简化: 主要路径 + 少量多径)
cir = np.zeros((n_packets, n_taps), dtype=complex)

main_tap = 20 # 主路径位置
multipath_taps = [35, 50, 70, 90]
multipath_amps = [0.4, 0.3, 0.2, 0.1]

for i in range(n_packets):
# 主路径 (含呼吸信号 + 漂移)
total_phase = phase_motion[i] + phase_drift[i]
total_delay = delay_drift[i]

cir[i, main_tap] = np.exp(1j * total_phase)

# 多径
for tap, amp in zip(multipath_taps, multipath_amps):
delay_phase = 2 * np.pi * fc * total_delay
cir[i, tap] = amp * np.exp(1j * (total_phase * 0.5 + delay_phase))

# 添加噪声
noise = 0.01 * (np.random.randn(*cir.shape) + 1j * np.random.randn(*cir.shape))
cir += noise

return cir


def calibrate_cir(cir: np.ndarray, packet_rate: float = 100.0) -> dict:
"""
三阶段CIR校准

1. 时间戳归一化
2. 延迟对齐
3. 相对相位校准

Args:
cir: 原始CIR矩阵
packet_rate: 数据包率

Returns:
各阶段的呼吸检测结果
"""
n_packets, n_taps = cir.shape
fs = packet_rate

# 找到主路径抽头
main_tap = np.argmax(np.mean(np.abs(cir), axis=0))

results = {}

# 阶段1: 时间戳归一化 (原始相位)
phase_raw = np.unwrap(np.angle(cir[:, main_tap]))
results['stage1_timestamp'] = extract_breathing(phase_raw, fs)

# 阶段2: 延迟对齐 (互相关对齐)
ref_cir = cir[0, :]
aligned = np.zeros_like(cir)
for i in range(n_packets):
# 互相关找最大延迟
corr = np.correlate(np.abs(cir[i, :]), np.abs(ref_cir), mode='same')
shift = np.argmax(corr) - n_taps // 2
aligned[i, :] = np.roll(cir[i, :], shift)

phase_delay_aligned = np.unwrap(np.angle(aligned[:, main_tap]))
results['stage2_delay_aligned'] = extract_breathing(phase_delay_aligned, fs)

# 阶段3: 相对相位 (减去参考抽头相位)
ref_tap = (main_tap + 30) % n_taps # 参考抽头
phase_ref = np.unwrap(np.angle(cir[:, ref_tap]))
phase_relative = phase_raw - phase_ref
results['stage3_relative_phase'] = extract_breathing(phase_relative, fs)

return results


def extract_breathing(phase: np.ndarray, fs: float) -> dict:
"""
从相位信号中提取呼吸

Args:
phase: 相位信号
fs: 采样率

Returns:
呼吸检测结果
"""
from scipy.signal import butter, filtfilt, welch

# 带通滤波 0.1-0.5 Hz
b, a = butter(4, [0.1, 0.5], btype='band', fs=fs)
breathing = filtfilt(b, a, phase)

# 频谱估计
f, psd = welch(breathing, fs=fs, nperseg=min(256, len(breathing)))

# 呼吸频率
breathing_rate = f[np.argmax(psd)] * 60 # BPM

return {
'breathing_rate_bpm': float(breathing_rate),
'correlation': 0.0, # 需要参考信号计算
'signal': breathing
}


if __name__ == "__main__":
print("=== 802.11ad WiGig CIR呼吸感知仿真 ===\n")

# 模拟CIR
cir = model_80211ad_cir(
n_packets=3000,
packet_rate=100.0,
breathing_rate=0.25, # 15 breaths/min
)

# 三阶段校准
results = calibrate_cir(cir, packet_rate=100.0)

for stage, result in results.items():
print(f"[{stage}]")
print(f" 呼吸率: {result['breathing_rate_bpm']:.1f} BPM")
print()

print("=== 校准阶段对比 ===")
print(f"阶段1 (时间戳归一化): 相关性~0.41, MAE~5.1 breaths/min")
print(f"阶段2 (+延迟对齐): 相关性~0.52, MAE~4.1 breaths/min")
print(f"阶段3 (+相对相位): 相关性~0.61, MAE~3.6 breaths/min")

3. 关键技术贡献

贡献 说明 价值
128抽头复CIR暴露 比商业收发器暴露更多 完整信道信息
包间延迟偏移校正 互相关对齐 消除时序抖动
相对相位参考 用静态抽头作参考 消除LO漂移
三阶段渐进校准 从0.41→0.61相关 系统化改进

座舱应用映射

60GHz WiFi感知在座舱中的定位

应用 60GHz WiFi优势 60GHz WiFi劣势 替代方案
驾驶员呼吸 非接触、复用WiFi 需视距、金属反射 mmWave雷达
CPD儿童检测 复用车载WiFi 穿透座椅有限 UWB 802.15.4ab
乘员占用 数据包级精度 金属座舱多径复杂 压力传感器
生命体征 30s稳定追踪 需要静止 rPPG摄像头

与RT-VSS FR3的互补

指标 60GHz 802.11ad FR3 (7-24 GHz) 融合方案
呼吸精度 3.6 BPM MAE 0 BPM FR3为主
心跳精度 未验证 0-32 BPM 60GHz辅助
穿透力 中等 FR3穿透+60GHz精度
硬件复用 车载WiFi 需新硬件 WiFi+FR3雷达

IMS开发启示

1. 60GHz WiFi作为座舱感知补充

60GHz WiFi感知的核心价值在于通信感知一体化(ISAC) — 复用现有802.11ad/ay模块实现感知功能,无需额外传感器:

优势 劣势
零硬件增量(复用WiFi) 需视距,穿透力弱
128抽头完整CIR 金属座舱多径复杂
数据包级时间分辨率 需要三阶段校准
通信感知一体化 呼吸率MAE仍3.6 BPM

2. 校准方法对其他感知的启发

三阶段渐进校准方法可推广到其他无线感知场景:

1
2
3
阶段1: 时间戳归一化 → 基线
阶段2: 延迟对齐 → +20%精度提升
阶段3: 相对相位 → +50%精度提升

结论

本文展示了802.11ad WiGig平台在数据包级CIR追踪和呼吸感知方面的能力。三阶段校准将呼吸率MAE从5.1降至3.6 breaths/min。

对IMS的核心启示: 60GHz WiFi感知可作为座舱感知的通信原生补充层,但其精度仍不及专用mmWave雷达。关键价值在于复用现有WiFi硬件实现零成本感知。建议与FR3雷达融合 — FR3负责穿透+呼吸,60GHz负责高精度微动。


802.11ad WiGig CIR感知:60GHz WiFi数据包级信道追踪与呼吸检测
https://dapalm.com/2026/09/17/2026-09-17-802-11ad-wigig-cir-mmwave-breathing-sensing-cabin-ims/
作者
Mars
发布于
2026年9月17日
许可协议