掌桥专利:专业的专利平台
掌桥专利
首页

一种打鼾检测方法及系统

文献发布时间:2023-06-19 18:37:28


一种打鼾检测方法及系统

技术领域

本发明涉及医疗设备领域,尤其涉及一种打鼾检测方法及系统。

背景技术

打鼾是指睡眠中因上呼吸道狭窄使悬雍垂(腭垂)发生振动而发出的鼾声。扁桃体肥大,舌部过大及过度饮酒等会引发打鼾。打鼾可导致白天嗜睡、乏力、注意力不集中、头痛、工作能力下降等。打鼾是高血压的独立危险因素,严重的打鼾常伴有睡眠呼吸暂停综合征。

过去很少有人关心打鼾对本人有没有危害,自从睡眠成为研究的课题之后,才有学者研究打鼾者的睡眠情况,研究发现:长期打鼾者或是打鼾严重的人往往都伴有睡眠呼吸暂停综合征,在睡眠的全过程中出现呼吸暂停,血中氧气减少。也就是说整夜吸进去的氧气比正常人来得少,时间久后,会影响记忆力。曾有人测定打鼾者的记忆功能确实不如正常人,只不过打鼾者本人没有意识到罢了。所以现在不少学者提议:打鼾的人要去进行多导睡眠仪检查,看看有没有睡眠呼吸暂停综合征,如果有就应当进行必要的治疗。

临床通过佩戴24小时睡眠监测仪能够监测低血压血细胞血红蛋白动脉血气分析病情严重,或已并发肺心病,高血压,冠心病,有低氧血症,高碳酸血症和呼吸性酸中毒以及通过胸部射线检查,并发肺动脉高压高血压冠心病,会有相应增大,肺动脉突出等相应表现!同时监测患者睡眠时中枢神经呼吸,心血管功能以及睡眠呼吸紊乱的结果,为诊断提供依据。

一般打鼾检测方法是利用麦克风收集鼾声信号,然后利用神经网络通过机器学习方式对声音信号特征分析,以此来达到检测打鼾事件,另外传统方法中还用到多导睡眠仪,通过在受测者身上佩戴多个传感器的方式进行打鼾检测。

现有技术中利用麦克风收集鼾声进行打鼾事件检测方法需要大量人工收集并提取环境中的打鼾特征信号及非打鼾特征信号进行神经网络模型训练,其操作繁琐,人力投入要求大,且训练模型容易受特征提取算法影响导致分类结果的准确性。

同时现有技术对算力要求高,一般会引入大量矩阵运算及大量递归操作等复杂运算,因此对硬件设备需求比较高,在一般应用场景上实现起来难度相当高,另外通过收集鼾声的方式来检测打鼾,容易受同床或者同房间人员的鼾声影响导致打鼾检测误判问题。

利用多导睡眠仪进行打鼾检测需要进行多种传感器接线操作,在便利性及舒适性上都不适用于个人长期生理监护,同时多导睡眠仪操作专业性及价格昂贵使其无法在普通人群中普及使用。

发明内容

本发明的目的是针对现有技术的打鼾检测方法成本高且操作不便的技术问题,本发明提出一种成本低且易于操作的打鼾检测方法及系统。

本发明实施例中,提供了一种打鼾检测方法,其包括:

实时采集原始BCG(Ballistocardiography,心冲击)数据;

对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据;

分别对心率数据、呼吸数据、体动数据、干扰数据及打鼾数据进行分析,得到心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据;

根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间。

进一步地,对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据,包括:

以呼吸频率最低频率及呼吸频率最高频率作为数字带通滤波器的带通滤波截止频率点构建呼吸数据带通滤波器,对原始BCG数据做数字带通滤波得到呼吸数据;

以心搏频率最低频率及心搏频率最高频率作为数字带通滤波器的带通滤波截止频率点构建心率数据带通滤波器,对原始BCG数据做数字带通滤波得到心率数据;

以体动频率最低频率及体动频率最高频率作为数字带通滤波器的带通滤波截止频率点构建体动数据带通滤波器,对原始BCG数据做数字带通滤波得到体动数据;

以打鼾频率最低频率及打鼾频率最高频率作为数字带通滤波器的带通滤波截止频率点构建打鼾数据带通滤波器,对原始BCG数据做数字带通滤波得到打鼾数据;

把原始BCG数据中除去呼吸、心率、体动、打鼾数据的信号频段外各个频段的信号进行带通滤波,得到干扰信号数据。

本发明实施例中,对心率数据进行分析得到心率离散度值,包括:

从心率信号数据中读取一段设定长度L的数据,对这段长度L的数据进行平均差处理,得出心率数据的离散度DtMd,其中,所述设定长度L的数据中包含至少一个呼吸周期的数据。

本发明实施例中,对呼吸数据进行分析,得到呼吸率,包括:

对呼吸数据做傅里叶变换处理;

在呼吸频段内查找频率峰值点,找到第一峰值点跟第二峰值点,通过分析第一峰值点与第二峰值点的关系剔除谐振波频点找到正确的呼吸频率;

通过滑窗方式截取多段数据得到多个呼吸频率做均值处理,得到准确的呼吸频率Fs,通过BrRate=Fs*60计算出准确的呼吸率值BrRate。

本发明实施例中,对体动数据进行分析得到体动时间点,包括:

通过设定的阈值来检测体动事件;

当体动数据大于设定的阈值时,判断存在体动并记录发生体动的时间点BTime1~BTimeN。

本发明实施例中,对干扰数据进行分析,得到干扰数据时间点,包括:

将心率数据的离散度DtMd与通过实验测算出正常打鼾状态下的干扰信号离散度阈值DtMinV进行比较,

当DtMd>DtMinV时,则判断其为干扰数据,并记录干扰数据时间点DTime。

本发明实施例中,对打鼾数据进行分析得到打鼾包络数据,包括:

从打鼾数据中以滑窗方式读取一段长度为L的数据,对数据点进行单个分析,当某一个点的数据大于打鼾信号阈值时开始记录打鼾包络起始时间SIndex,并向后探测一定长度的多点数据,若多点数据都大于阈值时,将这些点的所有数据纳入包络,直到向后探测数据点中不存在数据大于阈值时,形成当前打鼾包络,并记录打鼾包络的终点时间EIndex和中点时间ETime。

将打鼾数据中检测到的所有打鼾包络中的起始时间SIndex1-SIndex1N、中点时间ETime1-ETimeN和终点时间EIndex1-EIndexN保存起来,其中,N为包络的个数。

本发明实施例中,根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间点,包括:

异常包络校验:判断每个打鼾包络的中点时间体动时间是否与体动时间或干扰数据时间点,若存在则去除当前的包络;

包络合理性校验:判断包络时间长度是否在合理时范围内,把不合理时间长度的包络剔除;利用呼吸率BrRate校验包络合理性,通过公式(ETimeN–EtimeN-1)-60/BrRate

包络去重处理:利用SIndex1~SIndeN、EIndex1~EIndexN数据,分析每次滑窗后是否存在包络起始点都相同的包络,把起始点相同的包络合并为一个包络。

本发明实施例中,还提供了一种打鼾检测系统,其包括

数据采集模块,用于实时采集原始BCG数据;

数据预处理模块,用于对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据;

心率数据分析模块,用于对心率数据进行分析,得到心率离散度值;

呼吸数据分析模块,用于对呼吸数据进行分析,得到心率呼吸率值;

体动数据分析模块,用于对体动数据进行分析,得到体动时间点;

干扰数据分析模块,用于对干扰数据进行分析,得到干扰数据时间点;

打鼾数据分析模块,用于对打鼾数据进行分析,得到打鼾包络数据;

打鼾检测模块,用于根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间。

本发明实施例中,所述数据预处理模块对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据,包括:

以呼吸频率最低频率及呼吸频率最高频率作为数字带通滤波器的带通滤波截止频率点构建呼吸数据带通滤波器,对原始BCG数据做数字带通滤波得到呼吸数据;

以心搏频率最低频率及心搏频率最高频率作为数字带通滤波器的带通滤波截止频率点构建心率数据带通滤波器,对原始BCG数据做数字带通滤波得到心率数据;

以体动频率最低频率及体动频率最高频率作为数字带通滤波器的带通滤波截止频率点构建体动数据带通滤波器,对原始BCG数据做数字带通滤波得到体动数据;

以打鼾频率最低频率及打鼾频率最高频率作为数字带通滤波器的带通滤波截止频率点构建打鼾数据带通滤波器,对原始BCG数据做数字带通滤波得到打鼾数据;

把原始BCG数据中除去呼吸、心率、体动、打鼾数据的信号频段外各个频段的信号进行带通滤波,得到干扰信号数据。

本发明实施例中,所述心率数据分析模块对心率数据进行分析得到心率离散度值,包括:

从心率信号数据中读取一段设定长度L的数据,对这段长度L的数据进行平均差处理,得出心率数据的离散度DtMd,其中,所述设定长度L的数据中包含至少一个呼吸周期的数据。

本发明实施例中,所述呼吸数据分析模块对呼吸数据进行分析得到呼吸率,包括:

对呼吸数据做傅里叶变换处理;

在呼吸频段内查找频率峰值点,找到第一峰值点跟第二峰值点,通过分析第一峰值点与第二峰值点的关系剔除谐振波频点找到正确的呼吸频率;

通过滑窗方式截取多段数据得到多个呼吸频率做均值处理,得到准确的呼吸频率Fs,通过BrRate=Fs*60计算出准确的呼吸率值BrRate。

本发明实施例中,所述体动数据分析模块对体动数据进行分析得到体动时间点,包括:

通过设定的阈值来检测体动事件;

当体动数据大于设定的阈值时,判断存在体动并记录发生体动的时间点BTime1~BTimeN。

本发明实施例中,所述干扰数据分析模块对干扰数据进行分析得到干扰数据时间点,包括:

将心率数据的离散度DtMd与通过实验测算出正常打鼾状态下的干扰信号离散度阈值DtMinV进行比较,

当DtMd>DtMinV时,则判断其为干扰数据,并记录干扰数据时间点DTime。

本发明实施例中,所述打鼾数据分析模块对打鼾数据进行分析得到打鼾包络数据,包括:

从打鼾数据中以滑窗方式每次读取一段长度为L的数据,对数据点进行单个分析,当某一个点的数据大于打鼾信号阈值时开始记录打鼾包络起始时间SIndex,并向后探测一定长度的多点数据,若多点数据都大于阈值时,将这些点的所有数据纳入包络,直到向后探测数据点中不存在数据大于阈值时,形成当前打鼾包络,并记录打鼾包络的终点时间EIndex和中点时间ETime。

将打鼾数据中检测到的所有打鼾包络中的起始时间SIndex1-SIndex1N、中点时间ETime1-ETimeN和终点时间EIndex1-EIndexN保存起来,其中,N为包络的个数。

本发明实施例中,所述打鼾检测模块检测出打鼾时间点,包括:

异常包络校验:判断每个打鼾包络的中点时间体动时间是否与体动时间或干扰数据时间点,若存在则去除当前的包络;

包络合理性校验:判断包络时间长度是否在合理时范围内,把不合理时间长度的包络剔除;利用呼吸率BrRate校验包络合理性,通过公式(ETimeN–EtimeN-1)-60/BrRate

包络去重处理:利用SIndex1~SIndeN、EIndex1~EIndexN数据,分析每次滑窗后是否存在包络起始点都相同的包络,把起始点相同的包络合并为一个包络。

与现有技术相比较,本发明的打鼾检测方法及方法,通过从BCG信号中提取出呼吸、心率、打鼾、体动、干扰等信号数据,同时在打鼾数据的基础上提取打鼾包络数据,从包络数据特征上进行分析处理实现打鼾事件的检测,合理利用多种数字滤波对BCG数据进行处理,提取呼吸、心率、打鼾、体动、干扰等特征信号,可以简化信号采集的电路设计,降低电路设计成本同时使得整体功能便于移植,采用低算力算法对数据进行处理分析,可以降低对硬件的性能需求,同时在不影响检测的准确度的情况下,运算速度相当高,基本上可以满足任何场景上的应用,实现过程简单。

附图说明

图1是本发明实施例的打鼾检测方法的流程图。

图2是本发明实施例的打鼾检测系统的结构示意图。

具体实施方式

如图1所示,本发明实施例中,提供了一种打鼾检测方法,其包括如下步骤:

数据采集:实时采集原始BCG数据;

数据预处理:对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据;

数据分析:分别对心率数据、呼吸数据、体动数据、干扰数据及打鼾数据进行分析,得到心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据;

打鼾检测:根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间。

具体地,本发明实施例中,采用非直接接触身体的高灵敏压电薄膜(PVDF)传感器采集人体微弱震动信号(心冲击(Ballistocardiography,BCG)信号),可以大大简化设备使用流程降低使用难度。

本发明实施例中,所述数据预处理步骤,具体包括:

以呼吸频率最低频率及呼吸频率最高频率作为数字带通滤波器的带通滤波截止频率点构建呼吸数据带通滤波器,对原始BCG数据做数字带通滤波得到呼吸数据;

以心搏频率最低频率及心搏频率最高频率作为数字带通滤波器的带通滤波截止频率点构建心率数据带通滤波器,对原始BCG数据做数字带通滤波得到心率数据;

以体动频率最低频率及体动频率最高频率作为数字带通滤波器的带通滤波截止频率点构建体动数据带通滤波器,对原始BCG数据做数字带通滤波得到体动数据;

以打鼾频率最低频率及打鼾频率最高频率作为数字带通滤波器的带通滤波截止频率点构建打鼾数据带通滤波器,对原始BCG数据做数字带通滤波得到打鼾数据;

把原始BCG数据中除去呼吸、心率、体动、打鼾数据的信号频段外各个频段的信号进行带通滤波,得到干扰信号数据。

在所述数据分析步骤中,对心率数据进行分析得到心率离散度值,包括:

从心率信号数据中读取一段设定长度L的数据,对这段长度L的数据进行平均差处理,得出心率数据的离散度DtMd,计算公式如下:

在所述数据分析步骤中,对呼吸数据进行分析得到呼吸率,包括:

对呼吸数据做傅里叶变换处理;

在呼吸频段内查找频率峰值点,找到第一峰值点跟第二峰值点,通过分析第一峰值点与第二峰值点的关系剔除谐振波频点找到正确的呼吸频率;

通过滑窗方式截取多段数据得到多个呼吸频率做均值处理,得到准确的呼吸频率Fs,通过BrRate=Fs*60计算出准确的呼吸率值BrRate。

在所述数据分析步骤中,对体动数据进行分析得到体动时间点,包括:

通过设定的阈值来检测体动事件;

当体动数据大于设定的阈值时,判断存在体动并记录发生体动的时间点BTime1~BTimeN。

在所述数据分析步骤中,对干扰数据进行分析得到干扰数据时间点,包括:

将心率数据的离散度DtMd与通过实验测算出正常打鼾状态下(即没有人体微动信号及其他干扰信号)的干扰信号离散度阈值DtMinV进行比较,

当DtMd>DtMinV时,则判断其为干扰数据,并记录所有的干扰数据时间点DTime1-DTime1N。

在所述数据分析步骤中,对打鼾数据进行分析得到打鼾包络数据,包括:

从打鼾数据中以滑窗方式读取一段长度为L的数据,对数据点进行单个分析,当某一个点的数据大于打鼾信号阈值时开始记录打鼾包络起始时间SIndex,并向后探测一定长度的多点数据,若多点数据都大于阈值时,将这些点的所有数据纳入包络,直到向后探测数据点中不存在数据大于阈值时,形成当前打鼾包络,并记录打鼾包络的终点时间EIndex和中点时间ETime。

将打鼾数据中检测到的所有打鼾包络中的起始时间SIndex1-SIndex1N、中点时间ETime1-ETimeN和终点时间EIndex1-EIndexN保存起来,其中,N为包络的个数。

本发明实施例中,根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间点,包括异常包络校验、包络合理性校验和包络去重处理三个处理过程,下面分别进行说明。

异常包络校验:判断每个打鼾包络的中点时间体动时间是否与体动时间或干扰数据时间点,若存在则去除当前的包络。

包络合理性校验:判断包络时间长度是否在合理时范围内,把不合理时间长度的包络剔除;利用呼吸率BrRate校验包络合理性,通过公式(ETimeN–EtimeN-1)-60/BrRate

包络去重处理:利用SIndex1~SIndeN、EIndex1~EIndexN数据,分析每次滑窗后是否存在包络起始点都相同的包络,把起始点相同的包络合并为一个包络。

需要说明的是,对打鼾数据进行分析得到打鼾包络数据中,存在着一些异常的、不合理或者重复的包络,因此,可以根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点将这些异常的或者不合理的包络去除,并且通过包络本身的起始点数据将重复的包络进行合并,从而得到准确的打鼾时间段。

如图2所示,本发明实施例中,还提供了一种打鼾检测系统,其包括数据采集模块、数据预处理模块、心率数据分析模块、呼吸数据分析模块、体动数据分析模块、干扰数据分析模块、打鼾数据分析模块和打鼾检测模块。下面分别进行说明。

所述数据采集模块,用于实时采集原始BCG数据。所述数据采集模块包括压电传感器,BCG信号采集电路,BCG信号进行采集,并进行ADC转换,将模拟信号转为数字BCG原始信号数据。

所述数据预处理模块,用于对原始BCG数据进行分析,从中分离出心率数据、呼吸数据、体动数据、干扰数据及打鼾数据。所述数据预处理模块对原始BCG数据进行预处理的过程包括:

以呼吸频率最低频率及呼吸频率最高频率作为数字带通滤波器的带通滤波截止频率点构建呼吸数据带通滤波器,对原始BCG数据做数字带通滤波得到呼吸数据;

以心搏频率最低频率及心搏频率最高频率作为数字带通滤波器的带通滤波截止频率点构建心率数据带通滤波器,对原始BCG数据做数字带通滤波得到心率数据;

以体动频率最低频率及体动频率最高频率作为数字带通滤波器的带通滤波截止频率点构建体动数据带通滤波器,对原始BCG数据做数字带通滤波得到体动数据;

以打鼾频率最低频率及打鼾频率最高频率作为数字带通滤波器的带通滤波截止频率点构建打鼾数据带通滤波器,对原始BCG数据做数字带通滤波得到打鼾数据;

把原始BCG数据中除去呼吸、心率、体动、打鼾数据的信号频段外各个频段的信号进行带通滤波,得到干扰信号数据。

所述心率数据分析模块,用于对心率数据进行分析,得到心率离散度值。所述心率数据分析模块对心率数据进行分析的过程包括:

从心率信号数据中读取一段设定长度L的数据,对这段长度L的数据进行平均差处理,得出心率数据的离散度DtMd,其中,所述设定长度L的数据中包含至少一个呼吸周期的数据。

所述呼吸数据分析模块,用于对呼吸数据进行分析,得到心率呼吸率值。所述呼吸数据分析模块对呼吸数据进行分析的过程包括:

对呼吸数据做傅里叶变换处理;

在呼吸频段内查找频率峰值点,找到第一峰值点跟第二峰值点,通过分析第一峰值点与第二峰值点的关系剔除谐振波频点找到正确的呼吸频率;

通过滑窗方式截取多段数据得到多个呼吸频率做均值处理,得到准确的呼吸频率Fs,通过BrRate=Fs*60计算出准确的呼吸率值BrRate。

所述体动数据分析模块,用于对体动数据进行分析,得到体动时间点。所述体动数据分析模块对体动数据进行分析的过程包括:

通过设定的阈值来检测体动事件;

当体动数据大于设定的阈值时,判断存在体动并记录发生体动的时间点BTime1~BTimeN。

所述干扰数据分析模块,用于对干扰数据进行分析,得到干扰数据时间点。所述干扰数据分析模块对干扰数据进行分析的过程包括:

将心率数据的离散度DtMd与通过实验测算出正常打鼾状态下的干扰信号离散度阈值DtMinV进行比较,

当DtMd>DtMinV时,则判断其为干扰数据,并记录干扰数据时间点DTime。

所述打鼾数据分析模块,用于对打鼾数据进行分析,得到打鼾包络数据。所述打鼾数据分析模块对打鼾数据进行分析的过程包括:

从打鼾数据中以滑窗方式每次读取一段长度为L的数据,对数据点进行单个分析,当某一个点的数据大于打鼾信号阈值时开始记录打鼾包络起始时间SIndex,并向后探测一定长度的多点数据,若多点数据都大于阈值时,将这些点的所有数据纳入包络,直到向后探测数据点中不存在数据大于阈值时,形成当前打鼾包络,并记录打鼾包络的终点时间EIndex和中点时间ETime。

将打鼾数据中检测到的所有打鼾包络中的起始时间SIndex1-SIndex1N、中点时间ETime1-ETimeN和终点时间EIndex1-EIndexN保存起来,其中,N为包络的个数。

所述打鼾检测模块,用于根据心率离散度值、呼吸率值、体动时间点、干扰数据时间点及打鼾包络数据检测出打鼾时间。所述打鼾检测模块检测出打鼾时间点,包括:

异常包络校验:判断每个打鼾包络的中点时间体动时间是否与体动时间或干扰数据时间点,若存在则去除当前的包络;

包络合理性校验:判断包络时间长度是否在合理时范围内,把不合理时间长度的包络剔除;利用呼吸率BrRate校验包络合理性,通过公式(ETimeN–EtimeN-1)-60/BrRate

包络去重处理:利用SIndex1~SIndeN、EIndex1~EIndexN数据,分析每次滑窗后是否存在包络起始点都相同的包络,把起始点相同的包络合并为一个包络。

综上所述,本发明的打鼾检测方法及方法,通过从BCG信号中提取出呼吸、心率、打鼾、体动、干扰等信号数据,同时在打鼾数据的基础上提取打鼾包络数据,从包络数据特征上进行分析处理实现打鼾事件的检测,合理利用多种数字滤波对BCG数据进行处理,提取呼吸、心率、打鼾、体动、干扰等特征信号,可以简化信号采集的电路设计,降低电路设计成本同时使得整体功能便于移植,采用低算力算法对数据进行处理分析,可以降低对硬件的性能需求,同时在不影响检测的准确度的情况下,运算速度相当高,基本上可以满足任何场景上的应用,实现过程简单。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术分类

06120115631660