一种基于光电传感器及毫米雷达波的中医脉象检测方法
文献发布时间:2024-01-17 01:28:27
技术领域
本发明一种基于光电传感器及毫米雷达波的中医脉象检测方法,属于医疗检测技术领域。
背景技术
现如今,中医在国内外发展迅速.中医使用四诊法诊断疾病,即望诊、闻诊、问诊、切诊.其中脉诊属于切诊.脉诊即通过脉搏诊断疾病.它是中医诊断疾病的一种主要手段.传统脉诊主要通过手指触觉来感知患者动脉搏动.这就会带来问题.即使是经验丰富的老中医对同一患者同一病症诊断,常常产生分歧.因此,将脉象定量、定性化是很有必要的.脉诊量化有着极其重要的意义。
目前,与本发明最相似专利:一种非接触式中医脉象检测方法及装置(CN113488162A).该专利利用摄像头拍摄人体面部视频,通过数字信号及数字图像处理技术处理来获得中医脉象信息。由于信号采集端为双目摄像机,信号采集受光线影响较大,并且该专利没有呼吸频率检测,准确度差,不能完全满足使用者全天时呼吸心率检测需求。
发明内容
针对现有技术中存在的问题,本发明信号采集端采用红外传感器及毫米波雷达传感器来实现;它不受天气及光线影响,可实现全天候、全天时呼吸、心率及脉象检测,满足全天候的实时准确的脉象检测。
本发明所采用的技术方案为:一种基于光电传感器及毫米雷达波的中医脉象检测方法,其特征在于:包括以下步骤:
第一步:数据采集:通过光电传感器采集人体心率数据,同时通过生命体征检测雷达采集人体呼吸数据;
第二步:数据筛选:对采集的人体心率数据进行带通滤波处理;同时对采集的人体呼吸数据进行以下筛选:从连续N帧Packet数据包中提取有效数据段,每段呼吸有效数据段为N帧;每段呼吸有效数据段包括:帧序号和呼吸能量值;
第三步:数据处理:对步骤二中的数据进行动态阈值计算判断,如果超过阈值,则计算心率数据HeartRate;如果没有超过阈值,则返回第一步,重新采集人体心率数据;同时对步骤二中的呼吸有效数据段进行峰值查找和峰值间隔计算,生成呼吸峰值频次表;对呼吸峰值频次表进行筛选剔除,生成呼吸峰值筛选后频次表,计算呼吸频率数据FreBreath;
第四步:输出结果:依据步骤三中计算得出的心率数据和呼吸频率数据计算呼吸与心跳频率比值BH_ratio,所述呼吸与心跳频率比值BH_ratio的计算公式如下:BH_ratio=FreBreath/HeartRate;根据RB_ratio与中医脉象表对应,判断脉象并输出结果。
所述步骤二中人体心率数据进行带通滤波处理保留频率成分为f的Hz的信号,所述f的数值范围为:0.5≤f≤3。
所述步骤三中动态阈值计算判断采用以下方式:
第一次动态阈值曲线为固定初始化值,此为训练后的初始值;第二次开始动态阈值曲线某一点计算为M个周期内的点除去最大值Max及最小值Min的平均值;
假设滤波后值为FilterValue,则动态曲线某一点值则为:
其中:Value为动态曲线值,FilterValue为滤波后波形值;对M个值求和;Max及Min分别为这M个连续滤波后值的最大及最小值;
最后通过公式计算心跳频率HeartRate:
HeartRate=60000*ratio/delta
其中:ratio为红外传感器时钟频率;delta滤波后波形三次经过动态阈值曲线的交点时,相交两点为一个周期delta,delta单位为时钟频率个数。
所述M值为5。
其特征在于:所述步骤三中呼吸频率计算方法包括以下步骤:
(一)、波峰法计算呼吸频率,包括以下步骤:
首先,对每段有效数据段查找峰值,并对各个峰值查找其帧序号索引值及计算其峰值间隔.峰值间隔为前后两峰值帧序号之差;
然后,生成频次表,即统计各峰值间隔出现频次;
接着,对频次表进行筛选剔除处理.筛选完频次表后,计算呼吸频率;计算方法为:先求呼吸频次均值MeanBreath,然后再求呼吸频率FreBreath;
所述呼吸频次均值MeanBreath的计算公式如下:
MeanBreath=sum(Diff*F)./sum(F)
其中,Diff为筛选频次表第1列,对应频次F为筛选频次表第2列;
所述呼吸频率FreBreath的计算公式如下:
FreBreathT=60000/(MeanBreath*FramePeriod)
其中,60000为1分钟的ms数,FramePeriod为帧周期;
(二)、频域法计算呼吸频率,包括以下步骤:
首先,对每段有效N帧呼吸数据中,前后分别剔除Q帧,即剩下中间N-2Q帧;
然后,对每段N-2Q帧数据进行滤波及傅里叶变换FFT;
最后,查找第一个峰值最大值的频率MaxBreath,计算其对应呼吸频率FreBreathF大小,所述FreBreathF的计算公式如下:
FreBreathF=60*MaxBreath
(三)、比较FreBreathT与FreBreathF大小:
如果FreBreathT与FreBreathF差值小于等于1,则FreBreath为FreBreathT;
如果FreBreathT与FreBreathF差值大于1,则FreBreath为FreBreathF。
所述N数值为:300;
所述Q数值为:22。
所述红外传感器采用MAX30102芯片;所述生命体征检测雷达采用6843XX毫米波雷达传感器。
所述第四步中BH_ratio保留小数点后两位。
本发明与现有技术相比具有的有益效果是:一种基于光电传感器及毫米雷达波的中医脉象检测方法,针对现有技术和对比专利技术中受光线影响,它不受天气及光线影响,可实现全天候、全天时检测,其检测准确性更高,满足全天候的实时准确的脉象检测。
附图说明
下面结合附图对本发明作进一步详细的说明:
图1是本发明的流程图;
图2是本发明中带通滤波前后比较图;
图3是本发明中动态曲线及间隔周期图;
图4是BH_ratio值对应脉象图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图4所示,一种基于光电传感器及毫米雷达波的中医脉象检测方法,其特征在于:包括以下步骤:
第一步:数据采集:通过光电传感器采集人体心率数据,同时通过生命体征检测雷达采集人体呼吸数据;
第二步:数据筛选:对采集的人体心率数据进行带通滤波处理;同时对采集的人体呼吸数据进行以下筛选:从连续N帧Packet数据包中提取有效数据段,每段呼吸有效数据段为N帧;每段呼吸有效数据段包括:帧序号和呼吸能量值;
第三步:数据处理:对步骤二中的数据进行动态阈值计算判断,如果超过阈值,则计算心率数据HeartRate;如果没有超过阈值,则返回第一步,重新采集人体心率数据;同时对步骤二中的呼吸有效数据段进行峰值查找和峰值间隔计算,生成呼吸峰值频次表;对呼吸峰值频次表进行筛选剔除,生成呼吸峰值筛选后频次表,计算呼吸频率数据FreBreath;
第四步:输出结果:依据步骤三中计算得出的心率数据和呼吸频率数据计算呼吸与心跳频率比值BH_ratio,所述呼吸与心跳频率比值BH_ratio的计算公式如下:BH_ratio=FreBreath/HeartRate;根据RB_ratio与中医脉象表对应,判断脉象并输出结果。
如图2所示,所述步骤二中人体心率数据进行带通滤波处理保留频率成分为f的Hz的信号,所述f的数值范围为:0.5≤f≤3,也就是心率30次/min到180次/min。
如图3所示,所述步骤三中动态阈值计算判断采用以下方式:
第一次动态阈值曲线为固定初始化值,此为训练后的初始值;第二次开始动态阈值曲线某一点计算为M个周期内的点除去最大值Max及最小值Min的平均值;
假设滤波后值为FilterValue,则动态曲线某一点值则为:
其中:Value为动态曲线值,FilterValue为滤波后波形值;对M个值求和;Max及Min分别为这M个连续滤波后值的最大及最小值;本具体实施方式中这里M取5,;Max及Min分别为这5个连续滤波后值的最大及最小值;
最后通过公式计算心跳频率HeartRate:
HeartRate=60000*ratio/delta
其中:ratio为红外传感器时钟频率;delta滤波后波形三次经过动态阈值曲线的交点时,相交两点为一个周期delta,delta单位为时钟频率个数。
所述步骤三中呼吸频率计算方法包括以下步骤:
(一)、波峰法计算呼吸频率,包括以下步骤:
首先,对每段有效数据段查找峰值,并对各个峰值查找其帧序号索引值及计算其峰值间隔.峰值间隔为前后两峰值帧序号之差;
然后,生成频次表,即统计各峰值间隔出现频次;
接着,对频次表进行筛选剔除处理.筛选完频次表后,计算呼吸频率;计算方法为:先求呼吸频次均值MeanBreath,然后再求呼吸频率FreBreath;
所述呼吸频次均值MeanBreath的计算公式如下:
MeanBreath=sum(Diff*F)./sum(F)
其中,Diff为筛选频次表第1列,对应频次F为筛选频次表第2列;
所述呼吸频率FreBreath的计算公式如下:
FreBreathT=60000/(MeanBreath*FramePeriod)
其中,60000为1分钟的ms数,FramePeriod为帧周期;
(二)、频域法计算呼吸频率,包括以下步骤:
首先,对每段有效N帧呼吸数据中,前后分别剔除Q帧,即剩下中间N-2Q帧;
然后,对每段N-2Q帧数据进行滤波及傅里叶变换FFT;本具体实施方式中,所述N数值为:300;所述Q数值为:22;对每段有效300帧呼吸相关数据中,前后分别剔除22帧,即剩下中间256帧.对每段256帧数据进行滤波及傅里叶变换FFT;
最后,查找第一个峰值最大值的频率MaxBreath,计算其对应呼吸频率FreBreathF大小,所述FreBreathF的计算公式如下:
FreBreathF=60*MaxBreath
(三)、比较FreBreathT与FreBreathF大小:
如果FreBreathT与FreBreathF差值小于等于1,则FreBreath为FreBreathT;
如果FreBreathT与FreBreathF差值大于1,则FreBreath为FreBreathF。
所述N数值为:300;
所述Q数值为:22。
所述第四步中BH_ratio保留小数点后两位。
所述红外传感器采用MAX30102、MAX30101芯片;所述心电信号采集采用TI的ADS1291、ADI的AD8232、芯森微Kingsense的KS1081和KS1082芯片,所述生命体征检测雷达采用TI公司的6843XX,1642XX系列毫米波雷达传感器。
所述红外传感器采用MAX30102芯片;心率原数据由MAX30102的先入先出(FIFO)存储器提供;呼吸频率相关数据由6843XX芯片数据包(Packet)提供。心率计算模块,即经过小端解析后的心率原数据通过带通滤波处理。滤波处理后波形与动态阈值曲线交点来确定波间间隔,进而获得心率。
所述生命体征检测雷达采用6843XX毫米波雷达传感器,获得呼吸频率模块为从连续N帧,本实施例中N为300,Ti毫米波雷达数据包(packet)中提取有效数值,从中找到一呼一吸周期,进而得到呼吸频率,雷达设备开启10s后,从连续300帧Packet数据包中提取有效数据段.帧周期FramePeriod为100ms.有效数值包括帧序号(frameNumber)及呼吸波形能量值(sumEnergyBreathWfm)
所述第四步中BH_ratio保留小数点后两位,不同BH_ratio值对应脉象见表如图4所示,最后输出脉象结果。
- 毫米波雷达及基于毫米波雷达的目标检测方法
- 基于毫米波雷达的跌倒检测方法、装置及毫米波雷达设备