1.导言
针对接触式生命体征测量工具的局限性,提出了基于毫米波雷达的非接触式生命体征检测方法。 通过对混频得到的拍频信号进行距离维傅里叶变换,确定了被测目标所在的距离单元;提取被测目标所在距离单元的相位信息,对相位信号进行差分处理,去除了由于硬件条件导致的相位基线漂移;采用 IIR 数 字滤波器实现呼吸、心跳信号的分离,通过快速傅里叶变换算法对生命体征进行预估。对雷达实测数据的 处理结果表明,所提出的非接触式生命体征检测方法能够较准确地预估人体的心率和呼吸速率.
2.论文简介
论文题目: 基于毫米波雷达的生命体征检测
关键词:毫米波雷达;生命体征检测;心率;呼吸速率
论文作者: 张兰春,顾海潮
论文链接:知网节超时验证
3.基于毫米波雷达的生命体征检测算法原理
人体生命体征信号主要包括心率、呼吸速率、 体温、血压等生理参数,它们可以衡量人体的健康状况。心率对应的是每分钟的心跳次数,呼吸速率指的是人在 1 min 内呼吸循环的次数,健康 成年人的标准呼吸速率和心跳速率分别为每分钟 12~20 次和 60~100 次,转换成频率如下图所示:
图 2 显示了人体心跳和呼吸频率检测的整体流程。主要包括生命体征信号预处理、信号分离、 生命体征检测 3 个步骤。对拍频信号进行模数转换后,首先需要通过距离维 FFT,确定被测目标对应的距离范围,然后通过反正切函数计算目标当前的相位信息,该相位信息即可表示目标与雷达的距离变化,但在计算机运行中存在相位卷绕的问题,因此需要对相位进行解缠绕。在获得准 确的相位变化信息后,通过 IIR 数字滤波器对呼 吸和心跳信号进行分离。最后通过频域 FFT 算法 计算心率和呼吸速率。 相位变化和距离变化的关系为:
4.基于毫米波雷达的生命体征检测算法复现
(1)采集数据
设备:IWR1843毫米波雷达
软件:mmwavestudio
使用毫米波雷达采集数据,提取保存的mmwavestudio软件采集产生的原始数据bin文件。具体使用毫米波雷达请参考B站视频。adc_data.bin 文件位置:
(2)MATLAB复现
main.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%主题:TI AWR1843人体生命体征案例
%Author:Poulen
%Time:2022.9.22
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
close all
clc;
%%%数据大小说明 帧数 1200 样本点 200 采样率4000kHz
% Radar Parameter initialization
Freq_start=77e9; %Radar start frequency
Numsample=200; %number of sample
Numchirp=1; %per frame number of chirp
slope=70e12; %Ramp slope
SampleRate=4000e3; %Sample Rate
c=3e8; %light speed
Numframe=2000; %number of frame
fs=20; %
second = 60;
%Signal Processing Flaw
if(Numsample >128 && Numsample <= 256)
Numsample2=256;
elseif(Numsample >64 && Numsample<=128)
Numsample2=128;
end
%1.extract raw data and stored in Numsample ✖ (Numchirp*Numframe) matrix
Rawdata=readDCA1000_1('adc_data_100s_2_73.bin');
data=reshape(Rawdata(1,1:end),Numsample,Numchirp*Numframe);
%2.1dfft processing
range=chirp1dfft(Numsample,Numsample2,Numchirp,Numframe,data);
% figure(1)
% [X,Y]=meshgrid(linspace(0,second,Numframe*Numchirp), ...
% (0:Numsample2-1-150));%%生成RD图的网格
% % 17*SampleRate*c/2/Numsample2/slope
% %*SampleRate*c/2/Numsample/slope
% mesh(X,Y,db(range(1:Numsample2-1