数字信号的滤波方法和装置制造方法及图纸

技术编号:10965262 阅读:125 留言:0更新日期:2015-01-28 17:32
本发明专利技术实施例提供一种数字信号的滤波方法和装置,方法包括:对待处理的一维数字信号f(n),应用结构元k(m),依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算结果确定为所述f(n)对应的滤波信号;所述开运算和/或闭运算中包括的腐蚀运算的具体步骤包括:将待进行腐蚀运算的信号作为第一中间信号f(t),针对新移入进所述k(m)对应的运算窗口的所述f(t)中的第t个信号,计算f(t)减k(m)得到的第一差值;将第一差值与f(t)中包含在当前运算窗口的上一个运算窗口内的各信号值减k(m)得到的第二差值进行比较;并根据比较结果确定f(t)中的第t个信号对应的腐蚀运算结果。本发明专利技术的技术方案对实现了对待滤波信号f(n)的基线滤波,同时也有效提高了滤波效率。

【技术实现步骤摘要】
数字信号的滤波方法和装置
本专利技术涉及信号处理
,尤其涉及一种数字信号的滤波方法和装置。
技术介绍
数学形态学是20世纪60年代初,建立起来的一门新型的数字图像处理方法和理 论。它的基本思想是利用一定形态结构的元素(简称为结构元)去度量和提取图像中对应 的形状,以达到对图像的分析和识别的目的。它的作用相当于一个探针,在图像中不断移 动结构元,便可以考察出图像各部分间的关系。数学形态学中最常见的基本运算有取反、平 移、膨胀、腐蚀、开运算、闭运算、击中、击不中等,它们是数学形态学的基础。 现有利用数学形态学实现对一维的心电图(Electrocardiogram,ECG)信号进行 数学形态学滤波,对于ECG中的基线漂移具有比较好的矫正效果,具体滤波方法为:首先, 对ECG数字信号进行开运算,即对数字信号先进行一次腐蚀运算,再进行一次膨胀运算, 记为然后,再对开运算后的数字信号进行闭运算,即对数字信号先进 行一次膨胀运算,再进行一次腐蚀运算,记为(/?⑩=!:/?.?* ;其中,f为待滤波的一维 ECG数字信号,k为结构元。信号经过开运算以后,信号的波峰会被去掉,信号经过闭运算 后,信号的波谷会被去掉,而去掉的波峰与波谷的宽度取决于结构元的长度,即小于结构元 宽度的波峰和波谷会被去掉,从而实现对基线漂移噪声进行滤除。 现有技术中,对于信号长度为N的待滤波一维数字信号f(n),(n= 0, 1,2,. . .,N-1)中的第n个信号进行长度为M的结构元k(m),(m= 0, 1,2,. . .,N-1)的膨 胀运算(或腐蚀运算)为,先将信号f(n)以n为中心左右反转;将反转后的f(n)信号平移 至n-M+1处;将结构元k(m)与反转后的f(n)信号序列相加(腐蚀运算对应为相加);将相 加结果的最大值(腐蚀运算对应为相加结果的最小值)确定为f(n)中第n个信号经过滤 波后的信号值。 根据上述滤波方法,若对f(n)中的每一个信号点n对应的信号做开/闭运算,且 每个点运算所需的时间的复杂度为O(M),则整段f(n)信号的滤波所需的时间的复杂度为 〇(MXN)。当结构元长度较大时,运算时间则更长。而在ECG信号的基线漂移形态学滤波 中,为了保证波形的不失真,结构元的长度一般要大于最长的T波的宽度,从而导致采用上 述滤波方法处理ECG信号的基线漂移处理过程时间长。
技术实现思路
本专利技术的实施例提供一种数字信号的滤波方法和装置,以实现对ECG信号的基线 漂移进行数字形态学滤波。 为达到上述目的,本专利技术的实施例提供了一种数字信号的滤波方法,包括: 对待处理的一维数字信号f(n),n= 0, 1,2,. . .,N-I,应用结构元k(m),m= 0, 1,2, ...,N-I,依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算 结果确定为所述f(n)对应的滤波信号;其中,所述k(m)为固定值,所述N为大于0的整 数;所述开运算和/或闭运算中包括的腐蚀运算的具体步骤包括: 将待进行腐蚀运算的信号作为第一中间信号f(t),t= 0, 1,2,...,N-1,所述N 为大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(t)中的第t个信号, m彡t彡N-I,计算所述f(t)减所述k(m)得到的第一差值; 将所述第一差值与所述f(t)中包含在当前运算窗口的上一个运算窗口内的各信 号值减所述k(m)得到的第二差值进行比较;并根据比较结果确定所述f(t)中的第t个信 号对应的腐蚀运算结果。 本专利技术的实施例还提供了另一种数字信号的滤波方法,包括: 对待处理的一维数字信号f(n),n= 0, 1,2,. . .,N-I,应用结构元k(m),m= 0,1,2,...,N-I,依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算 结果确定为所述f(n)对应的滤波信号;其中,所述k(m)为固定值,所述N为大于0的整 数;所述开运算和/或闭运算中包括的膨胀运算的具体步骤包括: 将待进行膨胀运算的信号作为第三中间信号f(l),1 = 0,1,2,...,N-1,所述N 为大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(l)中的第1个信号, m彡1彡N-1,计算所述f(1)加所述k(m)得到的第三和值; 将所述第三和值与所述f(l)中包含在当前运算窗口的上一个运算窗口内的各信 号值加所述k(m)得到的第四和值进行比较;并根据比较结果确定所述f(l)中的第1个信 号对应的膨胀运算结果。 本专利技术的实施例还提供了一种数字信号的滤波装置,包括: 处理模块,用于在所述滤波装置对待处理的一维数字信号f(n),n= 0, 1,2,. . .,N-1,应用结构元k(m),m= 0, 1,2,. . .,N-1,依次进行开运算和闭运算,或者依 次进行闭运算和开运算; 确定模块,用于将所述处理模块最终运算结果确定为所述f(n)对应的滤波信号; 其中,所述k(m)为固定值,所述N为大于0的整数; 所述处理模块具体包括第一处理单元和第二处理单元; 所述第一处理单元,用于在所述处理模块进行所述开运算和/或闭运算包括的腐 蚀运算中,将待进行腐蚀运算的信号作为第一中间信号f(t),t= 0, 1,2,. . .,N-1,所述N 为大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(t)中的第t个信号, m彡t彡N-I,计算所述f(t)减所述k(m)得到的第一差值; 所述第二处理单元,用于将所述第一差值与所述f(t)中包含在当前运算窗口的 上一个运算窗口内的各信号值减所述k(m)得到的第二差值进行比较; 所述确定模块,用于根据所述第二处理单元最终的比较结果确定所述f(t)中的 第t个信号对应的腐蚀运算结果。 本专利技术的实施例还提供了另一种数字信号的滤波装置,包括: 处理模块,用于对待处理的一维数字信号f(n),n= 0, 1,2, . . .,N-1,应用结构元 k(m),m= 0, 1,2,. . .,N-1,依次进行开运算和闭运算,或者依次进行闭运算和开运算; 确定模块,用于将所述处理模块最终运算结果确定为所述f(n)对应的滤波信号; 其中,所述k(m)为固定值,所述N为大于0的整数; 所述处理模块具体包括第五处理单元和第六处理单元; 所述第五处理单元,用于在所述处理模块进行所述开运算和/或闭运算包括的膨 胀运算中,将待进行膨胀运算的信号作为第三中间信号f(1),1 = 〇, 1,2, . . .,N-1,所述N 为大于〇的整数;针对新移入进所述k(m)对应的运算窗口的所述f(l)中的第1个信号, m彡1彡N-I,计算所述f(1)加所述k(m)得到的第三和值; 所述第六处理单元,用于将所述第三和值与所述f(l)中包含在当前运算窗口的 上一个运算窗口内的各信号值加所述k(m)得到的第四和值进行比较; 所述确定模块,用于根据所述第六单元最终的比较结果确定所述f(l)中的第1个 信号对应的膨胀运算结果。 本专利技术实施例提供的数字信号的滤波方法和装置,通过对待处理的一维数字信号 f本文档来自技高网
...
数字信号的滤波方法和装置

【技术保护点】
一种数字信号的滤波方法,其特征在于,包括:对待处理的一维数字信号f(n),n=0,1,2,...,N‑1,应用结构元k(m),m=0,1,2,...,N‑1,依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算结果确定为所述f(n)对应的滤波信号;其中,所述k(m)为固定值,所述N为大于0的整数;所述开运算和/或闭运算中包括的腐蚀运算的具体步骤包括:将待进行腐蚀运算的信号作为第一中间信号f(t),t=0,1,2,...,N‑1,所述N为大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(t)中的第t个信号,m≤t≤N‑1,计算所述f(t)减所述k(m)得到的第一差值;将所述第一差值与所述f(t)中包含在当前运算窗口的上一个运算窗口内的各信号值减所述k(m)得到的第二差值进行比较;并根据比较结果确定所述f(t)中的第t个信号对应的腐蚀运算结果。

【技术特征摘要】
1. 一种数字信号的滤波方法,其特征在于,包括: 对待处理的一维数字信号f (η),η = 0, 1,2,. . .,N-I,应用结构元k (m),m = 0, 1,2, ...,N-1,依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算 结果确定为所述f(n)对应的滤波信号;其中,所述k(m)为固定值,所述N为大于0的整 数;所述开运算和/或闭运算中包括的腐蚀运算的具体步骤包括: 将待进行腐蚀运算的信号作为第一中间信号f(t),t = 0,1,2,...,N-1,所述N为 大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(t)中的第t个信号, m彡t彡N-I,计算所述f (t)减所述k (m)得到的第一差值; 将所述第一差值与所述f (t)中包含在当前运算窗口的上一个运算窗口内的各信号值 减所述k(m)得到的第二差值进行比较;并根据比较结果确定所述f(t)中的第t个信号对 应的腐蚀运算结果。2. 根据权利要求1所述的方法,其特征在于,所述将所述第一差值与所述f(t)中包含 在当前运算窗口的上一个运算窗口内的各信号值减所述k(m)得到的第二差值进行比较; 并根据比较结果确定所述f(t)中的第t个信号对应的腐蚀运算结果,包括: 判断当前存储的最小值Al是否为空,或者不为空时其在所述f(t)中对应的信号点p 是否已移出当前所述运算窗口;所述Al为所述f(t)中包含在当前所述运算窗口的上一个 运算窗口内的各信号点对应的最小所述第二差值; 若所述当前存储的最小值Al为空,或者不为空时其在所述f(t)中对应的信号点p已 移出当前所述运算窗口;则: 针对当前所述k(m)对应的运算窗口内除所述第t个信号外的所有f(t)分别计算其各 自减所述k(m)得到的所述第二差值; 将获得的所有所述第二差值和所述第一差值中的最小值确定为所述f(t)在所述第t 个信号点对应的腐蚀运算结果; 将所述获得的所有所述第二差值和所述第一差值中的最小值确定为新的所述最小值 A1,并记录其相对于在所述f(t)中对应的信号点p ; 或者, 若所述当前存储的最小值Al不为空,且其在所述f(t)中对应的信号点p未移出当前 所述运算窗口;则: 将所述第一差值与当前存储的所述最小值Al进行比较,并将比较后的较小值确定为 所述f(t)在所述第t个信号点对应的腐蚀运算结果; 将所述比较后的较小值确定为新的所述最小值A1,并记录其相对于在所述f(t)中对 应的信号点P。3. 根据权利要求1所述的方法,其特征在于,所述将所述第一差值与所述f(t)中包含 在当前运算窗口的上一个运算窗口内的各信号值减所述k(m)得到的第二差值进行比较; 并根据比较结果确定所述f(t)中的第t个信号对应的腐蚀运算结果,包括: 判断当前第一二叉树堆中的各节点是否均为空;所述第一二叉树堆中的节点个数等 于所述k(m)的长度,且所述第一二叉树堆中的各节点值为所述f(t)中包含在当前所述运 算窗口的上一个运算窗口内的各信号点对应的所述第二差值且各所述第二差值按第一固 定顺序存放到各节点中;所述第一固定顺序为各节点的节点值小于该节点的子节点的节点 值; 若当前所述第一二叉树堆中的各节点均为空,则: 针对当前所述k(m)对应的运算窗口内除所述第t个信号外的所有f(t)分别计算其各 自减所述k(m)得到的所述第二差值; 将获得的各所述第二差值和所述第一差值作为节点值按所述第一固定顺序存放在所 述第一二叉树堆中的各节点内; 将所述第一二叉树堆中根节点的节点值确定为所述f(t)在所述第t个信号点对应的 腐蚀运算结果,并记录各节点值在所述f(t)中对应的信号点p ; 或者, 若当前所述第一二叉树堆中的各节点均不为空;则: 将所述f (t)中针对当前运算窗口的上一个运算窗口的移出点对应的节点值移出所述 第一二叉树堆,并将所述第一差值按所述第一固定顺序插入到所述第一二叉树堆的一个节 占中. 将所述第一二叉树堆中根节点内的节点值确定为所述f(t)在所述第t个信号点对应 的腐蚀运算结果,并记录当前插入的节点值相对于在所述f(t)中对应的信号点p。4. 根据权利要求1所述的方法,其特征在于,所述将所述第一差值与所述f(t)中包含 在当前运算窗口的上一个运算窗口内的各信号值减所述k(m)得到的第二差值进行比较; 并根据比较结果确定所述f(t)中的第t个信号对应的腐蚀运算结果,包括: 判断当前第一双向队列中的各节点是否均为空;所述第一双向队列中的节点个数等于 所述k(m)的长度,且所述第一双向队列中的各节点值为所述f(t)中包含在当前所述运算 窗口的上一个运算窗口内的各信号点对应的所述第二差值且各所述第二差值按第二固定 顺序存放到各节点中;所述第二固定顺序为各所述节点值按其相对于所述f(t)中的信号 点顺序排列,其中,t最小的排在所述第一双向队列的队首; 若当前所述第一双向队列中的各节点均为空,则: 针对当前所述k(m)对应的运算窗口内除所述第t个信号外的所有f(t)分别计算其各 自减所述k(m)得到的所述第二差值; 将获得的各所述第二差值和所述第一差值作为节点值按所述第二固定顺序存放在所 述第一双向队列中的各节点内; 或者, 若当前所述第一双向队列中的各节点均不为空,则: 将所述第一双向队列中除队首位置节点的各节点值依次向队首位置移动一个节点,并 将所述第一差值作为插入节点值压入所述第一双向队列的队尾节点; 将当前所述第一双向队列中的最小节点值确定为所述f(t)在所述第t个信号点对应 的腐蚀运算结果。5. 根据权利要求1-4任一项所述的方法,其特征在于,还包括:所述开运算和/或闭运 算中包括的膨胀运算的具体步骤包括: 将待进行膨胀运算的信号作为第二中间信号f(s),s = 0,1,2,...,N-1,所述N为 大于O的整数;针对新移入进所述k(m)对应的运算窗口的所述f (s)中的第s个信号, m彡s彡N-I,计算所述f (s)加所述k (m)得到的第一和值; 将所述第一和值与所述f (S)中包含在当前运算窗口的上一个运算窗口内的各信号值 加所述k(m)得到的第二和值进行比较;并根据比较结果确定所述f (S)中的第S个信号对 应的膨胀运算结果。6. 根据权利要求5所述的方法,其特征在于,所述将所述第一和值与所述f (s)中包含 在当前运算窗口的上一个运算窗口内的各信号值加所述k(m)得到的第二和值进行比较; 并根据比较结果确定所述f (S)中的第s个信号对应的膨胀运算结果,包括: 判断当前存储的最大值A2是否为空,或者不为空时其在所述f (s)中对应的信号点q 是否已移出当前所述运算窗口;所述A2为所述f(s)中包含在当前所述运算窗口的上一个 运算窗口内的各信号点对应的最大所述第二和值; 若所述当前存储的最大值A2为空,或者不为空时其在所述f (s)中对应的信号点q已 移出当前所述运算窗口;则: 针对当前所述k(m)对应的运算窗口内除所述第s个信号外的所有f (s)分别计算其各 自加所述k(m)得到的所述第二和值; 将获得的所有所述第二和值和所述第一和值中的最大值确定为所述f (s)在所述第s 个信号点对应的膨胀运算结果; 将所述获得的所有所述第二和值和所述第一和值中的最大值确定为新的所述最大值 A2,并记录其相对于在所述f (s)中对应的信号点q ; 或者, 若所述当前存储的最大值A2不为空,且其在所述f (S)中对应的信号点q未移出当前 所述运算窗口;则: 将所述第一和值与当前存储的所述最大值A2进行比较,并将比较后的较大值确定为 所述f (s)在所述第s个信号点对应的膨胀运算结果; 将所述比较后的较大值确定为新的所述最大值A2,并记录其相对于在所述f (s)中对 应的信号点q。7. 根据权利要求5所述的方法,其特征在于,所述将所述第一和值与所述f (s)中包含 在当前运算窗口的上一个运算窗口内的各信号值加所述k(m)得到的第二和值进行比较; 并根据比较结果确定所述f (S)中的第s个信号对应的膨胀运算结果,包括: 判断当前第二二叉树堆中的各节点是否均为空;所述第二二叉树堆中的节点个数等 于所述k(m)的长度,且所述第二二叉树堆中的各节点值为所述f (s)中包含在当前所述运 算窗口的上一个运算窗口内的各信号点对应的所述第二和值且各所述第二和值按第三固 定顺序存放到各节点中;所述第三固定顺序为各节点的节点值大于该节点的子节点的节点 值; 若当前所述第二二叉树堆中的各节点均为空,则: 针对当前所述k(m)对应的运算窗口内除所述第s个信号外的所有f(s)分别计算其各 自加所述k(m)得到的所述第二和值; 将获得的各所述第二和值和所述第一和值作为节点值按第三固定顺序存放在所述第 二二叉树堆中的各节点内; 将所述第二二叉树堆中根节点的节点值确定为所述f (s)在所述第s个信号点对应的 腐蚀运算结果,并记录各节点值在所述f (S)中对应的信号点q ; 或者, 若当前所述第二二叉树堆中的各节点均不为空;则: 将所述f (S)中针对当前运算窗口的上一个运算窗口的移出点对应的节点值移出所述 第二二叉树堆,并将所述第一和值按所述第三固定顺序插入到所述第二二叉树堆的一个节 占中. 将所述第二二叉树堆中根节点内的节点值确定为所述f (S)在所述第S个信号点对应 的膨胀运算结果,并记录当前插入的节点值相对于在所述f (S)中对应的信号点q。8. 根据权利要求5所述的方法,其特征在于,所述将所述第一和值与所述f (s)中包含 在当前运算窗口的上一个运算窗口内的各信号值加所述k(m)得到的第二和值进行比较; 并根据比较结果确定所述f (S)中的第s个信号对应的膨胀运算结果,包括: 判断当前第二双向队列中的各节点是否均为空;所述第二双向队列中的节点个数等于 所述k(m)的长度,且所述第二双向队列中的各节点值为所述f(s)中包含在当前所述运算 窗口的上一个运算窗口内的各信号点对应的所述第二和值且各所述第二和值按第四固定 顺序存放到各节点中;所述第四固定顺序为各所述节点值按其相对于所述f (s)中的信号 点顺序排列,其中,s最小的排在所述第二双向队列的队首; 若当前所述第二双向队列中的各节点均为空,则: 针对当前所述k(m)对应的运算窗口内除所述第s个信号外的所有f (s)分别计算其各 自加所述k(m)得到的所述第二和值; 将获得的各所述第二和值和所述第一和值作为节点值按所述第四固定顺序存放在所 述第二双向队列中的各节点内; 或者, 若当前所述第二双向队列中的各节点均不为空,则: 将所述第二双向队列中除队首位置节点的各节点值依次向队首位置移动一个节点,并 将所述第一和值作为插入节点值压入所述第二双向队列的队尾节点; 将当前所述第二双向队列中的最大节点值确定为所述f (S)在所述第S个信号点对应 的膨胀运算结果。9. 一种数字信号的滤波方法,其特征在于,包括: 对待处理的一维数字信号f (η),η = 0, 1,2,. . .,N-I,应用结构元k (m),m = 0, 1,2, ...,N-1,依次进行开运算和闭运算,或者依次进行闭运算和开运算,并将最终运算 结果确定为所述f(n)对应的滤波信号;其中,所述k(m)为固定值,所述N为大于0的整 数;所述开运算和/或闭运算中包括的膨胀运算的具体步骤包括: 将待进行膨胀运算的信号作为第三中间信号f(l),1 = 0,1,2,...,N-1,所述N为 大于0的整数;针对新移入进所述k(m)对应的运算窗口的所述f(l)中的第1个信号, m彡1彡N-I,计算所述f (1)加所述k (m)得到的第三和值; 将所述第三和值与所述f (1)中包含在当前运算窗口的上一个运算窗口内的各信号值 加所述k(m)得到的第四和值进行比较;并根据比较结果确定所述f(l)中的第1个信号对 应的膨胀运算结果。10. 根据权利要求9所述的方法,其特征在于,所述将所述第三和值与所述f(l)中包含 在当前运算窗口的上一个运算窗口内的各信号值加所述k(m)得到的第四和值进行比较; 并根据比较结果确定所述f (1)中的第1个信号对应的膨胀运算结果,包括: 判断当前存储的最大值A3是否为空,或者不为空时其在所述f(l)中对应的信号点X 是否已移出当前所述运算窗口;所述A3为所述f(l)中包含在当前所述运算窗口的上一个 运算窗口内的各信号点对应的最大所述第四和值; 若所述当前存储的最大值A3为空,或者不为空时其在所述f(l)中对应的信号点X已 移出当前所述运算窗口;则: 针对当前所述k(m)对应的运算窗口内除所述第1个信号外的所有f(l)分别计算其各 自加所述k(m)得到的所述第四和值; 将获得的所有所述第四和值和所述第三和值中的最大值确定为所述f(l)在所述第1 个信号点对应的膨胀运算结果; 将所述获得的所有所述第四和值和所述第三和值中的最大值确定为新的所述最大值 ...

【专利技术属性】
技术研发人员:侯桂文
申请(专利权)人:北京海思敏医疗技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1