胡博文, 殳国华, 常浩
(上海交通大学 电子信息与电气工程学院,上海 200240)
呼吸检测作为生命体征检测的一部分,常见的是通过电信号或者压力传感器等方法进行检测,但是这些方法都是需要和被测目标有物理上的接触,在某些场合并不一定能够适用。因此,基于雷达的呼吸监测系统脱颖而出,解决了传统的物理接触式测量的易交叉感染和效率低下等问题,在灾后救援和病患防护等领域有着广阔的应用场景和利用价值。
目前,常用的雷达体制主要包括三种:连续波体制 (continuous wave,CW),超宽带体制 (ultra vide band,UWB)和调频连续波体制(frequency modulated continuous wave,FMCW)。本文采用的是FMCW。相较于其他的雷达波形,FMCW雷达有更好的距离分辨力和速度分辨力,同时对目标物体的微动测量也更加的精确。2016年,Wu等[1]提出了利用超宽带体制雷达进行人体生命体征检测,获取了试验对象的呼吸和心跳频率等信息。2019年,韩国延世大学利用参数谱估计的方法区分多个被测目标,并以此法获得相位信息来提取每个被测目标的心跳和呼吸信号[2]。2020年,中科院的沈建飞等[3]提出了基于卷积神经网络(convolutional neural networks, CNN)的呼吸信号检测算法,利用 长短期记忆网络,融合二维信息后利用局部加权回归进行平滑处理,最终完成呼吸信息提取。
但是,如何对信号进行高效处理仍然是难以解决的难题,同时杂波干扰和多目标检测也是需要关注的问题。因此,本文设计了呼吸信号检测与分类算法,在尽可能准确提取呼吸信号的同时对信号进行分类,并判断目标对象的呼吸状态。
雷达检测呼吸信号主要是通过检测胸腔的位移来实现的。当人体呼吸时,胸腔会有起伏的震动,类似于正弦波。为了测量其振幅,雷达将发出的信号以及反射回收到的信号进行混频,经过混频器得到稳定的中频信号,然后对中频信号的频率变化来计算胸腔的微小振动[4]。本文采用的FMCW波是锯齿波的形式,传输信号以及回波信号如图1所示。图1中:T为扫描周期;B为传输带宽;td为时移。
图1 调频连续波的时频图
根据图1,可得FMCW波的传输表达式为:
(1)
式中:fc为载波的中心频率。收到的回波信号即为经过td时移之后的信号,表达式为:
(2)
混频之后可以得到中频信号,其表达式为:
(3)
式中:b(t)为频率为fb、相位Φb的正弦信号。其中,fb=4πBR/cT,Φb=4πR/λ。由于震动过于微小,引起的频率变化不大,因此,可以通过测量相位差来测量微小震动。假设呼吸引起的胸腔位移为ΔR,根据式(3),可以推导出:
(4)
考虑一般情况下,人的呼吸频率约为(0.15 ~0.5)Hz,由呼吸引起的胸腔震动约为1~12 mm,AWR1443毫米波雷达板工作在77 GHz频段,此时λ=c/f≈4 mm 。当ΔR=1 mm时,相位变化ΔΦ=π。因此,可以通过对b(t)进行快速傅里叶变换(fast Fouiver transform, FFT)以及相位分析来进行呼吸检测。
图2给出了呼吸提取算法的基本流程。雷达的接收天线收到回波信号后,将其与输入信号进行混频,得到一个中频信号。之后再对这个中频信号进行处理,主要包括距离FFT,相位提取与解卷绕,以及带通滤波等过程。
图2 呼吸提取算法流程图
步骤一: 每一个中频信号都会经过100个模数转换器进行采样,将得到的一维数据对其进行FFT变换,再选取目标幅值最大值对应的距离单元作为目标距离单元,放在慢时间轴上,进行下一步的处理。
步骤二:对每帧周期内的目标提取其相位值。该相位值应当在慢时间轴上变化。根据式(3),相位值的表达式为:
(5)
步骤三:由于上步中使用了反正切函数,导致相位值不真实,有可能产生跳变导致相位卷绕,因此需要进行相位解卷绕。解卷绕的方法如下:假设当前的相位时间序列为θn,下一刻的相位值为θn+1。当|θn+1-θn|>π时,说明在此刻相位发生了跳变,需要进行相位解卷绕。若θn+1-θn>π,则令θn+1=θn+1-2π;若θn+1-θn<-π,则令θn+1=θn+1+2π。
步骤四:根据上文可知,人体的呼吸频率约为(0.15~0.5)Hz,因此需要设计相应的带通滤波器将高频的杂波滤除。这里采用4阶IIR滤波器,其中,通带截止频率为0.1 Hz,阻带截止频率为0.5 Hz。同时,通带允许最大衰减为3 dB,阻带允许的最大衰减为6 dB。可以得到滤波器的传递函数为:
(6)
考虑到呼吸信号的连续性特征,本文采用了k近邻算法和支持向量机(support vector machine,SVM)两种分类算法对不同的呼吸状态进行检测。
k近邻算法的工作原理如下:设定一个训练样本集,在这个集合中,每个数据都有标签;将训练集中的数据分类好;当输入新的数据时,会根据新数据和原有数据之间的特征进行比较,通过算法来提取最相近的数据,作为新数据的分类标签。具体的流程如下。
(1) 首先将获得的呼吸信号按类别分别采样,作为初始的样本数据集。
(2) 将样本集中的数据进行归一化处理。训练集准备好之后,需要先验证分类器的错误率是否合理。通常将样本集的90%作为训练集,10%用来测试。一般认为错误率低于10%即可认为该分类器没有问题。
(3) 再通过雷达采集新的一组数据,放入上文的分类器中进行分类,即可实现分类效果。
SVM分类算法的核心是寻找一个超平面,使得在分类超平面的正负两边各找到一个距离其最近的一个点,并且这两个点距离分类超平面的距离和最大[5]。通过这种策略,可以使保证分类正确的基础上增加更多额外空间,从而提高了分类系统的鲁棒性。
对于线性SVM分类器而言,假设超平面的方程为ωTx+γ=0,其中,ω=[ω1,ω2,…,ωn]T。再考虑约束条件,需要决策面正好在间隔区域的中轴线上,并且相应的对应点到决策面的距离为d,即有:
(7)
式中:yi为每个样本点的标签。这样,对于任意的分类标签为1或-1的点,它们到直线的距离都大于等于d。之后将式(7)中的两式分别除以d,可以得到如下的约束方程:
yi(ωTxi+γ)≥1(∀xi)
(8)
再考虑目标函数:
(9)
(10)
本文采用的是来自德州仪器公司的77 GHz~81 GHz的AWR1443毫米波雷达开发板,它有4个发射天线和2个接收天线,6个通用Analog-to-Digital Converter (ADC)端口。本文使用了4个发射天线和2个接收天线。毫米波雷达的参数设置如表1所示。
表1 雷达参数设置
图3为一个采样脉冲下的ADC数据经过频率到距离的折算之后的采样图。可以发现在距离0.5 m处有明显的信号峰,可以认定被测对象在距离雷达0.5 m处,与实际相符。
图3 呼吸信号距离-频谱图
图4为滤波前后的对比图。图4发现,该IIR滤波器可以有效提取对应频率的呼吸信号。
图4 呼吸信号滤波前后对比图
图5为通过雷达采集的呼吸信号的时间谱图。总采样时间为50 s,包括了正常呼吸、屏息和急促呼吸三种状态。
图5 不同呼吸状态采样图
为验证算法的分类有效性,本文对10位受试者进行试验,每位受试者收集了10组数据,让受试者分别进行正常呼吸、屏息和急促呼吸三种状态,验证比较k近邻算法和SVM算法的分类效果及其优劣性。图6为k近邻算法的混淆矩阵,图7为SVM算法的混淆矩阵。其中,0、1、2分别代表了正常呼吸、屏息和急促呼吸三种分类状态。
图6 k近邻算法的混淆矩阵
图7 SVM算法的混淆矩阵
可以发现,k近邻算法的总体准确率约为90%,而SVM算法的总体准确率约为95%。
本文提出了一种基于毫米波雷达和机器学习混合的呼吸监测与分类方法,通过对毫米波雷达原理的分析,设计了呼吸提取算法和解卷绕方法,并基于此使用不同分类算法进行分类。之后对比了k近邻算法和SVM两种分类算法的优劣性。结果显示该呼吸提取算法有很高的检测效果,同时验证SVM有更强的分类有效性,优于k近邻算法,具有较强的实用价值。