用于感测胎儿活动的系统、设备和方法
文献发布时间:2023-06-19 09:41:38
本国际专利申请涉及并且要求2018年2月12日提交的标题为“SYSTEMS,APPARATUSES AND METHODS FOR SENSING FETAL ACTIVITY)”,共同拥有的、共同未决的美国临时专利申请号62/629,510的权益,其全部内容被并入本文。
技术领域
本发明总体上涉及通过无创检测和分析胎儿心脏活动数据而监测胎儿状况(wellbeing)的系统和方法。
背景技术
监测胎儿心脏活动可以有助于确定怀孕期间胎儿的健康状况。
附图说明
参考附图可以进一步解释本发明,其中在多个视图中,相同的结构使用相同的数字表示。所示的附图不一定按比例绘制,重点通常放在说明本发明的原理上。因此,本文公开的具体结构和功能细节不应当被解释为是限制性的,而仅仅是作为教导本领域技术人员以各种方式应用本发明的代表性基础。
图1是示例性方法的流程图。
图2示出了可以用于训练示例性SVM分类器的示例性数据点集合。
图3示出了本发明的示例性SVM分类器的作为有效(可接受)信号1-3和排除(噪声)信号的示例性输出。
图4展示了可以被用于子步骤1的示例性数字滤波器(digital filter)的示例性幅度响应。
图5A-5H示出了使用不同滤波器过滤的母体(maternal)PCG信号的通带(passband)的实施例。
图6A-6W示出了来自具有不同带宽的不同滤波器的T2信号的通带的实施例,其中输入的T1信号的10秒时间间隔具有母体和胎儿PCG信号二者。
图7示出了子步骤2和3执行前后T2信号数据的状态。
图8A示出了子步骤2和3执行前的T2信号数据的状态。
图8B示出了子步骤2和3执行后的T2信号数据的状态。
图9示出T3信号数据中的希尔伯特包络(Hilbert envelope)的实施例。
图10示出了在单个隔区(compartment)的情况下应用自相关函数的实施例。
图11A示出了对T3信号数据应用自相关函数后的峰值。
图11B示出了图11A的具有归一化的差异信号。
图11C示出了基于至最近值的距离的输出。
图12A-12C示出了如果得分不可接受时包络信号的使用。
图13示出了慢RMS包络信号的计算。
图14示出了快RMS包络信号的计算。
图15示出了峰间距离的确定。
图16示出了S1和S2峰值的聚类。
图17示出了心音由于噪声通常是偏斜的。
图18示出了心跳内的子隔区。
图19A和19B示出了在一部分时间样本内放大比例的确定的S1和S2隔区。
图20A和20B示出了在大部分时间样本内确定的S1和S2隔区。
图21示出了子隔区如何可以按层序被聚类为“心跳”的实施例。
图22示出了检测到的搏动周围的阶跃信号(step signal)。
图23示出了搏动阶跃信号与母体QRS位置的比较。
图24示出了母体QRS位置上搏动阶跃信号的叠加。
图25A示出了在基于相互相关的对准后的T3信号。
图25B示出了对准的母体和胎儿信号。
图26示出了使用示例性Div-Conq算法检测的结果。
图27A示出了第一类型的示例性算法的说明性输出。
图27B示出了第二类型的示例性算法的说明性输出。
图27C示出了第三类型的示例性算法的说明性输出。
图28示出了将第一类型的示例性算法的说明性输出与第二类型的示例性算法的说明性输出结合的曲线图。
发明内容
在实施方案中,一种计算机实现的方法包括通过执行配置用于方法的特定可编程指令(specific programmable instruction)的至少一个计算机处理器接收多个原始心音图(PCG)数据输入,多个原始PCG数据输入中的每个是从多个声学传感器中对应的一个接收的;通过至少一个计算机处理器将至少一个二进制分类技术应用于原始PCG数据输入中的每个,以通过至少部分地基于如下中的一个或多个对每个相应的原始PCG数据输入进行过滤,而生成相应的多个经过滤的PCG数据输入:i)每个相应的原始PCG数据输入的均方根(RMS)值,ii)每个相应的原始PCG数据输入的一阶导数的RMS值,iii)每个相应的原始PCG数据输入的方差值和iv)其任意组合;通过至少一个计算机处理器应用至少一个分治(Div-Conq)算法,以至少部分地基于假设(噪声信号在一分钟时间间隔内是非平稳的并且S1-S2交替声学信号在一分钟时间间隔内是非平稳的)检测多个经过滤的PCG数据输入中的每个中的心跳隔区;至少基于多个参考的母体QRS位置,将多个经过滤的PCG数据输入中的每个中的心跳隔区中的每个隔区分类为母体隔区或胎儿隔区;组合多个母体隔区以识别至少一个实际母体心跳;组合多个胎儿隔区以识别至少一个实际胎儿心跳;和输出对应于(a)至少一个实际母体心跳和(b)至少一个实际胎儿心跳中的至少一个的至少一个视觉指示。
在实施方案中,Div-Conq算法包括至少如下步骤:i)使用至少一个数字滤波器对预处理的PCG信号中的每个进行过滤以生成多个经过滤的PCG信号,多个经过滤的PCG信号中的每个是基于预处理的PCG信号中对应的一个生成的;ii)将经过滤的PCG信号中的每个分割为具有预定长度的PCG信号段(signal segment);iii)检测PCG信号段中的隔区,其中检测隔区的步骤包括如下子步骤:a)识别相关搏动;b)使每个搏动移位(shift),其与具有平均RMS能量的搏动相关;c)找到每个搏动的子隔区;和d)使用动态规划链接来自不同搏动的子隔区以生成心跳的指示。
在实施方案中,预定长度是10秒。在实施方案中,隔区包括至少一个S1,至少一个S2,或至少一个S1与至少一个S2。在实施方案中,隔区包括胎儿心跳、母体心跳和/或母体心跳与胎儿心跳二者中的至少一个。在实施方案中,至少一个数字滤波器包括复希尔伯特变换滤波器(complex Hilbert transform filter)。
在实施方案中,如果已经检测多于一个隔区组(group of compartment),则Div-Conq算法还包括测试隔区组。在实施方案中,测试隔区组的步骤包括平均绝对偏差过程。
在实施方案中,检测PCG信号段中的隔区的步骤还包括将隔区分解为子隔区的子步骤。在实施方案中,将隔区分解为子隔区包括a)定义全局参考系(global referenceframe);b)使子隔区对准;和c)应用预定评分方案以排除不可接受的子隔区。在实施方案中,定义全局参考系基于mQRS位置。在实施方案中,定义全局参考系基于最佳子隔区。在实施方案中,通过预定评分识别最佳子隔区。在实施方案中,不可接受的隔区被识别为平均绝对偏差大于平均绝对偏差阈值的隔区。在实施方案中,平均绝对偏差阈值是50。在实施方案中,使用二进制SVM分类器(classifier)执行检测隔区的步骤。
具体实施方式
在已经公开的这些益处和改进中,本发明的其他目的和优点可以从下面结合附图的描述中变得显而易见。本文公开了本发明的详细实施方案;然而,应当理解,公开的实施方案仅仅是对本发明进行说明,本发明可以使用各种各样的形式体现。另外,结合本发明的各种实施方案给出的每个实施例中的每个意图是说明性的,而非限制性的。
在整个说明书和权利要求书中,除非上下文另有明确规定,否则如下术语采用本文明确关联的含义。如本文所使用的短语“在一个实施方案中”、“在实施方案中”和“在一些实施方案中”不一定指的是相同的实施方案,尽管其可以指的是相同的实施方案。此外,如本文所使用的短语“在另一个实施方案中”和“在一些其他实施方案中”不一定指代不同的实施方案,尽管其可以指代不同的实施方案。因此,如下文描述,在不脱离本发明的范围或精神的情况下,可以容易地组合本发明的各种实施方案。
如本文所使用,术语“基于”不是排他性的,并且允许基于未描述的附加因素,除非上下文另有明确规定。另外,在整个说明书中,“一个”、“一种”和“该”的含义包括复数引用。“在……中”的含义包括“在……中”和“在……上”。
在一些实施方案中,本发明涉及从心音图(PCG)信号数据检测胎儿心跳(FH)。典型地,FH是半周期声学信号的形式,半周期声学信号的频率带宽可以是15-100Hz,并且在振幅上可以类似于母体信号。典型地,PCG信号数据可能被声学噪声污染。在一些实施方案中,本发明的一个或多个示例性方法包括处理获得的原始PCG信号数据,以移除声学外部噪声的至少一部分。在一些实施方案中,本发明的一个或多个示例性方法包括进一步移除至少一些部分或足够的部分,这可以包括移除所有母体PCG信号数据。在一些实施方案中,本发明的一个或多个示例性方法可以基于如下假设:可以使用心电图信号(ECG)数据注释母体心跳(MH)。
具体地,在一些实施方案中,如图1详述,在步骤101,本发明涉及从一个或多个合适的声学传感器获得原始PCG信号数据,声学传感器可以位于孕妇的胃附近(例如,传感器可以在位于孕妇胃上方的带子上)。参考图1的步骤102,本发明涉及对示例性计算机处理器进行编程,使得示例性计算机处理器应用一个或多个预处理技术而基于一个或多个来源(例如,母体PCG、胎儿PCG等)对原始PCG信号数据和/或分离的原始PCG信号数据进行过滤,从而生成第一变换(T1)信号数据。参考图1的步骤103,本发明涉及对示例性计算机处理器进行编程,使得示例性计算机处理器应用第一类型的一个或多个算法而进一步变换T1信号数据。参考图1的步骤104,本发明涉及对示例性计算机处理器进行编程,使得示例性计算机处理器应用第二类型的一个或多个算法,以便还与步骤103的处理并行地进一步变换T1信号数据。
为了公开内容的清晰性,而不是作为限制,本发明的具体实施方式被分成下文描述或说明本发明的某些特征、实施方案或应用的分段。
在一些实施方案中,本发明的一个或多个示例性方法包括对示例性计算机处理器进行编程,使得示例性计算机处理器应用一个或多个预处理技术而基于一个或多个来源对原始PCG信号数据和/或分离的原始PCG信号数据进行过滤。例如,一个示例性预处理技术可以利用至少部分地基于支持向量机(SVM)分类器的至少一个二进制分类技术。例如,示例性SVM分类器模型可以是作为空间中的点的实施例的表示,其被映射为使得单独类别的实施例被尽可能宽的清晰间隙划分。然后,新的实施例被映射到同一个空间,并根据它们落在间隙的哪一边而预测属于一个类别。在一些实施方案中,本发明的示例性二进制分类预处理技术可以利用至少一个二进制分类来至少部分地基于一个或多个如下特征对原始PCG信号数据进行过滤和/或分离:
i)原始PCG信号的均方根(RMS)值,
ii)原始PCG信号的一阶导数的RMS值(Div的RMS),
iii)原始PCG信号的方差值,和
iv)其任意组合。
在一些实施方案中,本发明的示例性二进制分类预处理技术可以通过利用
图2示出了可以用于训练本发明的示例性SVM分类器的示例性数据点集合。
图3示出了本发明的示例性SVM分类器的作为有效(可接受)信号1-3和排除(噪声)信号的示例性输出。例如,根据本发明编程的示例性处理器可以基于振幅和/或频率确定特定信号是有效还是无效。例如,如图3中所示出,示例性排除(噪声)信号可以是平均RMS振幅可能低于预定阈值的信号,阈值可以使用dB单位表示。例如,在一些实施方案中,示例性预定阈值是1db。例如,在一些实施方案中,示例性预定阈值是5db。例如,在一些实施方案中,示例性预定阈值是10db。例如,在一些实施方案中,示例性预定阈值是15db。例如,在一些实施方案中,示例性预定阈值是20db。
在一些实施方案中,本发明的一个或多个示例性方法包括对示例性计算机处理器进行编程,使得示例性计算机处理器应用第一类型的一个或多个算法而进一步变换T1信号数据。在一些实施方案中,第一类型的一个或多个算法可以包括一个或多个分治(Div-Conq)算法。在一些实施方案中,示例性Div-Conq算法至少部分地基于如下假设:(1)噪声信号和(2)S1-S2交替声学信号在一分钟间隔内是非平稳的。最初,示例性Div-Conq算法的执行可以从将T1信号分割成X秒间隔开始。出于说明的目的,下文应用示例性Div-Conq算法的描述是基于将T1信号除以10秒时间间隔(时间窗)。
在一些实施方案中,作为第一子步骤,示例性Div-Conq算法可以被编程为通过利用一个或多个合适的数字滤波器对T1信号进行过滤,以输出进一步变换的信号数据(T2信号数据)。例如,一种类型的合适的滤波器可以是但不限于巴特沃兹(Butterworth)两步带通滤波器(高/低通,6阶),具有设置在5Hz的窄带宽、设置在5Hz的最低频率极限和设置在100Hz的最高频率极限。图4展示了可以被用于子步骤1的示例性数字滤波器的示例性幅度响应。
图5A-5H示出了使用不同滤波器过滤的母体PCG信号的通带的实施例。
图6A-6W示出了来自具有不同带宽的不同滤波器的T2信号的通带的实施例,其中输入的T1信号的10秒时间间隔具有母体和胎儿PCG信号两者。
在一些实施方案中,作为第二子步骤,示例性Div-Conq算法可以被编程为至少部分地基于频带之间的能量分布(例如,RMS窗口)而执行T2信号数据的均衡。
在一些实施方案中,作为第三子步骤,示例性Div-Conq算法可以被编程为至少部分地基于与信号均值的距离(平均绝对偏差(MAD)窗口)而增强T2信号数据中的峰值
图7示出了子步骤2和3执行前后T2信号数据的状态。
图8A示出了子步骤2和3执行前的T2信号数据的状态。
图8B示出了子步骤2和3执行后的T2信号数据的状态。
在一些实施方案中,作为第四子步骤,示例性Div-Conq算法可以被编程为使T2信号数据经受复希尔伯特(Hilbert)变换滤波器以获得T3信号数据。在一些实施方案中,示例性希尔伯特变换滤波器可以基于低通滤波器,比如,但不限于截止频率为20Hz的五阶巴特沃兹低通滤波器。然后T3信号数据进一步以零为中心。图9示出T3信号数据中的希尔伯特包络的实施例。
在一些实施方案中,作为第五子步骤,示例性Div-Conq算法可以被编程为获取T3信号数据的有效信道(例如,通过利用例如如上的二进制SVM分类器)并且检测隔区,其中隔区可以是但不限于在AV瓣关闭时出现的第一心音(lup)S1和在半月瓣关闭时出现的第二心音S2。在一些实施方案中,检测可以辨识任何隔区,无论它们是母体还是胎儿来源。在一些实施方案中,示例性Div-Conq算法可以被编程为通过利用例如但不限于至少偏自相关函数来测量信号与其时间延迟版本之间的相似性来检测隔区。例如,示例性Div-Conq算法可以被编程为应用偏自相关作为时间序列与其滞后之间的相关性,其中较低阶滞后的效应保持恒定,从而进一步消除滞后序列之间的线性联系。例如,可以使用杜宾-莱文森(Durbin-Levinson)算法来计算偏自相关函数(PACF)。例如,在计算全自相关之后,示例性Div-Conq算法可以被编程为选择一半的结果。例如,如果自相关阵列的长度将是10000,则示例性Div-Conq算法可以被编程为选择5000个元素。在这种情况下,示例性Div-Conq算法可以被编程为选择后半部分:从第5001个元素直到第10000个元素。
图10示出了在单个隔区的情况下应用自相关函数的实施例。
图11A示出了对T3信号数据应用自相关函数后的峰值。图11B示出了具有归一化的图11A的差异信号。图11C示出了基于至最近值的距离的输出。
在一些实施方案中,如果已经检测到多于一个隔区组,则示例性Div-Conq算法可以被编程为确定是否可以或者应该合并这些组。在一些实施方案中,如果已检测到多于一个隔区组,则示例性Div-Conq算法可以被编程为通过利用另一合适的评分技术(比如上述MAD方法)来测试组。如果得分不可接受(例如,得分高于50),则示例性Div-Conq算法可以被编程为利用包络信号本身,如图12A-12C所示。
在一些实施方案中,示例性Div-Conq算法可以被编程为通过但不限于如下方式检测T3信号中的隔区:(1)估计搏动间间隔,和(2)确定隔区是否源自相同信号(例如,S1S2)或者隔区是否源自不同信号(即,母体和胎儿信号)。在一些实施方案中,可以通过利用但不限于由每个隔区生成的脉冲信号的互相关并应用动态时间包裹函数(DTW)来执行来源测试,动态时间包裹函数是被适当配置用于测量在时间和/或速度上可能变化的至少两个时间序列之间的相似性的算法。例如,示例性DTW可以依赖于动态规划(DP)来找到最小化总成本的路径。例如,对于正成本,找到低成本单元并最小化步骤总数。
如果没有找到隔区,则停止使用此滤波器(例如,19巴特沃兹两步带通滤波器)进行处理。
至少部分基于如下中的一个识别T3信号数据中的峰值:
1)计算:
i)可以使用移动窗口计算的均方根(RMS)包络,每个数据窗口根据如下等式计算:
其中S等于窗口长度(点),f(s)等于窗口内的数据;和
ii)将希尔伯特包络的RMS包络相乘。
至少部分基于如下中的一个识别峰值对:
1)计算慢RMS包络信号(窗口长度=计算出的平均搏动-2-搏动间隔的2/5),例如,如图13所示;和
2)计算快RMS包络信号(窗口长度=计算出的平均搏动-2-搏动间隔的1/5),例如,如图14所示。
至少部分基于快包络识别峰值对:查找所有峰值,并且通过例如如下各项根据距离对峰值进行聚类,例如:
i)估计S1S2和S2S1持续时间;
ii)计算S1/S2复合波的持续时间(宽度);和
iii)重复验证(针对精确度进行调谐)(例如,利用上文详述的MAD方法)。
例如,峰值聚类可以被编程为使得:
i)首先出现的峰值聚类是S1,并且
ii)其次出现的峰值聚类是S2。
例如,图15示出了峰间距离的确定。例如,图16示出了S1和S2峰值的聚类。
图17示出了由于噪声心音通常是偏斜的。因此,示例性Div-Conq算法可以被编程为通过如下各项操作来检测每个隔区:
i)识别相关搏动;
ii)使每个搏动移位,其与具有平均RMS能量的搏动相关;
iii)对于每个搏动,找到其子隔区(拆分),如图18中所示;和
iv)利用动态规划来链接来自不同搏动的子隔区(例如,如表1所示)。在一些实施方案中,本发明的特定动态规划被配置成用每个搏动识别一系列子隔区,并且然后链接来自不同搏动的子隔区。在表1的说明性实施例中,种子可以是在第一次搏动中识别的子隔区(例如,在表1的实施例中,第一次搏动的四(4)个子隔区因此是4个种子)。
表1。
图19A-19B示出了在一部分时间样本内放大比例的确定的S1和S2隔区。
图20A-20B示出了在大部分时间样本内确定的S1和S2隔区。
在一些实施方案中,示例性Div-Conq算法可以被编程为通过如下方式将隔区分解为子隔区:
i)定义全局参考系,使用:1)mQRS位置和/或最佳子隔区(例如,基于预定的评分确定);
ii)对准子隔区;和
iii)应用预定的评分方案来排除不可接受的隔区(例如,MAD得分超过预定阈值如50的子隔区)。
图21示出子隔区如何可以被聚类(层序)成“心跳”的实施例。
在一些实施方案中,示例性Div-Conq算法可以被编程为通过使用聚类(“搏动”)来找到每个搏动的位置,从而找到每个搏动的最佳位置。在一些实施方案中,示例性Div-Conq算法可以被编程为利用具有种子复位的动态规划。作为适用约束的一部分,所应用的动态规划可能需要考虑如下一个或多个条件:
i)搏动必须链接起来,
ii)链接的搏动的长度可以不同,
iii)链接的搏动可以从T3信号中的任何地方开始,
iv)链接的搏动可以在T3信号中的任何地方结束,和
v)结果可以基于一个或多个预定规则(例如,最小链接持续时间为X次搏动的要求)而跨越检测到的搏动的多个区域。
在一些实施方案中,X可以是4次搏动。在一些实施方案中,X可以是5次搏动。在一些实施方案中,X可以是2。在一些实施方案中,X可以等于信号中检测到的搏动次数。
在一个说明性实施例中,示例性Div-Conq算法可以检测100次搏动。在一些实施方案中,在应用具有种子复位的DP时,示例性Div-Conq算法可以被编程为选择100次搏动内的任何搏动作为开始搏动(相反,在表1的实施例中,开始搏动是将被识别的第一搏动)。因此,在一些实施方案中,示例性Div-Conq算法可以被编程为利用具有种子复位的DP来链接从任何检测到的搏动开始的隔区和其相应子隔区。在一些实施方案中,在DP过程的执行期间,种子可以改变(即,种子复位),而在表1的说明性实施例中,在DP过程的执行期间,种子将是相同的。
在一些实施方案中,对于每个有效隔区,示例性Div-Conq算法可以进一步被编程为至少部分地基于参考母体QRS位置来将每个隔区分类为母体或胎儿。在一些实施方案中,示例性分类方法可以至少包括如下步骤:
i)创建所检测到的搏动周围的阶跃信号(例如,图22中所示),ii)比较搏动阶跃信号(例如,图22中所示)与母体QRS位置(例如,图23中所示)(例如,图24示出母体QRS位置上的搏动阶跃信号的叠加);
iii)计算互相关,其中在计算互相关期间信号的移动被限制为滞后;
iv)计算平均搏动间持续时间;
v)如果相关性高于预定阈值(例如,0.7-0.95)且持续时间在预定距离内,则此类隔区是母体信号;并且如果相关性低于预定阈值和/或持续时间不在预定距离内,则示例性分类方法将继续测试;和vi)计算信号的归一化DTW,如本文进一步详述。例如,如果示例性Div-Conq算法确定了两个值:根据MQRS计算的值(1)和根据当前检测到的搏动计算的值(2);然后,在一些实施方案中,示例性Div-Conq算法可以进一步被编程为计算两个值的平均搏动间持续时间。在一些实施方案中,如果这些持续时间将接近(例如,小于10bpm)并且相关性将很高,则示例性Div-Conq算法可以进一步被编程为将此类搏动指定为母体信号。
例如,在一个方法中,作为DTW算法的第一步骤,示例性Div-Conq算法可以进一步被编程为将一个信号中的每个点与第二信号中的每个点进行比较,从而生成矩阵。第二步骤可以是处理这个矩阵,从左下角(对应于两个信号的开始)开始,并且到右上角(两个信号的结束)结束:对于每个单元格,通过在矩阵中向左或向下选取具有最低累积距离的相邻单元格,并将该值与焦点单元格的距离相加,从而计算累积距离。当此过程完成时,右上角单元格中的值可以表示根据通过矩阵的最有效路径的两个信号之间的距离。图25A示出基于互相关的对准之后的T3信号。图25B示出对准的母体和胎儿信号。
在一些实施方案中,如果归一化DTW低于预定阈值(例如,0.1-0.5)(即,很容易从信号a到信号b,且反之亦然),则此类隔区属于母体信号;并且归一化DTW高于预定阈值,示例性分类方法将通过至少检查母体S1-S2是否被错误地组合来继续测试,这导致检测到胎儿搏动;并且当确定母体S1-S2没有被错误地组合时,将此类隔区识别为与胎儿信号相关联。
在一些实施方案中,示例性Div-Conq算法可以进一步被编程为至少部分基于对相同来源(母体或胎儿)的T3信号中检测到的所有隔区进行分组来融合隔区。
在一些实施方案中,示例性Div-Conq算法可以进一步被编程为融合由不同信号检测到的隔区(例如,由四(4)个信号检测到的隔区),以生成位置阵列,用于:
i)母体PCG(如果有);和
ii)胎儿PCG(如果有)。
在一些实施方案中,位置阵列可以包括可以基于合适的评分方法确定的每个位置的得分。例如,示例性Div-Conq算法可以进一步被编程为使用基于MAD(中间绝对偏差)的评分方案。例如,示例性Div-Conq算法可以进一步被编程为计算组成员之间的中间距离,然后根据中间值计算每个成员的距离。例如,“好”组将具有较小的偏差值,且“坏”组将具有较高的中间偏差值(例如,40)。
在一些实施方案中,示例性Div-Conq算法可以进一步被编程为融合来自不同滤波器的所检测到的峰值,生成母体和胎儿PCG的结果。例如,取决于评分方案,每个PCG信号可以使用每个滤波器的不同权重来构建。
例如,这种融合是基于通过利用被选择为具有“好”值(即,“好”搏动)的滤波器作为提取峰值的信道而为每个PCG识别的全局峰值阵列。
如上,示例性Div-Conq算法(子步骤1-11)可以针对T1信号的每10秒间隔执行。如果示例性Div-Conq算法确定在特定间隔期间没有检测到,则示例性Div-Conq算法可以被编程为检查相邻间隔是否有检测(例如,执行向后和向前重叠(例如,50%))并再次执行检测。
在一些实施方案中,示例性Div-Conq算法可以进一步被编程为组合10秒间隔的结果。在一些实施方案中,示例性Div-Conq算法可以至少部分基于与每个间隔的边界相关联的至少一个参数来组合10秒间隔的结果。例如,基于T1信号到10秒窗口的示例性划分,由于一个或多个原因,边界(接近每个10秒窗口的开头和结束)可能是有问题的,比如示例性Div-Conq算法是否“切割”将出现在边界处的搏动(即,搏动的中心正好在当前窗口的结束和下一窗口的开头),示例性Div-Conq算法可以i)在两个窗口中检测搏动,ii)在任何窗口都不检测,和(iii)仅在一个窗口中检测搏动。在一些实施方案中,示例性Div-Conq算法可以进一步被编程为检查这些情况并相应地行动(例如,消除情况之一:例如情况(i))。
图26示出使用示例性Div-Conq算法(子步骤1-11)检测的结果。因为示例性Div-Conq算法被调谐为精确,所以示例性Div-Conq算法将不能容忍可能导致检测率降低的假阳性。
在一些实施方案中,本发明的一个或多个示例性方法包括对示例性计算机处理器进行编程,使得示例性计算机处理器应用第二类型的一个或多个算法来进一步变换T1信号数据,例如与图1的处理步骤104并行但不限于此。
在一些实施方案中,第二类型的示例性算法可以至少通过如下各项来以X分钟间隔处理T1信号数据:
i)应用一组预定义的滤波器(例如,如美国专利号9,642,544中所详述的,其关于此类滤波器的具体公开内容以引用的方式并入本文中,至少用于此类具体目的);和
ii)应用独立隔区分析(ICA)(例如,如美国专利号9,642,544中所详述的,其关于此类滤波器的具体公开内容以引用的方式并入本文中,至少用于此类具体目的)。
在一些实施方案中,X可以是10秒、15秒、30秒、1分钟、2分钟、5分钟、10分钟或任何其他类似地合适时间段。
在一些实施方案中,多个带通滤波器可以包括L个带通滤波器,其中每个带通滤波器输出K个滤波的PCG输出。例如,预定义的多个带通滤波器组具有10-45Hz、20-50Hz、25-65Hz、40-80Hz、55-95Hz和20-80Hz的相应频率范围。
在一些实施方案中,第二类型的示例性算法可以还包括用于信号增强和/或均衡的步骤。
在一些实施方案中,第二类型的示例性算法可以被编程为使用低功率编码算法执行ICA变换,诸如pow3,详细描述于L.Benini和G.D.Micheli的“State Assignment for LowPower Dissipation”中,IEEE固态电路杂志,第30卷,第258-268页,1995年3月);和一种贪婪算法一点一点地指派代码。在每个步骤,选择代码以最小化具有不同部分代码的状态的数目。
在一些实施方案中,第二类型的示例性算法可以被编程为使用在表1中标识的一个或多个非线性来执行ICA变换,gf是在ICA变换中使用的软件对象。
表1。
在一些实施方案中,第二类型的示例性算法可以被编程为至少通过如下各项来检测复合波(心跳):
i)计算每个信号的希尔伯特包络;
ii)用300和250毫秒的移动平均(MA)滤波器对希尔伯特包络进行滤波;
iii)识别所有峰值;
iv)仅选择高于预定阈值(例如,0.1、0.2、0.3等)的峰值;
v)使用k-均值聚类(例如,劳埃德(Lloyd)算法或高斯混合模型聚类(GMM))对所选峰值进行聚类,并且至少部分基于如下之一来选择最佳聚类:
1)归一化宽度,和/或
2)归一化突起;
vi)选择两个信号的最佳峰值(300/250毫秒);
vii)计算每个信号的希尔伯特包络;
viii)用100毫秒的MA滤波器对包络进行滤波;和
ix)使用动态规划重复检测,将先前检测到的峰值作为种子(微调检测)。
在一些实施方案中,第二类型的示例性算法可以进一步被编程为至少通过如下各项来对复合波(心跳)进行评分和分类:
i)将合适的评分方案应用于每个信号的所有检测到的复合波,和
ii)将复合波分类为母体、胎儿或噪声。
在检测母体搏动时,第二类型的示例性算法可以被编程为选择具有最佳得分的信号结果。在一些实施方案中,第二类型的示例性算法可以被编程为组合所有检测到的母体复合波。
在检测胎儿搏动时,第二类型的示例性算法可以被编程为还选择具有最佳得分的信号结果。在一些实施方案中,第二类型的示例性算法可以被编程为组合所有检测到的胎儿复合波。
在一些实施方案中,本发明的一个或多个示例性方法包括对示例性计算机处理器进行编程,使得示例性计算机处理器应用第三类型的一个或多个算法,所述示例性计算机处理器被编程为接受1)来自第一类型的示例性算法的输出和2)来自第二类型的示例性算法的输出作为输入,如图1的处理步骤105所示。
在一些实施方案中,在步骤1,第三类型的示例性算法可被编程为针对第一类型和第二类型的每个算法来确定每个检测到的搏动的得分,例如,第三类型的示例性算法可被编程为计算在5秒间隔内的搏动的平均得分,并且基于平均得分的期望值(例如,0.2),包括相应算法类型的搏动。
在步骤2,第三类型的示例性算法可以被编程为移除彼此太接近的搏动(例如,通过估计局部搏动间间隔并计算局部阈值,局部阈值可以是局部估计的搏动间间隔的一半)。
图27A示出了第一类型的示例性算法的说明性输出。图27B示出第二类型的示例性算法的说明性输出。图27C示出第三类型的示例性算法的说明性输出。
相比来说,图28示出了将第一类型的示例性算法的说明性输出与第二类型的示例性算法的说明性输出相结合的曲线图。
值得注意的是,本文描述的实施方案当然可以使用任何适当的硬件和/或计算软件语言来实现。就此而言,本领域的普通技术人员对可以使用的计算机硬件的类型、可以使用的计算机编程技术的类型(例如,面向对象编程)和可以使用的计算机编程语言的类型(例如,C++、Basic、AJAX、Javascript)非常熟悉。上述实施例当然是说明性且非限制性的。
虽然已经描述了本发明的多个实施方案,但是应当理解,这些实施方案仅是说明性的,而不是限制性的,并且对于本领域普通技术人员来说,许多修改可能变得显而易见,包括本文描述的发明方法、发明系统和发明装置可以以彼此的任意组合来使用。此外,各种步骤可以以任何期望的顺序进行(并且可以添加任何期望的步骤和/或可以消除任何期望的步骤)。
- 用于感测胎儿活动的系统、设备和方法
- 用于感测胎儿活动的系统、装置和方法