毫米波雷达心率、呼吸检测原理

本项目分两到三篇文章写完,第一阶段借鉴TI开源项目以及根据自己的见解适当更改信号处理链通过AWR1843汽车雷达传感器和DCA1000采集卡采集数据完成人体呼吸和心跳检测算法的实现。第二阶段将仿真成功的代码搬移TIAWR1843传感器并通过串口数据实现生命体征的实时处理。本文即为第一阶段实现过程。本文首先概述毫米波雷达呼吸心跳检测的原理,紧接着概述本项目信号处理流程,另外本项目第一阶段通过matlab仿真验证算法的有效性,仿真源码在这篇文章结尾2.毫米波雷达心率呼吸实时处理实例(二)

1.概述

普通成年人的心跳、呼吸的位移、频率参数如下:

基本原理

通过探测由于目标微小振动所引起的在特定的Range bin的FMCW信号的相位变化。

式中,Δ ϕ  为相位变化, Δ R 为心脏或胸腔引起的位移变化。

2.信号测量

对于单个目标,心跳信号可看作一个同时具有频率和相位的正弦信号b (t)

 为测量小幅度的振动,需要得到目标其Range-bin里的相位变化Δ ϕb ;

 通过目标Range-bin里对b (t)信号做FFT,可得到其目标相位;假设目标距离为m ,进行FFT变换,提取距离为m 的Range-bin 处的振动信号,假设我们进行了FFT,并且目标位于Range-bin 为m处,则可以通过在nTs时间内连续提取Range-bin为 m处的相位来获取振动信号x(t),其中n是chirp的索引,Ts是连续测量的时间。

 3.波形参数配置

 

每个Chirp进行200次ADC采样,每个Chirp的持续时间为57μs,IF采样率为4MHZ;

每帧发射1个chirp,每帧的周期为50ms;

目前仅使用单发单收的天线布局;

生命体征波形沿“慢时间轴”采样,因此生命体征采样率等于系统的帧率;通过连续的N帧得到心率、呼吸的相位变化 ;

4.信号处理流程

 上图中显示了人体心跳和呼吸频率检测的整体流程。主要包括生命体征信号预处理、信号分离、生命体征检测3个步骤。对接收的拍频信号首先通过距离维FFT,确定被测目标对应的距离范围(Range-bin),然后通过反正切函数计算目标对应的相位信息,接着通过相位接缠绕得到目标的真实相位,并计算相邻相位的相位差以及通过滑动均值滤波算法滤除脉冲噪声,通过IIR带通滤波器分离呼吸信号和心跳信号,最后通过谱估计提取呼吸频率和心跳频率,通过下式转化:

 滤波器设计表 1

 5.实验效果

实验场景设计:雷达设计0.7-1.2m高度,对准测试人员胸口大约距离在0.3m-0.9m之间,共观测100s时间,总共采集2000帧的数据。下图为实验效果图。

图1为经过IIR滤波器分离之后的呼吸波形。

 图2为经过IIR滤波器分离之后的心跳波形。

 图 3是对呼吸信号进行FFT的频谱图。看到峰值处频率为0.214844 Hz,转换为呼吸率为13次/分钟。处于正常值范围,由于本人设备有限,没有用于专门的呼吸率测量的仪器做参考。

 图 4是对心跳信号进行FFT的频谱图。看到峰值处频率为0.1.23047 Hz,转换为呼吸率为74次/分钟。这与我们的智能手环测量的73次/分钟相近,足以证明上述算法的有效性。

6.结束语

这篇文章中我们已经将生命体征的算法部分仿真完成,在接下来的文章中将会进一步通过串口数据进行实时处理,感兴趣的小伙伴可以关注小编一起学习。

 参考资料:

mmwave_automotive_toolbox_2_5_0\labs\lab0001-driver-vital-signs\docs

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐