短程雷达的深度学习应用:生命体征感知与心率估计
1. 短程雷达生命体征信号处理基础
短程雷达在生命体征感知领域具有重要应用,其原理基于对人体胸腔反射信号的分析。雷达接收到的信号中,不同项包含着不同的信息。第一项通过快速时间快速傅里叶变换(FFT)估计,与人体胸腔距离 (R) 成正比;第二项和第三项在 (R \gg \alpha_r, \alpha_h) 时可忽略;第四项是由于基础距离 (R) 产生的固定相位偏移;第五项和第六项是人体胸腔壁呼吸和心跳运动在慢时间上引起的相位变化。通过监测相位并进行频谱滤波,可以估计出不重叠的心跳和呼吸频率。
然而,实际应用中存在诸多挑战。由于相位对微小运动非常敏感,随机身体运动和人体活动会干扰心跳和呼吸频率的估计。此外,信号中的二阶项会产生互调产物 (f_h + f_r) 和谐波 (2f_r),若处理不当会导致心率估计错误。
2. 调频连续波(FMCW)雷达生命体征信号预处理
FMCW 雷达在不同应用场景下有不同的处理需求。对于高速目标检测,通常通过二维距离 - 多普勒图处理雷达信号,并在一帧内发射 (P_N) 个连续啁啾信号,短脉冲重复时间(PRT)可实现更大的无模糊速度估计。而在纯生命体征感知应用中,PRT 不需要极短,通常更倾向于较大的观察窗口,以实现基于 FFT 方法的良好频率分辨率。同时,相邻帧之间的啁啾信号发射和接收时间间隔必须相等,且等于 PRT,有效采样率为 (1/PRT)。
生命体征信号处理主要依赖于监测 IQ 相位数据,即雷达干涉测量技术,不一定需要生成距离 - 多普勒图。传统的生命体征信号处理流程包括以下步骤:
-
目标检测
:
-
距离 FFT 峰值检测
:对生命观察窗口内的复 FFT 进行求和(相干积分),然后在求和后的 FFT 频谱幅度上进行峰值搜索。
-
峰均比(PAPR)
:计算 FFT 频谱中每个距离单元在慢时间上的峰值与平均值之比。对于静止目标,FFT 峰值接近慢时间上的平均值;而对于振动源,平均值接近零,PAPR 较高。
-
生命多普勒检测
:
-
估计 IQ 数据在慢时间上的标准差
:检查其是否在规定值范围内。
-
生命多普勒 FFT
:在生命观察窗口内进行 FFT,检查生命频率范围(0.2 - 3.3 Hz)内的信号峰值是否超过规定阈值。
在进行生命带通滤波之前,生命多普勒检测是重要步骤,可消除虚假静态目标单元,因为白噪声通过带通滤波器会产生错误信号。
3. 信号补偿与处理
经过生命检测后,对通过上述标准的距离单元的 IQ 数据进行椭圆重建算法拟合,以补偿由于硬件缺陷导致的偏移、相位和幅度不平衡。理想情况下,IQ 数据在复平面上应呈现为单位圆,但由于硬件问题,实际呈现为椭圆且可能有偏差。椭圆重建的目标是将椭圆映射到单位圆,去除幅度和相位偏移。
补偿后的数据进入角度计算模块,通过反正切解调计算角度或相位。信号的 (I) 和 (Q) 部分分别为:
[
\begin{cases}
I = A \cos(\varphi) \
Q = A \sin(\varphi)
\end{cases}
]
由此可得到幅度 (A) 和相移 (\varphi):
[
\begin{cases}
A^2 = I^2 + Q^2 \
\varphi = \arctan(Q/I)
\end{cases}
]
计算得到的相位经过相位展开处理,确保包含所有相关的 (2\pi) 倍数。相位展开是从 (2\pi) 倍数中重建原始真实相位的过程,对于相位跳变大于 (-\pi) 或 (+\pi) 的情况,分别加上或减去 (2\pi)。根据载波频率波长 (\lambda),可计算目标的位移:
[
\Delta d = \frac{\lambda}{4\pi} \cdot \text{unwrap}(\varphi)
]
位移信号包含呼吸率和心率信息,通过带通滤波器进行分离。呼吸率估计的带通滤波器起止频率为 0.2 Hz 和 0.4 Hz,心率估计的起止频率为 0.8 Hz 至 3.3 Hz。
4. 心率和呼吸率计算方法
最后,可通过多种方法计算心率或呼吸率:
-
频谱估计技术
:对滤波和补偿后的生命体征信号进行 FFT,FFT 频谱中心率和呼吸率频率带内的峰值分别表示心率和呼吸率估计值。
-
峰值计数法
:在观察窗口内对滤波后的时域生命体征数据进行峰值计数。利用最小峰值高度和/或最小峰值突出度等约束条件,防止在心跳信号中检测到过多峰值。
-
模板匹配法
:通过互相关将时域生命体征数据与保存库中的模板进行匹配。使用更多模板可提高性能,在心跳检测中,不同类型的模板代表不同测量点和天线视野下可检测的脉搏波形。通过特征检测选择合适的模板类型,然后在观察窗口内的累积互相关域中计数峰值,估计呼吸率和心率。
5. 深度学习心率估计方法
深度学习在解决传统或基于模型方法难以解决的问题方面取得了重大突破。在心率估计中,通过对 IQ 信号进行分类来估计心率或呼吸率,同时排除随机身体运动(RBM)、人体运动和互调产物(IMP)带来的误差。
深度学习模型需要学习准确心率估计所需的预期特征与输入 IQ 信号之间的非线性关系。具体步骤如下:
-
数据采集
:让多个受试者站在雷达前约 40 - 60 cm 处,使用 Polar H10 胸带作为心率参考传感器。采集的数据格式为 ([N_f, N_r, N_{ts}]),其中 (N_r) 是啁啾总数,(N_f) 是总帧数,(N_{ts}) 是每个啁啾的样本总数。系统操作参数如下表所示:
| 参数 | 符号 | 值 |
| ---- | ---- | ---- |
| 工作频率 | (f) | 60 |
| 脉冲重复时间 | (PRT) | 5 ms |
| 斜坡起始频率 | (f_{min}) | 59 GHz |
| 斜坡停止频率 | (f_{max}) | 61 GHz |
| 带宽 | (B) | 2 GHz |
| 采样频率 | (f_s) | 0.747664 MHz |
| 每个啁啾的样本数 | (N_{ts}) | 256 |
| 帧时间 | (F_{rt}) | 1.28 s |
- 数据分类 :将采集的数据分为不同类别,例如参考值在 46 - 55 bpm(对应 0.75 Hz - 0.83 Hz)的信号标记为类别 1,以此类推,直到类别 12(参考值在 96 - 100 bpm,对应 1.5 Hz - 1.6 Hz)。
-
数据采集场景
:为了包含数据变化,在以下场景下采集数据:
- 无任何运动,正常呼吸。
- 无任何运动,屏住呼吸。
- 随机身体运动,正常呼吸。
- 随机身体运动,屏住呼吸。
- 跑步/慢跑后,无任何运动,正常呼吸。
- 跑步/慢跑后,无任何运动,屏住呼吸。
- 跑步/慢跑后,随机身体运动,正常呼吸。
- 跑步/慢跑后,随机身体运动,屏住呼吸。
6. GAN 数据增强
数据采集后发现,某些频率类别的数据样本较多,而其他类别(尤其是高频段)样本较少,这可能导致深度学习模型训练出现偏差。因此,采用生成对抗网络(GAN)进行数据增强。
GAN 由生成器和判别器组成。生成器接收随机数作为输入,判别器接收真实数据(雷达传感器数据)和生成器输出的假数据。两者进行零和对抗博弈,直到判别器约一半时间被欺骗,此时生成器生成的样本具有可信度。
生成器网络输入为 256 × 1 信号,经过一个具有 256 个输出的密集层(使用 Leaky ReLU 激活函数),然后是三个卷积层(滤波器数量均为 256,滤波器大小分别为 3、5 和 7),最后一层使用 tanh 激活函数。判别器网络输入同样为 256 × 1 信号,经过两个卷积层(滤波器数量为 64,滤波器大小为 3,步长为 2),每个卷积层后接一个 Dropout 层,最后一层是具有二进制分类输出(真实或虚假)的密集层。
使用 Adam 优化器对判别器和生成器网络进行训练,学习率(alpha)设置为 0.0002,一阶和二阶矩估计的指数衰减率分别设置为 0.5 和 0.999,epsilon 设置为 1e - 8。GAN 网络能够学习数据分布并生成合理的雷达信号样本。
7. 深度学习方法结果与讨论
以分类准确率作为网络性能的衡量标准。不同数据变换的深度学习方法在测试/未见过的数据上最高准确率可达 55% - 60%,传统机器学习算法如随机森林和支持向量机(SVM)表现更差。在深度学习方法中,尝试了多种输入方式和数据变换,如直接使用 IQ 数据、小波变换、FFT 频谱图、FFT 峰值的独热编码和主成分分析(PCA)等,但均未能将准确率提高到 55% - 60% 以上。
当将 GAN 生成的增强数据添加到训练和测试数据集中时,准确率达到 88%;但仅在真实测试集上进行测试时,准确率降至 40%。这是因为 GAN 增强数据引入了真实数据中不存在的共同模式和伪影。
综上所述,深度学习方法在解决复杂的心率信号分类问题时,难以达到良好的分类准确率,表明当前的深度学习模型难以学习和分类信号中的共同模式。GAN 方法也存在过拟合问题,导致分类准确率下降。
下面是一个简单的 mermaid 流程图,展示了深度学习心率估计的主要流程:
graph LR
A[数据采集] --> B[数据分类]
B --> C[GAN 数据增强]
C --> D[深度学习模型训练]
D --> E[模型测试与评估]
同时,为了更清晰地展示不同深度学习和机器学习方法的分类结果,以下是一个表格:
| 深度学习架构 | 预处理变换 | 准确率 |
| ---- | ---- | ---- |
| LSTM | 仅最佳目标、最佳目标 + 相邻单元、小波图、独热编码、FFT 频谱图、PCA | 55 - 60% |
| BiLSTM | | |
| 堆叠 LSTM | | |
| CNN - LSTM | | |
| ConvLSTM | | |
| CNN | | |
| 随机森林 | | 45 - 50% |
| SVM | | |
通过以上内容,我们对短程雷达在生命体征感知中的应用有了更深入的了解,包括信号处理基础、深度学习方法及其局限性。后续将介绍一种基于卡尔曼滤波和自适应滤波的信号处理方法,以提高心率估计的准确性。
短程雷达的深度学习应用:生命体征感知与心率估计
8. 自适应信号处理与跟踪算法
为了在存在随机身体运动(RBM)、互调产物(IMP)和谐波的情况下准确估计心率,提出了一种自适应信号处理与跟踪算法。该算法的核心是根据受试者当前的心率自适应地过滤时域心跳信号,并通过卡尔曼滤波器跟踪生命体征信号。
8.1 算法流程
算法的主要流程如下:
1.
信号预处理
:对经过预处理步骤得到的位移信号进行带通滤波,初始通带范围设置为 0.7 - 3.0 Hz,对应心率为 42 - 180 次/分钟(bpm)。
2.
心跳检测
:对滤波后的信号进行峰值搜索,考虑最小峰值突出度以检测单个心跳,并计算新的临时心率值。
3.
信号质量评估
:检查生命观察窗口内的 IQ 信号与圆形的偏差。如果偏差超过预定义阈值,认为信号因 RBM 或人体运动而损坏,忽略该时间段;如果偏差小于阈值,则认为是高质量 IQ 数据(HQD),用于心率估计。
4.
滤波器更新
:在获得高质量目标数据时,在卡尔曼滤波器的状态预测和门控过程后更新滤波器设置。根据先前和当前检测到的心率调整滤波器限制,以缩小通带范围,抑制脉搏波的高频分量以及 IMP 和呼吸谐波的不利影响。
5.
卡尔曼滤波
:如果数据质量不佳,仅依靠卡尔曼滤波器的预测,该预测基于潜在的心率加速度模型。
以下是该算法主要部分的 mermaid 流程图:
graph LR
A[信号预处理] --> B[心跳检测]
B --> C[信号质量评估]
C -->|偏差大| D[忽略时间段]
C -->|偏差小| E[更新滤波器设置]
E --> F[卡尔曼滤波]
D --> F
F --> G[输出心率估计值]
8.2 卡尔曼滤波器模型
卡尔曼滤波是一种递归贝叶斯过程,用于处理包含不可预测或随机误差、不确定性或变化的测量值。状态向量表示为:
[
x =
\begin{bmatrix}
hr \
\dot{hr} \
\ddot{hr}
\end{bmatrix}^T
]
其中,(hr) 表示心率(Hz),(\dot{hr}) 表示其一阶导数,(\ddot{hr}) 表示其二阶导数。
在卡尔曼滤波器中,帧时间 (k) 的状态向量表示为高斯过程,具有均值 (x(k|k)) 和协方差 (P(k|k))。状态转移模型用于从帧 (k) 的状态向量预测帧 (k + 1) 的状态:
[
x(k + 1|k) = Ax(k|k) =
\begin{bmatrix}
1 & \Delta t & 0.5\Delta t^2 \
0 & 1 & \Delta t \
0 & 0 & 1
\end{bmatrix}
x(k|k)
]
其中,(\Delta t) 表示两帧之间的时间间隔。
观测模型为:
[
y(k + 1) = Hx(k + 1|k) =
\begin{bmatrix}
1 & 0 & 0
\end{bmatrix}
x(k + 1|k)
]
测量的心率估计值用 (z(k + 1)) 表示。状态预测的不确定性源于过程噪声,建模为 (Q = GG^T \rho_a^2),其中 (G = [0.5\Delta t^2 \ \Delta t \ 1]),(\rho_a^2) 表示加速度过程噪声。测量噪声的方差表示为 (R = \delta_h^2),代表估计误差的预期平方。
算法在每个帧 (k) 的具体操作如下:
1.
带通滤波
:对预处理后的位移信号进行带通滤波,截止频率由前一帧的状态更新定义。
2.
峰值计数估计
:在时域中通过峰值计数获得心率估计值 (z_{k + 1})。
3.
状态预测
:
[
\begin{cases}
x(k + 1|k) = Ax(k|k) \
P(k + 1|k) = AP(k|k)A^T + Q
\end{cases}
]
9. 总结与展望
通过上述内容,我们详细介绍了短程雷达在生命体征感知中的应用,包括信号处理基础、深度学习方法以及自适应信号处理与跟踪算法。
在信号处理基础部分,我们了解了如何从雷达接收到的信号中提取心跳和呼吸频率信息,以及如何处理硬件缺陷和噪声带来的影响。深度学习方法虽然在某些方面取得了一定进展,但在复杂的心率信号分类问题上仍面临挑战,存在分类准确率不高和过拟合等问题。
自适应信号处理与跟踪算法通过自适应滤波和卡尔曼滤波器,能够在存在 RBM、IMP 和谐波的情况下更准确地估计心率。该算法根据数据质量动态调整滤波器设置,有效抑制了干扰因素的影响。
未来,随着技术的不断发展,我们可以进一步优化这些算法,提高心率估计的准确性和稳定性。例如,可以探索更先进的深度学习架构和数据增强方法,以克服当前深度学习方法的局限性。同时,结合更多的传感器数据和多模态信息,可能会为生命体征感知带来更准确和全面的结果。
以下是一个表格,总结了不同方法在心率估计中的优缺点:
| 方法 | 优点 | 缺点 |
| ---- | ---- | ---- |
| 传统信号处理方法 | 原理简单,易于理解和实现 | 对复杂干扰的处理能力有限 |
| 深度学习方法 | 能够处理复杂的非线性关系 | 分类准确率不高,存在过拟合问题 |
| 自适应信号处理与跟踪算法 | 能自适应调整滤波器,有效抑制干扰 | 算法复杂度相对较高 |
通过不断探索和优化这些方法,我们有望在短程雷达生命体征感知领域取得更大的突破,为医疗监测和健康管理等领域提供更可靠的技术支持。
超级会员免费看
1万+

被折叠的 条评论
为什么被折叠?



