TI毫米波雷达工程||vital signs~1原理

一、TI测呼吸心率demo的基本原理

①概述

人呼吸和心跳时胸腔会有微小的振动产生微小的位移,从下表可以发现大概在毫米级,那么就可以采用毫米波雷达完成测量。

为了测量这些微小的振动/位移,我们在目标范围 bin 处测量 FMCW 信号随时间的相位变化,即。可以对中频信号采用FFT并计算对象范围箱处的相位来测量相位。

②算法流程

一个完整的呼吸心率检测流程主要包括生命体征信号预处理、信号分离、生命体征检测3个步骤。对拍频信号进行ADC后,首先需要通过距离维FFT,确定被测目标对应的距离范围,然后通过反正切函数计算目标当前的相位信息,该相位信息即可表示目标与雷达的距离变化,但在计算机运行中存在相位卷绕的问题,因此需要对相位进行解缠绕。在获得准确的相位变化信息后,通过IIR数字滤波器对呼吸和心跳信号进行分离。最后通过频域FFT算法计算心率和呼吸速率。

上图的流程是一个基本的检测流程,下面TI vital signs工程的算法流程中加入了判断和心跳样本分割等步骤,是为了应用中得到更加稳定准确的结果。

在TI工程使用中,每个帧配置有 2 个chirp,但是只有帧中的第 1 个 Chirp 用于处理。使用单个 TX-RX 天线对的数据进行处理。生命体征波形沿慢时间轴采样,因此生命体征采样率等于系统的帧速率。

③距离维FFT+Range bin tracking

通过做距离维FFT,确定被测目标对应的距离范围,同时加入静态杂波滤除减少噪声杂波干扰。根据人体位置确定目标距离范围,通过在该范围内搜索最大值,获取目标对应的Range bin。

④相位信息提取

提取目标Range bin处的相位。③④两个阶段循环,每一个帧周期用第一个chirp即提取一次目标的相位,如果目标距离发生变化,则需要根据Range bin tracking得出此时的Range bin,然后提取相位,循环发射N帧即可得到目标相位随帧数的取值变化,也目标相位与时间的关系。

通过反正切函数计算目标当前的相位信息,该相位信息即可表示目标与雷达的距离变化,但在计算机运行中存在相位卷绕的问题,因此需要对相位进行解缠绕以获得准确的相位变化信息。相位解缠绕,相位值在-pi~pi之间,需要展开以获取实际的相位,当连续值之间的相位差大于或小于±pi,通过从相位中减或加去2pi做相位展开。

通过减去连续相位值对展开的相位执行相位差运算。对连续展开相位进行差分,可以消除相位基线漂移,抑制呼吸信号及其谐波,从而达到增强心跳信号的目的(可以理解为雷达系统中有相位噪声,做相位差可以抑制它,同时通过差分操作可以强调高频成分(心跳信号)同时抑制低频成分(呼吸信号),而且心跳信号不仅频率更高且更微弱,所以这种差分可以帮助识别和增强心跳信号)。然后利用滑动平均滤波算法来去除由于测试环境引起的脉冲噪声。

⑤IIR滤波器+FFT

获得相位变化信息后对相位信号做FFT,可以发现在呼吸频率范围内有峰值,但是心跳频率范围内的结果被“淹没”了。因为心跳信号比呼吸信号要更加微弱。

所以在获得准确的相位变化信息后,依据心跳和呼吸频率不同,利用两个IIR带通滤波器将相位值进行滤波对呼吸和心跳信号进行分离。关于这两个IIR带通滤波器的设计在前面滤波器设计的博客中提过,在了解滤波器设计原理后可以用MATLAB中的滤波器设计工具快速设计出我们想要的滤波器来。最后通过频域FFT计算心率和呼吸速率。下图可以发现图中的峰值即指示呼吸和心跳频率。但是也可以发现心跳信号FFT结果中峰值并不唯一且存在干扰(比如呼吸信号的二次谐波等),所以这种方法得到的心跳结果准确性还不够高。

⑥TI工程增加的步骤

在②中TI vital signs工程的算法流程中可以看到步骤7范围估计,这一步对滤波器滤波后的相位信号做FFT,依据峰值大小及其谐波特征,获取N个Frame时间内对应的呼吸频率。可以看到这里还记录了呼吸频率的谐波特征。

步骤8判断,这一步记录一段时间内的呼吸频率,根据不同置信度指标判断此时的呼吸频率,并输出呼吸频率随时间变化的关系。可以看到这一加入了置信度判断。

步骤9心跳样本分割:在对相位滤波后,为减少人身体的相对位置移动而对心率测量造成的影响,(因为心率测量基于心脏收缩舒张的微小位移距离差引起的相位变化,依据微多普勒原理,当人身体大幅摆动时,将会对其准确性造成影响),此处通过将样本分割,设置阈值去判断是否符合心率的变化范围,并选取稳定状态下的数据进行下一步估计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值