一种基于不同时长的非接触式的生命体征监测方法

文档序号:30613193发布日期:2022-07-02 00:13阅读:176来源:国知局
一种基于不同时长的非接触式的生命体征监测方法

1.本发明属于计算机技术领域,尤其是一种基于不同时长的非接触式生命体征监测方法。


背景技术:

2.随着人们对自身健康的关注度越来越高,从最早的疾病治疗逐渐转变为健康实时评价和疾病的早期预防等。由于生活节奏的加快和生活压力的增大,长期的睡眠质量低下会使人处于一种“亚健康”状态,长期以往会诱发慢性疾病或直接导致多种疾病的出现,尤其是危及生命的心血管疾病。而睡眠时的呼吸速率和心率是判断心血管疾病的主要依据,心率不齐等问题可能会诱发冠心病、高血压或心源性猝死。因此采用现代科技的夜间健康监护,通过对睡眠呼吸和心跳的监护,对发现潜在的慢性疾病、呼吸疾病以及预防心血管疾病有极大的帮助;对睡眠行为的监护可以根据翻身活动的次数、时间间隔、睡眠姿势的变化等判断夜间睡眠质量。因此,在家庭环境中对人进行长期的夜间健康监护,对不同人群预防疾病、改善“亚健康”以及生活质量的提高具有积极意义。
3.由于摄像机、可穿戴设备、红外技术等技术的缺陷,大大影响了家庭环境中夜间健康监护的推广,在这样的背景下,研究人员提出了基于无线信号的人体感知技术。
4.基于无线信号的感知技术利用无线信号在传播过程中由人体活动产生的变化特征来感知人体活动,主要有基于雷达和基于wifi的感知技术。基于雷达的健康监护,采用多普勒雷达测量人体反射电磁波产生的信号频移来感知人体活动,由于雷达设备较为昂贵阻碍了其在家庭环境中的应用。基于wifi的健康监护,也是根据人体反射电磁波的变化实现人体感知,但是wifi设备具有分布广泛、成本低、能耗低、易操作、易部署等特点,更适合实现非接触式的健康监护。
5.通过人体呼吸速率和心率的检测,夜间睡眠行为的识别,实现对人的夜间健康监护。根据检测方式的不同,可以将现有的健康监护分为接触式和非接触式两类。
6.接触式的健康监护中,常用的接触式检测方法有阻抗检测法、特殊床和床垫检测法、可穿戴设备检测法等。接触式的健康监护中,多使用功耗低、灵敏度高、测量准确度高的传感器设备对检测对象采集相关数据。不仅成本较高还需要多个传感器直接接触人体,会受到一定的约束或限制,并且对人体造成不适。非接触式的健康监护中,不需要穿戴或接触传感器设备,不会给受试者带来不适,适合长时间的监护。常用的非接触式检测方法有红外检测法、机器视觉检测法、无线电信号检测法等。基于无线电信号的检测方法实现了非接触、远距离、不受光线影响、不涉及敏感信息的健康监护。但基于超宽带和连续波雷达的检测方法,设备比较昂贵,不适用于普通家庭的健康监护。
7.随着近年无线通信技术的快速发展,wifi设备已经在全球范围内广泛普及,在成本、易用性、普适性等方面具有诸多优势,使基于wifi信号的感知技术迅速成为研究热点。2014年,美国华盛顿大学的halperin等人从intel5300无线网卡中成功提取出了更细粒度的csi信息,出现了大量的基于商用wifi设备csi信息的无接触行为识别和生命体征检测的
健康监护研究。2019年,yu gu等人使用一对wifi设备和全向天线实现了不同睡眠姿势下呼吸和心跳的实时检测,准确率分别为96.636%和94.215%。2020年,abdelwahed khamis等人提出了一个基于wifi的实时检测呼吸周期的系统,还建立了与呼吸相关的胸部位移与相位差变化之间的关系模型。
8.基于wifi感知的健康监护系统大多仅对不同睡姿下人体呼吸心跳的感知,或者仅对人体行为的感知,没有既对呼吸心跳感知,同时还对睡眠过程中行为感知的健康监护系统。所以将呼吸心跳与行为感知相结合的夜间健康监护系统仍是一个研究热点。
9.通过检索,尚未发现与本发明专利申请相关的专利公开文献。


技术实现要素:

10.本发明的目的在于克服现有技术的不足之处,提供一种基于不同时长的非接触式生命体征监测方法。
11.本发明解决其技术问题是采取以下技术方案实现的:
12.一种基于不同时长的非接触式生命体征监测方法,步骤如下:
13.(1)数据预处理
14.①
异常值去除
15.采用基于滑动窗口的hampel滤波算法去除这些异常值:
16.hampel滤波算法是利用中位数绝对偏差(mean absolute deviation,mad)度量数据中某一样本偏离中位数的距离,根据偏移距离找出数据中存在的异常值,同时用更具有代表性的数值代替异常值。
17.②
分割算法
18.该算法通过一个固定长度的滑动窗口来计算窗口内csi幅值的标准差,当窗口滑动到睡眠行为的时候,计算得到的标准差较大,而当窗口滑动到呼吸心跳的时候,计算得到的标准差很小。分割算法的具体步骤如下:
[0019][0020]
(2)数据提取
[0021]

呼吸和心跳的幅值提取
[0022]
采用dwt对呼吸心跳数据进行相应的分解重构。小波变换的公式如下:
[0023][0024]
其中,尺度α对应于频率,平移量τ对应于时间。小波分解后的频率范围和采样频率有关,在每一层分解后采样频率减半,假设输入信号的采样频率为fs,在小波n层分解之后,第n层的近似系数和细节系数的频率范围分别为式(2)和式(3):
[0025][0026][0027]
假设进行了n层分解,那么第一层近似系数的频率范围为0~12.5hz,第一层细节系数的频率范围为12.5~25hz,更多层分解后的近似系数和细节系数的频率范围,如下表所示:
[0028][0029]

呼吸和心跳的相位提取
[0030]
相位的提取是通过对原始相位进行线性变换来消除未知项,相位的预处理算法如下表所示:
[0031][0032]
(3)呼吸和心跳的子载波选择
[0033]

子载波选择方法
[0034]
通过判断子载波所含信号的周期性来选择周期性较高的子载波作为检测数据。判断呼吸信号周期性的方法是,通过计算各个子载波的呼吸信噪比;判断心跳信号周期性的方法是,通过计算各个子载波的心跳信噪比。bnr和hnr的值越大,说明信号的周期性越高,那么该子载波包含有较好呼吸信号和心跳信号的可能性越大。bnr和hnr的公式如下:
[0035][0036][0037]
其中,bnr为呼吸信噪比,b_e
max
为呼吸能量,b_ei为呼吸数据做fft之后的总能量;hnr为心跳信噪比,h_e
max
为心跳能量,h_ei为心跳数据做fft之后的总能量,n为fft的数据长度。
[0038]

幅值和相位的子载波选择
[0039]
将呼吸或心跳数据的幅值和相位信息的30个子载波的bnr或hnr分别计算出来,呼吸或心跳分别选择幅值和相位较大的三个bnr或hnr,再分别计算幅值和相位三个bnr或hnr的平均值,并比较两个平均值的大小,最后选择平均值较大的幅值或相位的三个子载波。若
幅值信息bnr或hnr的平均值大,则使用幅值信息的三个子载波,反之,使用相位信息的三个子载波。
[0040]
(4)基于不同时长的呼吸和心跳检测
[0041]

基于不同时长的检测方案
[0042]
将睡眠行为和呼吸心跳分割提取后,两个睡眠行为的时间间隔有长有短,那么分割提取的呼吸和心跳数据也有长有短,将时间间隔大于等于12秒的定义为长时的呼吸和心跳,将时间间隔小于12秒的定义为短时的呼吸和心跳。呼吸速率的检测方法采用峰值检测法和fft检测法;心率的检测方法采用fft检测法。
[0043]

长时呼吸和心跳检测
[0044]
1)长时的呼吸检测
[0045]
a.峰值检测法
[0046]
通过检测呼吸数据中的相邻两个波峰之间的时间间隔,在检测峰值的过程中,给相邻两个峰值之间的最小时间间隔设置一个阈值1.67。假峰去除算法是以检测出的峰值为中心向前0.5秒和向后0.5秒,一共1秒的窗口,检测这个窗口内是否存在比该峰值大的数值。如果存在,则该峰值为假峰应去除,如果不存在,即该峰值为真峰应保留。
[0047]
去除假峰之后,得到呼吸数据中所有的峰值,进而得出相邻两个峰值的时间间隔,设某一个子载波的所有峰值的时间间隔向量为s={s(1),s(2)...s(n)},令:
[0048][0049]
其中,当x=e时,y取得最小值,则e为该子载波的呼吸周期,即可以使y取得最小值的x,这个x就是子载波的呼吸周期。将三个子载波的呼吸周期进行加权平均得到最终的呼吸周期。设三个子载波的bnr向量为b={b(1),b(2),b(3)},三个子载波的呼吸周期向量为e={e(1),e(2),e(3)},最终的呼吸周期t为:
[0050][0051]
因此呼吸速率v
breathing
为:
[0052][0053]
b.检测结果
[0054]
为验证长时呼吸采用峰值检测法的可行性,采用bnr子载波选择法。检测的呼吸周期和最后的加权平均呼吸周期如下表所示;
[0055][0056]
通过峰值检测法对12秒呼吸数据进行检测的结果如下表所示:
[0057][0058]
2)长时的心跳检测
[0059]
a.fft检测法
[0060]
本发明采样频率fs为50hz,fft的长度为数据长度,对心跳数据进行fft之后,寻找心跳频率范围1~2hz内的最大峰值以及它的索引。采用抛物线插值法提高频率分辨率,进而提高估计心跳频率的准确率,用抛物线代替最大峰值和它相邻两个值的原有曲线。抛物线的一般公式为:
[0061][0062]
其中抛物线横坐标的点p是插值的位置,b为振幅或相位,a为曲率。插值即拟合抛物线中的最大值,通过接下来的计算得到p。频谱中最大峰值在横轴的位置为0,相邻两个值的位置分别为-1和1,有:
[0063]
y(-1)=α
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(10)
[0064]
y(0)=β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(11)
[0065]
y(1)=γ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(12)
[0066]
把这三个样本写成插值抛物线的形式:
[0067]
α=ap2+2ap+a+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(13)
[0068]
β=ap2+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(14)
[0069]
γ=ap
2-2ap+a+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(15)
[0070]
由式(13)减去式(15)推导出式(16):
[0071]
α-γ=4ap
ꢀꢀꢀꢀꢀꢀꢀꢀ
式(16)
[0072]
由式(16)推导出式(17):
[0073][0074]
将式(17)代入式(13)中得到式(18):
[0075][0076]
由式(18)得出式(19):
[0077][0078]
将式(19)代入式(17)得出,即插值峰的位置p:
[0079][0080]
k表示频谱中最大峰值在整个数据中的索引,则k+p为拟合抛物线中的最大值在整个数据中的索引。最后拟合抛物线的最大值作为估计峰值,求出该值对应的频率为该心跳数据的估计心跳频率,估计心跳频率为式(21):
[0081][0082]
其中,fs为采样频率,n是fft的大小即采样点数。
[0083]
根据上述抛物线插值法得到了心跳数据中三个较优子载波的估计峰值p,通过式(28)计算得到每个子载波的心跳频率,将三个子载波的心跳频率进行加权平均值可得到最终的心跳频率。设三个子载波的hnr向量为h={h(1),h(2),h(3)},三个子载波的心跳频率向量为f={f(1),f(2),f(3)},最终的心跳频率f为:
[0084][0085]
因此心率v
heartbeat
为:
[0086]vheartbeat
=60
·fꢀꢀꢀꢀꢀꢀꢀꢀ
式(23)
[0087]
b.检测结果
[0088]
为验证长时心跳数据采用fft检测法的可行性,通过hnr子载波选择法。估计心率和最后的加权平均心率分别如下表所示:
[0089][0090]
为验证12秒的心跳数据采用fft检测法的可行性。取一段12秒的心跳数据,采用hnr子载波选择法,选择出的是该数据幅值的三个较优子载波。
[0091][0092]

短时的呼吸和心跳检测
[0093]
1)短时的呼吸检测
[0094]
短时呼吸用fft检测法检测t秒的呼吸速率。为了验证方案的可行性,考虑最慢呼吸速率的情况,对4.8~10.8秒的呼吸数据和呼吸速率在10~36bpm之间的6秒呼吸数据的检测结果如下表所示:
[0095][0096]
2)短时的心跳检测
[0097]
短时心跳用fft检测法检测t秒的心率。以6秒的心跳数据为例,通过hnr子载波选择方法,选择出的是该数据幅值的三个较优子载波,经过fft后的频谱,检测结果如下表所示。
[0098][0099]
本发明取得的优点和积极效果是:
[0100]
针对分割提取后的呼吸心跳数据有长有短的问题,提出了基于不同时长的检测方案,分为长时和短时的检测,长时呼吸采用包含假峰去除算法的峰值法检测法,短时呼吸和心跳均采用包含抛物线插值法的fft检测法,
附图说明
[0101]
图1为本发明中睡眠数据的csi幅值信息;其中,(a)原始csi幅值信息,(b)去除异常值的csi幅值信息;
[0102]
图2为本发明中睡眠行为和呼吸心跳的分割,其中,(a)睡眠行为和呼吸心跳数据;(b)睡眠行为标记;
[0103]
图3为本发明中分割出的睡眠行为和呼吸心跳;其中,(a)第一段呼吸心跳数据,(b)第二段呼吸心跳数据,(c)第三段呼吸心跳数据,(d)第四段呼吸心跳数据,(e)第一个睡眠行为,(f)第二个睡眠行为;(g)第三个睡眠行为;
[0104]
图4为本发明中呼吸和心跳的幅值信息;其中,(a)第三段呼吸的幅值信息,(b)第三段心跳的幅值信息;
[0105]
图5为本发明中三个天线的30个子载波的原始相位;
[0106]
图6为本发明中原始相位和相位预处理之后的极坐标图;
[0107]
图7为本发明中呼吸和心跳的相位信息;其中,(a)第三段呼吸的相位信息,(b)第三段心跳的相位信息;
[0108]
图8为本发明中呼吸和心跳幅值的bnr和hnr;其中,(a)第三段呼吸幅值的bnr,(b)第三段心跳幅值的hnr;
[0109]
图9为本发明中呼吸和心跳相位的bnr和hnr;其中,(a)第三段呼吸相位的bnr,(b)第三段心跳相位的hnr;
[0110]
图10为本发明中呼吸或心跳幅值和相位的子载波选择流程框图;
[0111]
图11为本发明中呼吸和心跳的幅值和相位的bnr、hnr比较;
[0112]
图12为本发明中呼吸幅值和相位的较优子载波;其中,(a)第三段呼吸幅值的较优子载波,(b)第三段呼吸相位的较优子载波;
[0113]
图13为本发明中心跳幅值和相位的较优子载波;其中,(a)第三段心跳幅值的较优子载波,(b)第三段心跳相位的较优子载波;
[0114]
图14为本发明中不同时长的检测方案;
[0115]
图15为本发明中峰值检测法的流程框图;
[0116]
图16为本发明中呼吸数据中的峰值;其中,(a)呼吸数据中的呼吸周期,(b)呼吸数据中的假峰;
[0117]
图17为本发明中睡眠呼吸的假峰和真峰;其中,(a)假峰,(b)真峰;
[0118]
图18为本发明中12秒的呼吸数据;
[0119]
图19为本发明中fft检测法的流程框图;
[0120]
图20为本发明中第三段睡眠心跳相位数据的频谱;其中,(a)99.88-129.88秒的频谱,(b)129.88-159.88秒的频谱,(c)159.88-189.9秒的频谱;
[0121]
图21为本发明中最大峰值和相邻两个值的拟合抛物线;
[0122]
图22为本发明中12秒的心跳数据及幅值的频谱图;其中,(a)12秒的心跳数据,(b)12秒的心跳数据的频谱;
[0123]
图23为本发明中6秒的呼吸数据;其中,(a)呼吸速率为10bpm,(b)呼吸速率在10-36bpm之间;
[0124]
图24为本发明中短时呼吸数据的频谱图;其中,(a)10bpm的呼吸频谱,(b)10~36bpm的呼吸频谱;
[0125]
图25为本发明中6秒心跳数据和频谱图;其中,(a)6秒的心跳数据,(b)6秒心跳的频谱;
[0126]
图26为本发明中硬件设备;其中,(a)intel 5300无线网卡和接收天线,(b)tp-link无线路由器;
[0127]
图27为本发明中实验场景平面图;其中,(a)实验室平面图,(b)宿舍平面图;
[0128]
图28为本发明中实验流程框图;
[0129]
图29为本发明中原始幅值信息;其中,(a)天线1的幅值,(b)天线2的幅值,(c)天线3的幅值;
[0130]
图30为本发明中不同实验场景中检测准确率;
[0131]
图31不同收发设备距离下的呼吸;其中,(a)2米的呼吸,(b)3米的呼吸,(c)4米的呼吸,(d)5米的呼吸
[0132]
图32为本发明中不同收发设备距离下的心跳;其中,(a)2米的心跳,(b)3米的心跳,(c)4米的心跳,(d)5米的心跳;
[0133]
图33为本发明中不同收发距离的检测准确率;
[0134]
图34为本发明中不同睡姿的呼吸;其中,(a)仰卧的呼吸,(b)左侧卧的呼吸,(c)右侧卧的呼吸,(d)俯卧的呼吸;
[0135]
图35为本发明中不同睡姿的心跳;其中,(a)仰卧的心跳,(b)左侧卧的心跳,(c)右侧卧的心跳,(d)俯卧的心跳;
[0136]
图36为本发明中不同睡眠姿势的检测准确率
具体实施方式
[0137]
下面结合通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
[0138]
本发明未具体详细描述的结构,均可以理解为本领域的常规结构。
[0139]
本发明中提出了一种基于不同时长的非接触式生命体征监测方法,具体制备及检测如下:
[0140]
1.1数据预处理
[0141]
1.1.1异常值去除
[0142]
由于wifi传输速率的变化以及网卡自身的原因等,夜间睡眠数据中会存在异常值,影响感知检测结果。因此采用基于滑动窗口的hampel滤波算法去除这些异常值。
[0143]
hampel滤波算法是利用中位数绝对偏差(mean absolute deviation,mad)度量数据中某一样本偏离中位数的距离,根据偏移距离找出数据中存在的异常值,同时用更具有代表性的数值代替异常值。
[0144]
1.1.2分割算法
[0145]
该算法通过一个固定长度的滑动窗口来计算窗口内csi幅值的标准差,当窗口滑动到睡眠行为的时候,计算得到的标准差较大,而当窗口滑动到呼吸心跳的时候,计算得到的标准差很小,通过设定阈值,将其中标准差大于阈值的csi片段分割出来,即睡眠行为,其余的片段即为呼吸心跳,实现了睡眠行为和呼吸心跳的分割。分割算法的具体步骤如下:
[0146][0147]
1.2数据提取
[0148]
1.2.1呼吸和心跳的幅值提取
[0149]
采用dwt对呼吸心跳数据进行相应的分解重构。小波变换的公式如下:
[0150][0151]
其中,尺度α对应于频率,平移量τ对应于时间。dwt的多尺度分解是通过低通滤波器和高通滤波器,把信号f(t)分解为低频和高频部分。小波函数决定低通滤波器的特性,尺度函数决定高通滤波器的特性,分解后的系数由两部分组成:低频(近似)系数向量和高频(细节)系数向量。
[0152]
小波分解后的频率范围和采样频率有关,在每一层分解后采样频率减半,假设输入信号的采样频率为fs,在小波n层分解之后,第n层的近似系数和细节系数的频率范围分别为式(3)和式(4):
[0153]
[0154][0155]
假设进行了n层分解,那么第一层近似系数的频率范围为0~12.5hz,第一层细节系数的频率范围为12.5~25hz,更多层分解后的近似系数和细节系数的频率范围,如下表所示:
[0156][0157]
1.2.2呼吸和心跳的相位提取
[0158]
通过对原始相位进行线性变换来消除这些未知项,相位的预处理算法如下表所示:
[0159][0160]
1.3呼吸和心跳的子载波选择
[0161]
1.3.1子载波选择方法
[0162]
csi不同的子载波具有不同的中心频率和波长,每个子载波都有不同的信号强度和相位,因此不同子载波有不同的幅值和相位信息。而呼吸和心跳引起的csi变化是周期性变化,子载波的csi周期性越高,说明该子载波对呼吸和心跳信号越敏感,通过判断子载波所含信号的周期性,选择周期性较高的子载波作为检测数据。
[0163]
判断呼吸信号周期性的方法是,通过计算各个子载波的呼吸信噪比
(respirationing-to-noise ratio,bnr)。判断心跳信号周期性的方法是,通过计算各个子载波的心跳信噪比(heartbeat-to-noise ratio,hnr)。bnr和hnr的值越大,说明信号的周期性越高,那么该子载波包含有较好呼吸信号和心跳信号的可能性越大。bnr和hnr的公式如下:
[0164][0165][0166]
其中,bnr为呼吸信噪比,b_e
max
为呼吸能量,b_ei为呼吸数据做fft之后的总能量;hnr为心跳信噪比,h_e
max
为心跳能量,h_ei为心跳数据做fft之后的总能量,n为fft的数据长度。
[0167]
1.3.2幅值和相位的子载波选择
[0168]
将呼吸或心跳数据的幅值和相位信息的30个子载波的bnr或hnr分别计算出来,呼吸或心跳分别选择幅值和相位较大的三个bnr或hnr。分别计算幅值和相位三个bnr或hnr的平均值,并比较两个平均值的大小,最后选择平均值较大的幅值或相位的三个子载波。若幅值信息bnr或hnr的平均值大,则使用幅值信息的三个子载波,反之,使用相位信息的三个子载波。
[0169]
根据上述方法,第三段呼吸选择幅值信息的三个较优子载波作为检测数据。第三段心跳选择相位信息的三个较优子载波作为检测数据。将上述呼吸幅值和相位较优子载波的选择方法,定义为bnr子载波选择法;将上述心跳幅值和相位较优子载波的选择方法,定义为hnr子载波选择法。
[0170]
1.4基于不同时长的呼吸和心跳检测
[0171]
1.4.1基于不同时长的检测方案
[0172]
将睡眠行为和呼吸心跳分割提取后,两个睡眠行为的时间间隔有长有短,那么分割提取的呼吸和心跳数据也有长有短,将时间间隔大于等于12秒的定义为长时的呼吸和心跳,将时间间隔小于12秒的定义为短时的呼吸和心跳。考虑到检测的实时性,对于长时的呼吸心跳,每30秒计算一次呼吸速率和心率。对于短时的呼吸心跳,还要考虑能检测出呼吸速率和心率的最短时间。人体呼吸速率范围为10~36bpm,呼吸周期为1.67~6秒;人体心率范围为60~120bpm,心跳周期为0.5~~1秒,人体最慢呼吸周期和最慢心跳周期分别为6秒和0.5秒,但是0.5秒的时间太短,因此只考虑可以检测出呼吸速率的最短时间。由于峰值检测法至少需要两个波峰才能检测出呼吸速率,大概需要呼吸两次即12秒,fft检测法只需要一个呼吸周期就可以检测出呼吸速率即6秒,因此当6≤t<12秒时,采用fft检测法检测呼吸速率。
[0173]
呼吸速率的检测方法采用峰值检测法和fft检测法。心率的检测方法采用fft检测法,心率不采用峰值检测法是因为心率变化较快,用峰值检测法检测的峰值时间间隔不均匀,导致检测到的心率误差较大。为分析呼吸的两种检测法的算法复杂度,通过比较两种检测法运行时所使用的时间和物理内存,说明两种检测方法的时间复杂度和空间复杂度。以分割提取的第三段呼吸数据为例,分别采用峰值检测法和fft检测法进行了呼吸检测,算法
复杂度比较如下表所示,为了保证呼吸速率检测的实时性,当t≥12秒时,采用峰值检测法计算呼吸速率。
[0174][0175]
假设呼吸心跳的数据长度为n,时长为t,单位为秒,t/30的整数为n,余数为m。对于短时的呼吸和心跳数据,检测t秒的呼吸速率和心率。对于长时的呼吸心跳数据时长,若在12~30秒之间,则检测t秒的呼吸速率和心率;若大于30秒且是30秒的整数倍,则检测n个30秒的呼吸速率和心率;若大于30秒且不是30秒的整数倍,则检测(n-1)个30秒和(30+m)的呼吸速率和心率。比如一段呼吸和心跳数据的时长为75秒,可以计算两个30秒的呼吸速率和心率,还剩下15秒的数据,这种情况就把余下的15秒数据加到第二个30秒中,即这段75秒的数据需要计算前30秒和后45秒的呼吸速率和心率。
[0176]
1.4.2长时呼吸和心跳检测
[0177]
1)长时的呼吸检测
[0178]
a.峰值检测法
[0179]
通过检测呼吸数据中的相邻两个波峰之间的时间间隔,在检测峰值的过程中,给相邻两个峰值之间的最小时间间隔设置一个阈值1.67。
[0180]
假峰去除算法是以检测出的峰值为中心向前0.5秒和向后0.5秒,一共1秒的窗口,检测这个窗口内是否存在比该峰值大的数值。如果存在,则该峰值为假峰应去除,如果不存在,即该峰值为真峰应保留。
[0181]
去除假峰之后,得到呼吸数据中所有的峰值,进而得出相邻两个峰值的时间间隔,设某一个子载波的所有峰值的时间间隔向量为s={s(1),s(2)...s(n)},令:
[0182][0183]
其中,当x=e时,y取得最小值,则e为该子载波的呼吸周期,即可以使y取得最小值的x,这个x就是子载波的呼吸周期。将三个子载波的呼吸周期进行加权平均得到最终的呼吸周期。设三个子载波的bnr向量为b={b(1),b(2),b(3)},三个子载波的呼吸周期向量为e={e(1),e(2),e(3)},最终的呼吸周期t为:
[0184][0185]
因此呼吸速率v
breathing
为:
[0186][0187]
b.检测结果
[0188]
为验证长时呼吸采用峰值检测法的可行性。采用bnr子载波选择法,选择出的是第三段呼吸幅值的三个较优子载波。呼吸速率和最后的加权平均呼吸速率分别如下表所示:
[0189][0190]
为验证最慢呼吸速率10bpm的12秒呼吸数据采用峰值检测法的可行性。人为的控制呼吸速率大概为10bpm的呼吸数据。
[0191]
通过峰值检测法对12秒呼吸数据进行检测的结果如下表所示:
[0192][0193]
2)长时的心跳检测
[0194]
a.fft检测法
[0195]
本发明采样频率fs为50hz,fft的长度为数据长度,对心跳数据进行fft之后,寻找心跳频率范围1~2hz内的最大峰值以及它的索引。
[0196]
采用抛物线插值法提高频率分辨率,进而提高估计心跳频率的准确率,用抛物线代替最大峰值和它相邻两个值的原有曲线。抛物线的一般公式为:
[0197][0198]
其中抛物线横坐标的点p是插值的位置,b为振幅或相位,a为曲率。
[0199]
插值即拟合抛物线中的最大值,通过接下来的计算得到p。频谱中最大峰值在横轴的位置为0,相邻两个值的位置分别为-1和1,有:
[0200]
y(-1)=α
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(10)
[0201]
y(0)=β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(11)
[0202]
y(1)=γ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(12)
[0203]
把这三个样本写成插值抛物线的形式:
[0204]
α=ap2+2ap+a+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(13)
[0205]
β=ap2+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(14)
[0206]
γ=ap
2-2ap+a+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(15)
[0207]
由式(13)减去式(15)推导出式(16):
[0208]
α-γ=4ap
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(16)
[0209]
由式(16)推导出式(17):
[0210][0211]
将式(17)代入式(13)中得到式(18):
[0212][0213]
由式(18)得出式(19):
[0214][0215]
将式(19)代入式(17)得出,即插值峰的位置p:
[0216][0217]
k表示频谱中最大峰值在整个数据中的索引,则k+p为拟合抛物线中的最大值在整个数据中的索引。最后拟合抛物线的最大值作为估计峰值,求出该值对应的频率为该心跳数据的估计心跳频率,估计心跳频率为式(21):
[0218][0219]
其中,fs为采样频率,n是fft的大小即采样点数(从1开始)。
[0220]
根据上述抛物线插值法得到了心跳数据中三个较优子载波的估计峰值p,通过式(21)计算得到每个子载波的心跳频率,将三个子载波的心跳频率进行加权平均值可得到最终的心跳频率。设三个子载波的hnr向量为h={h(1),h(2),h(3)},三个子载波的心跳频率向量为f={f(1),f(2),f(3)},最终的心跳频率f为:
[0221][0222]
因此心率v
heartbeat
为:
[0223]vheartbeat
=60
·fꢀꢀꢀꢀꢀꢀꢀꢀ
式(23)
[0224]
b.检测结果
[0225]
为验证长时心跳数据采用fft检测法的可行性。通过hnr子载波选择法,选择出的是第三段心跳相位的三个较优子载波,估计心率和最后的加权平均心率分别如下表所示:
[0226][0227]
为验证12秒的心跳数据采用fft检测法的可行性。取一段12秒的心跳数据,采用hnr子载波选择法,选择出的是该数据幅值的三个较优子载波。
[0228][0229]
1.4.3短时的呼吸和心跳检测
[0230]
1)短时的呼吸检测
[0231]
短时(6≤t<12)呼吸用fft检测法检测t秒的呼吸速率。为了验证方案的可行性,考虑最慢呼吸速率的情况,对4.8~10.8秒的呼吸数据和呼吸速率在10~36bpm之间的6秒呼吸数据的检测结果如下表所示:
[0232][0233]
2)短时的心跳检测
[0234]
短时(6≤t<12)心跳用fft检测法检测t秒的心率。以6秒的心跳数据为例,通过hnr子载波选择方法,选择出的是该数据幅值的三个较优子载波,经过fft后的频谱,检测结果如下表所示:
[0235][0236]
2.1实验设备与实验环境
[0237]
2.1.1实验设备
[0238]
使用intel 5300无线网卡、tp-link无线路由器和linux 802.11 csitools开源软件包采集人体的夜间睡眠行为和呼吸心跳数据。tp-link无线路由器包含有3根2.4ghz和1根5ghz的天线,电脑终端连接该路由器的wifi,该路由器作为发射端向无线网卡发送数据包,linux 802.11 csitools可以从intel 5300无线网卡中解析csi数据包并获取csi信息。装有无线网卡的电脑终端作为检测点(detect point,dp),接收端连接三根12db增益的接收天线,如图26(a)所示。无线路由器作为接入点(access point,ap),如图26(b)所示,无线路由器使用5ghz的发射天线,因此发射端与接收端构成了一个1
×
3的mimo系统阵列。
[0239]
实验场景一共有两个,实验室平面图如图27(a)所示,其中有桌子、椅子、柜子等其他杂物,受试者在发送设备tx和接收设备rx之间;宿舍平面图如图27(b)所示,其中有床、桌子、椅子、柜子等其他杂物,受试者睡在床铺,发送设备tx和接收设备rx在人体两侧。收发设备和人体的水平高度差大概是0.5m,收发设备之间的距离有2、3、4、5m。
[0240]
2.1.2实验流程与实验数据
[0241]
在安装有ubuntu16.04系统的电脑终端,下载并安装linux 802.11 csi tools软件包。在终端连接无线路由器的wifi,通过命令配置网络并开启无线网卡,实现接收端与发射端的连接。之后设置无线路由器的网关地址、采样频率、发送模式等。为了检测短时间内的信息变化,将采样频率设置为50hz,即每0.02秒发送一个数据包。实验流程框图,如图28所示。
[0242]
对监测到的睡眠行为和呼吸心跳数据进行读取并解析csi幅值和相位信息。采用1
×
3的mimo系统阵列,获取的csi数据格式为30
×
3的复数矩阵,其中每一行对应一条子载波,每一列对应一根接收天线。绘制其中一个监测数据随时间变化的曲线,天线1、天线2、天线3的原始幅值信息,如图29(a)(b)(c)所示,从原始幅值信息的三维图可以看出三个天线有明显的不同,每个天线每个子载波的信息也都不同。
[0243]
按照上述的实验流程,在两个实验场景中分别监测了睡眠行为和呼吸心跳。在实
验阶段,收发设备之间没有别的干扰物,实验室的监测时间较短,宿舍环境监测时间较长。同时使用reston智能睡眠监测器z400twp监测呼吸和心跳,其检测的呼吸速率和心率作为真实值,由于该监测器检测的呼吸速率和心率是整数,因此对发明中检测的呼吸速率和心率四舍五入取整与之比较,进行准确率的评估。
[0244]
2.2呼吸和心跳的检测结果分析
[0245]
2.2.1实验场景对检测结果的影响
[0246]
在两个不同的实验场景中,分别进行了长时和短时的呼吸和心跳检测的重复实验,实验结果如图30所示,当收发设备之间的距离都为2m时,实验室场景中长时的呼吸和心跳的检测准确率分别是96.1%和95.5%。因为充分利用了csi的幅值和相位信息,针对长时的呼吸检测,不仅用了阈值进行峰值检测还进行了假峰去除,提高了长时呼吸的检测准确率。针对短时呼吸和心率的检测,采用包含抛物线插值法的fft检测法,将检测准确率提高了2%。宿舍场景中长时的呼吸和心跳的检测准确率分别是95.2%和94.9%,比实验室场景中的准确率低,是因为宿舍场景中容易受到其他室友以及较多杂物的干扰。
[0247]
实验室场景中短时的呼吸和心跳的检测准确率分别是95.5%和95.1%,宿舍场景中短时的呼吸和心跳的检测准确率分别是94.5%和94.1%,由于短时的检测是用更短的时间去估计一分钟的呼吸速率和心率,因此短时的呼吸速率和心率的准确率略低于长时的。经过实验表明,不管长时还是短时的实验呼吸数据,其中90%的估计误差小于或等于2bpm,不管长时还是短时的实验心跳数据,其中85%的估计误差小于或等于2bpm。
[0248]
2.2.2收发设备距离对检测结果的影响
[0249]
实验室场景中,在不同收发设备之间的距离下分别进行了呼吸检测的重复实验,如图31所示,分别为收发设备距离是2m、3m、4m、5m时,仰卧睡姿下第30个子载波60秒呼吸的幅值变化图。可以看出,不管近距离的2m还是远距离的5m,都能提取出呼吸数据,有明显的呼吸波形;当收发设备之间的距离是2m、3m、4m时,呼吸的幅值波动较大,5m时波动较小;当收发设备之间的距离是2m时,波动大小均匀,3m、4m、5m时,波动大小没有2m时均匀,波动有大有小。
[0250]
在不同收发设备之间的距离下分别进行了心跳检测的重复实验,如图32所示,分别为收发距离是2m、3m、4m、5m时,仰卧睡姿下第30个子载波60秒心跳的幅值变化图。可以看出,不管近距离的2m还是远距离的5m,都能提取出心跳数据,有明显的心跳波形;当收发设备之间的距离是2m、3m时,心跳的幅值波动较大,4m、5m时波动较小。
[0251]
综上所述,随着收发设备之间的距离增加,呼吸和心跳数据的幅值波动越小,对人体的呼吸和心跳活动越不敏感,因此要合理选择收发设备之间的距离。
[0252]
分别在收发设备之间的距离是2m、3m、4m、5m的情况下,受试者保持仰卧的睡眠姿势每次持续检测5分钟,每30秒输出一个呼吸速率和心率,一共重复进行了30次实验。收发设备之间的距离对检测结果的影响,如图33所示,从图中可以看出,收发设备之间的距离是2m时,呼吸和心跳的检测准确率是最高的,分别为96.1%和95.5%。随着收发设备之间距离的增加,呼吸和心跳的检测准确率降低,这是因为较短的距离,对人体微弱的呼吸和心跳活动能产生较强的csi信号,也会有较高的呼吸和心跳信噪比。同理,较远的距离使接收到的呼吸和心跳信号较弱。当距离是5米时,呼吸和心跳的csi波动较小会影响检测性能。
[0253]
2.2.3睡眠姿势对检测结果的影响
[0254]
睡眠姿势主要有4种:仰卧时,人的胸部面向收发设备,发送信号经过人的胸部直接反射到接收设备;左侧卧或右侧卧时,人的胸腔侧部面向收发设备,发送信号经过人的胸部一侧反射到接收设备;俯卧时,人的背部面向收发设备,而呼吸时引起的背部变化比胸部变化小。
[0255]
在不同睡眠姿势下分别进行了呼吸检测的重复实验,如图34所示,分别为仰卧、左侧卧、右侧卧、俯卧睡姿下的第30个子载波60秒呼吸的幅值变化图。可以看出,不管哪种睡姿都能提取出呼吸数据,有明显的呼吸波形;当睡姿是仰卧时,呼吸的幅值波动均匀,其他三个睡姿下的呼吸幅值波动不均匀;睡姿是俯卧时,呼吸幅值波动要小于其他三种睡姿下的呼吸幅值波动。
[0256]
在不同睡眠姿势下分别进行了心跳检测的重复实验,如图35所示,分别为仰卧、左侧卧、右侧卧、俯卧睡姿下的第30个子载波60秒心跳的幅值变化图。可以看出,不管哪种睡姿都能提取出心跳数据,有明显的心跳波形,且波动都比较均匀;右侧卧和俯卧的心跳幅值波动小于仰卧和左侧卧的波动。
[0257]
在不同睡姿下受试者每次持续检测5分钟,每30秒输出一个呼吸速率和心率,一共重复进行了30次实验。不同睡眠姿势对检测结果的影响,如图36所示,可以看出,当受试者的睡眠姿势是仰卧时,呼吸速率和心率的准确率最高,分别是96.3%和95.8%;左侧卧和右侧卧的睡眠姿势,比仰卧时的准确率低,而俯卧时的准确率是这四个睡眠姿势中最低的。
[0258]
尽管为说明目的公开了本发明的实施例,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1