CN104579239B - 一种滤波系统的过滤方法 - Google Patents

一种滤波系统的过滤方法 Download PDF

Info

Publication number
CN104579239B
CN104579239B CN201410805512.5A CN201410805512A CN104579239B CN 104579239 B CN104579239 B CN 104579239B CN 201410805512 A CN201410805512 A CN 201410805512A CN 104579239 B CN104579239 B CN 104579239B
Authority
CN
China
Prior art keywords
data
filter
input
caching
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410805512.5A
Other languages
English (en)
Other versions
CN104579239A (zh
Inventor
闵苏
勾大海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Biolight Meditech Co Ltd
Original Assignee
Guangdong Biolight Meditech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Biolight Meditech Co Ltd filed Critical Guangdong Biolight Meditech Co Ltd
Priority to CN201410805512.5A priority Critical patent/CN104579239B/zh
Publication of CN104579239A publication Critical patent/CN104579239A/zh
Application granted granted Critical
Publication of CN104579239B publication Critical patent/CN104579239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本发明公开了一种滤波系统的过滤方法,所述滤波系统包括依次连接的一进多出的LIFO队列、第一个IIR滤波器、一进一出的LIFO队列和第二个IIR滤波器,所述过滤方法首先根据实际应用获取IIR滤波器的系统函数H(z),并根据采用的精度确定系统函数H(z)所需要的等长片段长度L;之后,对于采样频率为fs的心电信号x(n),设置与心电信号x(n)对应的输入数组Div_x(n),将该数组划分为N_block段,每段长度为M,且M=L/2;之后,将每一段数据流通过滤波系统进行过滤。本发明在减少滤波器的个数同时减少滤波的延时。

Description

一种滤波系统的过滤方法
技术领域
本发明涉及心电信号处理领域,特别是一种滤波系统的过滤方法。
背景技术
在心电信号的采集过程中,不可避免地会混入各种噪声。工频干扰、高频等来自外界的干扰对心电信号的采集及进一步的准确分析诊断造成了不良的影响。因此,在实际采集、分析心电信号的过程中,要对这些干扰进行滤除处理。在实际滤除过程中,往往希望不改变波形或减少波形的失真,又由于心电信号对相位比较敏感,因而就要求设计的滤波器最好是拥有良好的线性相位响应。
目前有很多种方法都可以滤除心电信号的基线漂移干扰和工频信号的干扰,主要的方式有:
一、FIR滤波器,即有限脉冲响应滤波器。虽然FIR滤波器有良好的线性相位的特性,但一般要采用高阶数的FIR滤波器才能满足设计需求,因此FIR滤波器计算量大,滤波延时较长,在实际应用中对芯片要求高,不利于实际应用。
二、采用小波变换来处理心电信号,但是其方法运算量大,而且重构信号时容易产生信号的失真。
三、采用IIR滤波器,即无限脉冲响应滤波器。一般采用H(z^-1)H(z)的形式,使得整个滤波器算法的相位近似为0相位。由于其计算量小,对芯片要求不高,有利于实际的应用,且心电波形通过滤波器后失真度小,因此,是一种实用的技术。但其滤波效果与选取的信号片段长度有关,现有技术采用滤波延时为4倍的信号片段长度,对应使用滤波器的个数为3个,但其算法具有较长时间的延时,不利于实时信号处理,并不是一种最优的解决方案。
发明内容
为解决上述问题,本发明的目的在于提供一种滤波系统的过滤方法,在减少滤波器个数的同时,降低滤波的延迟。
本发明解决其问题所采用的技术方案是:
一种滤波系统的过滤方法,所述滤波系统包括依次连接的一进多出的LIFO队列、第一个IIR滤波器、一进一出的LIFO队列和第二个IIR滤波器,所述过滤方法包括:
(1)根据实际应用获取两个IIR滤波器的系统函数H(z),并根据采用的精度确定系统函数H(z)所需要的等长片段长度L;
(2)对于采样频率为fs的心电信号x(n),设置与心电信号x(n)对应的输入数组Div_x(n),将该数组划分为N_block段,每段长度为M,且M=L/2;
(3)将每一段数据流通过滤波系统进行过滤。
进一步,所述步骤(3)包括:
(31)将每一段数据通过一进多出的LIFO队列进行处理;
(32)将步骤(31)处理后的每一段数据通过第一个IIR滤波器进行滤波和延时叠加处理,使处理后的数据变为一进一出;
(33)将步骤(32)处理后的每一段数据通过一进一出的LIFO队列进行处理;
(34)将步骤(33)处理后的每一段数据通过第二个IIR滤波器进行过滤。
进一步,所述一进多出的LIFO队列的缓存长度为M,且为1进3出,所述步骤(31)中循环将每一段数据通过一进多出的LIFO队列进行处理时,具体为:
所述LIFO队列中的指针1指向缓存的头部,指针2指向缓存的尾部,进行1进3出的LIFO处理时,指针1先指向缓存的尾部,而指针2还未指向缓存的头部时,输出0直到指针2指向缓存的头部为止,此时指针1指向缓存的尾部,指针2指向缓存的头部,以同样的方式进行循环处理,即当指针1先指向缓存的头部,而指针2还未指向缓存的尾部时,则输出0直到指针2指向缓存的尾部为止,每输出3个数据点则写入1个数据点,所述步骤(31)对每一段数据进行处理,使每一段数据后面连接2个长为M的0数组。
进一步,所述步骤(32)对每一段输出的长度为3M的3个滤波点进行过滤时,对应IIR滤波器每计算完3M个长度数据后,对应缓存清零并再次输入新的数据点,同时,对应IIR滤波器对滤波后的数据进行延时叠加处理,使得得3M个长度的数据变成M个长度的数据,将处理后的数据变为一进一出。
进一步,所述步骤(32)中对应IIR滤波器求解系统响应时,所述系统响应包括零状态响应和零输入响应,对于N’_block数组的零状态响应:
在第N’_block个数组输入前,对应的IIR滤波器的缓存已经清零,因此,N’_block数组输入到对应IIR滤波器所产生的响应即为N’_block数组产生的零状态响应;
对于N’_block数组的零输入响应:
所述N’_block数组当前时刻所产生的零输入响应来源具有两个,第一个是前一时刻即N-1’_block数组后的第1组0数组输入滤波系统所产生的响应,第二个是前二时刻即N-2’_block数组后的第2个0数组输入滤波系统所产生的响应;
最终,N’_block数组输入对应IIR滤波器所产生的响应为:
N’_block数组输入到对应IIR滤波器所产生的零状态响应
加上
N-1’_block数组后的第1个0数组输入到对应IIR滤波器所产生的零输入响应
再加上
N-2’_block数组后的第2个0数组输入到对应IIR滤波器所产生的零输入响应。
本发明的有益效果是:
本发明采用一种滤波系统的过滤方法,滤波算法其滤波延时为2倍的信号片段长度,滤波器的使用个数为2个,通过一个一进多出的LIFO(后进先出)进行时序反转,采用多进一出的方式来进行滤波求和,在减少滤波器的个数同时减少滤波的延时。
附图说明
下面结合附图和实例对本发明作进一步说明。
图1是本发明所述滤波系统的结构连接示意图;
图2是本发明所述将心电信号x(n)与对应输入数组Div_x(n)的关系示意图;
图3是所述对应图2中数组Div_x(n)由第一个LIFO队列处理后的示意图;
图4是数据通过一进多出的LIFO队列和第一个IIR滤波器的流程示意图;
图5是数据通过一进一出的LIFO队列和第二个IIR滤波器处理后的示意图,图中T为滤波系统总延时;
图6是图1中所述滤波系统的幅频特性图;
图7是图1中所述滤波系统的相频特性图;
图8是作为输入信号x(n)的标准心电信号图;
图9是图8中的标准心电信号通过本发明所述方法滤波后的效果示意图;
图10是采用滤波延时为4倍的信号片段长度、其使用滤波器的个数为3个时,将图8中的标准心电信号过滤后的效果示意图。
具体实施方式
本发明提供了一种滤波系统的过滤方法,参照图1所示,所述滤波系统包括依次连接的一进多出的LIFO队列、第一个IIR滤波器、一进一出的LIFO队列和第二个IIR滤波器。所述心电信号x(n)经一进多出的LIFO队列处理后生成数据b(n),b(n)经第一个IIR滤波器FILTER1进行过滤后输出d(n),之后,d(n)进入一进一出的LIFO队列处理后,由第二个IIR滤波器FILTER2进行过滤生成最终的信号y(n)。
所述滤波系统的过滤方法包括:
(1)根据实际应用获取IIR滤波器的系统函数H(z),并根据采用的精度确定系统函数H(z)所需要的等长片段长度L。
其中,根据实际需要确定其性能指标求得IIR滤波器的系统函数H(z),再根据采用的精度确定系统函数所需要的等长片段长度L。L的选择与整个系统的3dB截止频率fc、滤波器参数的选择相关。H(z)与L的选取可以参考论文Scott R.Powell and Paul M.Chau《ATechnique for Realizing Linear Phase IIR Filters》IEEE TRANSACTIONS ON SIGNALPROCESSING. VOL. 39. NO. I I , NOVEMBER 1991。
(2)对于采样频率为fs的心电信号x(n),设置与心电信号x(n)对应的输入数组Div_x(n),将该数组划分为N_block段,每段长度为M,且M=L/2。
参照图2所示为对输入信号进行分段处理后的示意图。
(3)将每一段数据流通过滤波系统进行过滤。
所述步骤(3)依次对每一段数据进行处理,具体包括:
(31)循环将每一段数据通过一进多出的LIFO队列进行处理;
(32)将步骤(31)处理后的每一段数据通过第一个IIR滤波器进行滤波和延时叠加处理,使处理后的数据变为一进一出;
(33)将步骤(32)处理后的每一段数据通过一进一出的LIFO队列进行处理;
(34)将步骤(33)处理后的每一段数据通过第二个IIR滤波器进行过滤。
本发明设置所述一进多出的LIFO队列的缓存长度为M,且为1进3出,所述步骤(31)中循环将每一段数据通过一进多出的LIFO队列进行处理时,具体为:
所述LIFO队列中的指针1指向缓存的头部,指针2指向缓存的尾部,进行1进3出的LIFO处理时,指针1先指向缓存的尾部,而指针2还未指向缓存的头部时,输出0直到指针2指向缓存的头部为止,此时指针1指向缓存的尾部,指针2指向缓存的头部,以同样的方式进行循环处理,即当指针1先指向缓存的头部,而指针2还未指向缓存的尾部时,则输出0直到指针2指向缓存的尾部为止,每输出3个数据点则写入1个数据点,所述步骤(31)循环对第一段数据进行处理,使每一段数据后面连接2个长为M的0数组。处理结果参照图3所示。
其中,图3中的N’_block表示对图2中的第N个数组的数据做了后进先出处理,而且每个数组后面都带了两组同等长度的0数组;然后对后进先出所输出的3个数据点做滤波处理,使其通过FILTER1。当FILTER 1每计算完3M个长度数据时,FILTER 1滤波器的缓存清零一次再输入新的数据点。对应的,所述步骤(32)对每一段输出的长度为3M的3个滤波点进行过滤时,对应IIR滤波器每计算完3M个长度数据后,对应缓存清零并再次输入新的数据点,同时,对应IIR滤波器对滤波后的数据进行延时叠加处理,使得得3M个长度的数据变成M个长度的数据,将处理后的数据变为一进一出。
通常而言,求解滤波器的响应分解分为求解滤波器系统的零状态响应和零输入响应。所谓零状态响应只与输入激励有关,而与滤波器系统起始储能无关;所谓零输入响应只与滤波系统的储能相关,而与输入激励无关,即只与过去时刻滤波系统残留的能量相关所产生的响应。
因此,所述步骤(32)中对应IIR滤波器求解系统响应时,所述系统响应包括零状态响应和零输入响应,对于N’_block数组的零状态响应:
在第N’_block个数组输入前,对应的IIR滤波器的缓存已经清零,因此,N’_block数组输入到对应IIR滤波器所产生的响应即为N’_block数组产生的零状态响应;
对于N’_block数组的零输入响应:
所述N’_block数组当前时刻所产生的零输入响应来源具有两个,第一个是前一时刻即N-1’_block数组后的第1组0数组输入滤波系统所产生的响应,第二个是前二时刻即N-2’_block数组后的第2个0数组输入滤波系统所产生的响应;
最终,N’_block数组输入对应IIR滤波器所产生的响应为:
N’_block数组输入到对应IIR滤波器所产生的零状态响应
加上
N-1’_block数组后的第1个0数组输入到对应IIR滤波器所产生的零输入响应
再加上
N-2’_block数组后的第2个0数组输入到对应IIR滤波器所产生的零输入响应。
以图3中的N’_block数组为例,求解滤波器系统的零输入响应和零状态响应时,N’_block数组在输入前,FILTER 1中缓存器已经清零了一次,因此N’_block数组输入到FILTER 1所产生的响应称为N’_block数组产生的零状态响应。
求解零输入响应时,N’_block数组当前时刻所产生的零输入响应来源有两个,第一个是前一时刻即N-1’_block数组后的第1组0数组(中M个0)输入滤波系统所产生的响应,第二个是前二时刻即N-2’_block数组后的第2个0数组(后M个0)输入滤波系统所产生的响应。因此,N’_block数组输入滤波器FILTER 1,所产生的响应为:
N’_block数组输入到FILTER 1所产生的输状态响应
加上
N-1’_block数组后的第1个0数组(中M个0)输入到FILTER 1所产生的零输入响应
再加上
N-2’_block数组后的第2个0数组(后M个0)输入到FILTER 1所产生的零输入响应。
图4为N=3、N=4时FILTER 1响应求和实例示意图。对于图4所示,求解FILTER1系统响应亦可理解为:
r(n)为通过FILTER1后的数据,把r(n)延时2M个数据点得到k(n),再把k(n)延时2M个数据点得到v(n),把r(n)、k(n)、v(n)对应的纯灰色部分相加得到d(n)为信号通过FILTER1所得到的响应。
把d(n)进行一次时间反转和再通过FILTER2滤波处理得到y(n),图5中的T为滤波系统总延时,y(n)为图1所示滤波系统的所求结果。
第一个IIR滤波器由于通过了一个一进多出的LIFO队列,使得其系统响应被明显分裂开,因此通过以上方法求解零输入响应和零状态响应。将步骤(31)和步骤(32)做为一个整体来看,信号通过步骤(31)和步骤(32)后是一进一出的,只是由于有后进先出处理,其数据流的方向是反向的。因此,信号再通过步骤(33)处理后,其数据流的方向为原始信号进入滤波系统的方向,故而第二个IIR滤波器的零输入响应和零状态响应不需要分开进行求解。因此,步骤(33)中第二个滤波器求解系统响应时,不需要对滤波器清零的处理,而是直接求解零输入响应和零状态响应,即数据流通过第二个IIR滤波器后产生的响就是:零输入响应+零状态响应。
图6和图7给出了本发明图1中所示滤波系统的幅频特性图,图6为对应的幅频特性图,图7为对应的相频特性图。
为了便于实际对比,图8给出了输入信号x(n)的标准心电信号,图9是图8中的标准心电信号通过本发明所述方法滤波后的效果示意图;图10是图8中的标准心电信号通过《ATechnique for Realizing Linear Phase IIR Filters》所提出滤波方法后的效果图,即采用滤波延时为4倍的信号片段长度、其使用滤波器的个数为3个过滤后的效果图。从图9与图10的直接对比可知,本发明所述滤波的方法可极大缩短滤波算法的延时。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。

Claims (3)

1.一种滤波系统的过滤方法,其特征在于,所述滤波系统包括依次连接的一进多出的LIFO队列、第一个IIR滤波器、一进一出的LIFO队列和第二个IIR滤波器,所述过滤方法包括:
(1)根据实际应用获取两个IIR滤波器的系统函数H(z),并根据采用的精度确定系统函数H(z)所需要的等长片段长度L;
(2)对于采样频率为fs的心电信号x(n),设置与心电信号x(n)对应的输入数组Div_x(n),将该数组划分为N_block段,每段长度为M,且M=L/2;
(3)将每一段数据流通过滤波系统进行过滤,其包括,
(31)将每一段数据通过一进多出的LIFO队列进行处理,
(32)将步骤(31)处理后的每一段数据通过第一个IIR滤波器进行滤波和延时叠加处理,使处理后的数据变为一进一出,
(33)将步骤(32)处理后的每一段数据通过一进一出的LIFO队列进行处理,
(34)将步骤(33)处理后的每一段数据通过第二个IIR滤波器进行过滤;
其中所述一进多出的LIFO队列的缓存长度为M,且为1进3出,所述步骤(31)中将每一段数据通过一进多出的LIFO队列进行处理时,具体为:
所述LIFO队列中的指针1指向缓存的头部,指针2指向缓存的尾部,进行1进3出的LIFO处理时,指针1先指向缓存的尾部,而指针2还未指向缓存的头部时,输出0直到指针2指向缓存的头部为止,此时指针1指向缓存的尾部,指针2指向缓存的头部,以同样的方式进行循环处理,即当指针1先指向缓存的头部,而指针2还未指向缓存的尾部时,则输出0直到指针2指向缓存的尾部为止,每输出3个数据点则写入1个数据点,所述步骤(31)对每一段数据进行处理,使每一段数据后面连接2个长为M的0数组。
2.根据权利要求1所述的滤波系统的过滤方法,其特征在于,所述步骤(32)对每一段输出的长度为3M的3个滤波点进行过滤时,对应IIR滤波器每计算完3M个长度数据后,对应缓存清零并再次输入新的数据点,同时,对应IIR滤波器对滤波后的数据进行延时叠加处理,使得得3M个长度的数据变成M个长度的数据,将处理后的数据变为一进一出。
3.根据权利要求2所述的滤波系统的过滤方法,其特征在于,所述步骤(32)中对应IIR滤波器求解系统响应时,所述系统响应包括零状态响应和零输入响应,对于N’_block数组的零状态响应:
在第N’_block个数组输入前,对应的IIR滤波器的缓存已经清零,因此,N’_block数组输入到对应IIR滤波器所产生的响应即为N’_block数组产生的零状态响应;
对于N’_block数组的零输入响应:
所述N’_block数组当前时刻所产生的零输入响应来源具有两个,第一个是前一时刻即N-1’_block数组后的第1组0数组输入滤波系统所产生的响应,第二个是前二时刻即N-2’_block数组后的第2个0数组输入滤波系统所产生的响应;
最终,N’_block数组输入对应IIR滤波器所产生的响应为:
N’_block数组输入到对应IIR滤波器所产生的零状态响应
加上
N-1’_block数组后的第1个0数组输入到对应IIR滤波器所产生的零输入响应
再加上
N-2’_block数组后的第2个0数组输入到对应IIR滤波器所产生的零输入响应。
CN201410805512.5A 2014-12-19 2014-12-19 一种滤波系统的过滤方法 Active CN104579239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410805512.5A CN104579239B (zh) 2014-12-19 2014-12-19 一种滤波系统的过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410805512.5A CN104579239B (zh) 2014-12-19 2014-12-19 一种滤波系统的过滤方法

Publications (2)

Publication Number Publication Date
CN104579239A CN104579239A (zh) 2015-04-29
CN104579239B true CN104579239B (zh) 2017-11-28

Family

ID=53094594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410805512.5A Active CN104579239B (zh) 2014-12-19 2014-12-19 一种滤波系统的过滤方法

Country Status (1)

Country Link
CN (1) CN104579239B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110575162B (zh) * 2019-09-27 2021-07-02 深圳旭宏医疗科技有限公司 心电信号滤波方法、装置、计算机设备和存储介质
CN112464801B (zh) * 2020-11-26 2023-04-18 配天机器人技术有限公司 一种机器人数据处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162869A (zh) * 1995-12-22 1997-10-22 汤姆森多媒体公司 实现中频信号数字奈奎斯特滤波的电路
CN101741348A (zh) * 2009-12-09 2010-06-16 北京天碁科技有限公司 多相滤波器、数字信号处理系统和滤波方法
CN102082559A (zh) * 2010-12-02 2011-06-01 广东宝莱特医用科技股份有限公司 线性相位iir滤波器的一种实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010119963A1 (ja) * 2009-04-17 2010-10-21 株式会社ユナイテッドワークス インパルス応答の抽出合成によるsrcの装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162869A (zh) * 1995-12-22 1997-10-22 汤姆森多媒体公司 实现中频信号数字奈奎斯特滤波的电路
CN101741348A (zh) * 2009-12-09 2010-06-16 北京天碁科技有限公司 多相滤波器、数字信号处理系统和滤波方法
CN102082559A (zh) * 2010-12-02 2011-06-01 广东宝莱特医用科技股份有限公司 线性相位iir滤波器的一种实现方法

Also Published As

Publication number Publication date
CN104579239A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN103959376A (zh) 低功率语音检测
WO1994001933A1 (en) Digital filter having high accuracy and efficiency
CN105393456A (zh) 虚拟采样率增加的音频滤波
CN105849804A (zh) 过滤噪声的计算高效方法
CN104579239B (zh) 一种滤波系统的过滤方法
CN108011615A (zh) 一种信号处理的方法和装置
JP7267424B2 (ja) 信号処理方法、信号処理装置、信号処理デバイスおよびコンピュータ記憶媒体
Kumar et al. Near perfect reconstruction quadrature mirror filter
CN101997500B (zh) 音频均衡处理系统及其方法
Sokolov et al. Implementation of cosine modulated digital filter bank on processor with ARM architecture
CN111631707A (zh) 心电信号中基线漂移的滤除方法、装置、设备及存储介质
CN107749301B (zh) 一种音色样本重构方法及系统、存储介质及终端设备
CN104836547A (zh) 一种短群延时数字滤波方法
RU148684U1 (ru) Устройство фильтрации векторного сигнала
WO2003047097A1 (fr) Procede de conception d'un filtre numerique, appareil de projet, programme de projet pour la realisation d'un tel filtre, et filtre numerique y relatif
CN102571031B (zh) 一种用于实现小波变换的宽带低插损声表面波滤波器组
Bhogeshwar et al. Study of structural complexity of optimal order digital filters for de-noising ECG signal
CN109951174B (zh) 一种快速傅里叶变换滤波方法
Assef et al. Modeling of a simple and efficient cascaded FPGA-based digital band-pass FIR filter for raw ultrasound data
Yang et al. An efficient 18-band quasi-ansi 1/3-octave filter bank using re-sampling method for digital hearing aids
Tharini et al. 21 band 1/3-octave filter bank for digital hearing aids
CN114650033B (zh) 一种基于dsp的快速滤波方法
CN103251428B (zh) 用于超声扫描系统的隔直滤波模块及方法、超声扫描系统
KR101898534B1 (ko) 고주파 신호 필터링을 위한 디지털 체인 필터
Canbay et al. Field programmable gate arrays implementation of dual tree complex wavelet transform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant