一種濾波系統(tǒng)的過濾方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及心電信號(hào)處理領(lǐng)域,特別是一種濾波系統(tǒng)的過濾方法。
【背景技術(shù)】
[0002]在心電信號(hào)的采集過程中,不可避免地會(huì)混入各種噪聲。工頻干擾、高頻等來自外界的干擾對(duì)心電信號(hào)的采集及進(jìn)一步的準(zhǔn)確分析診斷造成了不良的影響。因此,在實(shí)際采集、分析心電信號(hào)的過程中,要對(duì)這些干擾進(jìn)行濾除處理。在實(shí)際濾除過程中,往往希望不改變波形或減少波形的失真,又由于心電信號(hào)對(duì)相位比較敏感,因而就要求設(shè)計(jì)的濾波器最好是擁有良好的線性相位響應(yīng)。
[0003]目前有很多種方法都可以濾除心電信號(hào)的基線漂移干擾和工頻信號(hào)的干擾,主要的方式有:
一、FIR濾波器,即有限脈沖響應(yīng)濾波器。雖然FIR濾波器有良好的線性相位的特性,但一般要采用高階數(shù)的FIR濾波器才能滿足設(shè)計(jì)需求,因此FIR濾波器計(jì)算量大,濾波延時(shí)較長,在實(shí)際應(yīng)用中對(duì)芯片要求高,不利于實(shí)際應(yīng)用。
[0004]二、采用小波變換來處理心電信號(hào),但是其方法運(yùn)算量大,而且重構(gòu)信號(hào)時(shí)容易產(chǎn)生?目號(hào)的失真。
[0005]三、采用IIR濾波器,即無限脈沖響應(yīng)濾波器。一般采用Η(ζ~-1)Η(ζ)的形式,使得整個(gè)濾波器算法的相位近似為O相位。由于其計(jì)算量小,對(duì)芯片要求不高,有利于實(shí)際的應(yīng)用,且心電波形通過濾波器后失真度小,因此,是一種實(shí)用的技術(shù)。但其濾波效果與選取的信號(hào)片段長度有關(guān),現(xiàn)有技術(shù)采用濾波延時(shí)為4倍的信號(hào)片段長度,對(duì)應(yīng)使用濾波器的個(gè)數(shù)為3個(gè),但其算法具有較長時(shí)間的延時(shí),不利于實(shí)時(shí)信號(hào)處理,并不是一種最優(yōu)的解決方案。
【發(fā)明內(nèi)容】
[0006]為解決上述問題,本發(fā)明的目的在于提供一種濾波系統(tǒng)的過濾方法,在減少濾波器個(gè)數(shù)的同時(shí),降低濾波的延遲。
[0007]本發(fā)明解決其問題所采用的技術(shù)方案是:
一種濾波系統(tǒng)的過濾方法,所述濾波系統(tǒng)包括依次連接的一進(jìn)多出的LIFO隊(duì)列、第一個(gè)IIR濾波器、一進(jìn)一出的LIFO隊(duì)列和第二個(gè)IIR濾波器,所述過濾方法包括:
(1)根據(jù)實(shí)際應(yīng)用獲取兩個(gè)IIR濾波器的系統(tǒng)函數(shù)H(Z),并根據(jù)采用的精度確定系統(tǒng)函數(shù)H(Z)所需要的等長片段長度L ;
(2)對(duì)于采樣頻率為fs的心電信號(hào)X(η),設(shè)置與心電信號(hào)X (η)對(duì)應(yīng)的輸入數(shù)組Div_X (η),將該數(shù)組劃分為N_block段,每段長度為M,且M=L/2 ;
(3)將每一段數(shù)據(jù)流通過濾波系統(tǒng)進(jìn)行過濾。
[0008]進(jìn)一步,所述步驟(3)包括:
(31)將每一段數(shù)據(jù)通過一進(jìn)多出的LIFO隊(duì)列進(jìn)行處理; (32)將步驟(31)處理后的每一段數(shù)據(jù)通過第一個(gè)IIR濾波器進(jìn)行濾波和延時(shí)疊加處理,使處理后的數(shù)據(jù)變?yōu)橐贿M(jìn)一出;
(33)將步驟(32)處理后的每一段數(shù)據(jù)通過一進(jìn)一出的LIFO隊(duì)列進(jìn)行處理;
(34)將步驟(33)處理后的每一段數(shù)據(jù)通過第二個(gè)IIR濾波器進(jìn)行過濾。
[0009]進(jìn)一步,所述一進(jìn)多出的LIFO隊(duì)列的緩存長度為M,且為I進(jìn)3出,所述步驟(31)中循環(huán)將每一段數(shù)據(jù)通過一進(jìn)多出的LIFO隊(duì)列進(jìn)行處理時(shí),具體為:
所述LIFO隊(duì)列中的指針I(yè)指向緩存的頭部,指針2指向緩存的尾部,進(jìn)行I進(jìn)3出的LIFO處理時(shí),指針I(yè)先指向緩存的尾部,而指針2還未指向緩存的頭部時(shí),輸出O直到指針2指向緩存的頭部為止,此時(shí)指針I(yè)指向緩存的尾部,指針2指向緩存的頭部,以同樣的方式進(jìn)行循環(huán)處理,即當(dāng)指針I(yè)先指向緩存的頭部,而指針2還未指向緩存的尾部時(shí),則輸出O直到指針2指向緩存的尾部為止,每輸出3個(gè)數(shù)據(jù)點(diǎn)則寫入I個(gè)數(shù)據(jù)點(diǎn),所述步驟(31)對(duì)每一段數(shù)據(jù)進(jìn)行處理,使每一段數(shù)據(jù)后面連接2個(gè)長為M的O數(shù)組。
[0010]進(jìn)一步,所述步驟(32)對(duì)每一段輸出的長度為3M的3個(gè)濾波點(diǎn)進(jìn)行過濾時(shí),對(duì)應(yīng)IIR濾波器每計(jì)算完3M個(gè)長度數(shù)據(jù)后,對(duì)應(yīng)緩存清零并再次輸入新的數(shù)據(jù)點(diǎn),同時(shí),對(duì)應(yīng)IIR濾波器對(duì)濾波后的數(shù)據(jù)進(jìn)行延時(shí)疊加處理,使得得3M個(gè)長度的數(shù)據(jù)變成M個(gè)長度的數(shù)據(jù),將處理后的數(shù)據(jù)變?yōu)橐贿M(jìn)一出。
[0011]進(jìn)一步,所述步驟(32)中對(duì)應(yīng)IIR濾波器求解系統(tǒng)響應(yīng)時(shí),所述系統(tǒng)響應(yīng)包括零狀態(tài)響應(yīng)和零輸入響應(yīng),對(duì)于N’ _block數(shù)組的零狀態(tài)響應(yīng):
在第N’ _block個(gè)數(shù)組輸入前,對(duì)應(yīng)的IIR濾波器的緩存已經(jīng)清零,因此,N’ _block數(shù)組輸入到對(duì)應(yīng)IIR濾波器所產(chǎn)生的響應(yīng)即為N’ _block數(shù)組產(chǎn)生的零狀態(tài)響應(yīng);
對(duì)于N’ _block數(shù)組的零輸入響應(yīng):
所述N’_block數(shù)組當(dāng)前時(shí)刻所產(chǎn)生的零輸入響應(yīng)來源具有兩個(gè),第一個(gè)是前一時(shí)刻即Ν-Γ _block數(shù)組后的第I組O數(shù)組輸入濾波系統(tǒng)所產(chǎn)生的響應(yīng),第二個(gè)是前二時(shí)刻即N-2’ _block數(shù)組后的第2個(gè)O數(shù)組輸入濾波系統(tǒng)所產(chǎn)生的響應(yīng);
最終,N’ _block數(shù)組輸入對(duì)應(yīng)IIR濾波器所產(chǎn)生的響應(yīng)為:
N’ _block數(shù)組輸入到對(duì)應(yīng)IIR濾波器所產(chǎn)生的零狀態(tài)響應(yīng)加上
Ν-Γ _block數(shù)組后的第I個(gè)O數(shù)組輸入到對(duì)應(yīng)IIR濾波器所產(chǎn)生的零輸入響應(yīng)再加上
N-2’ _block數(shù)組后的第2個(gè)O數(shù)組輸入到對(duì)應(yīng)IIR濾波器所產(chǎn)生的零輸入響應(yīng)。
[0012]本發(fā)明的有益效果是:
本發(fā)明采用一種濾波系統(tǒng)的過濾方法,濾波算法其濾波延時(shí)為2倍的信號(hào)片段長度,濾波器的使用個(gè)數(shù)為2個(gè),通過一個(gè)一進(jìn)多出的LIFO (后進(jìn)先出)進(jìn)行時(shí)序反轉(zhuǎn),采用多進(jìn)一出的方式來進(jìn)行濾波求和,在減少濾波器的個(gè)數(shù)同時(shí)減少濾波的延時(shí)。
【附圖說明】
[0013]下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明作進(jìn)一步說明。
[0014]圖1是本發(fā)明所述濾波系統(tǒng)的結(jié)構(gòu)連接示意圖;
圖2是本發(fā)明所述將心電信號(hào)X(η)與對(duì)應(yīng)輸入數(shù)組Div_x(n)的關(guān)系示意圖; 圖3是所述對(duì)應(yīng)圖2中數(shù)組Div_x(n)由第一個(gè)LIFO隊(duì)列處理后的示意圖;
圖4是數(shù)據(jù)通過一進(jìn)多出的LIFO隊(duì)列和第一個(gè)IIR濾波器的流程示意圖;
圖5是數(shù)據(jù)通過一進(jìn)一出的LIFO隊(duì)列和第二個(gè)IIR濾波器處理后的示意圖,圖中T為濾波系統(tǒng)總延時(shí);
圖6是圖1中所述濾波系統(tǒng)的幅頻特性圖;
圖7是圖1中所述濾波系統(tǒng)的相頻特性圖;
圖8是作為輸入信號(hào)X (η)的標(biāo)準(zhǔn)心電信號(hào)圖;
圖9是圖8中的標(biāo)準(zhǔn)心電信號(hào)通過本發(fā)明所述方法濾波后的效果示意圖;
圖10是采用濾波延時(shí)為4倍的信號(hào)片段長度、其使用濾波器的個(gè)數(shù)為3個(gè)時(shí),將圖8中的標(biāo)準(zhǔn)心電信號(hào)過濾后的效果示意圖。
【具體實(shí)施方式】
[0015]本發(fā)明提供了一種濾波系統(tǒng)的過濾方法,參照?qǐng)D1所示,所述濾波系統(tǒng)包括依次連接的一進(jìn)多出的LIFO隊(duì)列、第一個(gè)IIR濾波器、一進(jìn)一出的LIFO隊(duì)列和第二個(gè)IIR濾波器。所述心電信號(hào)x(n)經(jīng)一進(jìn)多出的LIFO隊(duì)列處理后生成數(shù)據(jù)b (n),b (η)經(jīng)第一個(gè)IIR濾波器FILTER1進(jìn)行過濾后輸出d(n),之后,d(n)進(jìn)入一進(jìn)一出的LIFO隊(duì)列處理后,由第二個(gè)IIR濾波器FILTER2進(jìn)行過濾生成最終的信號(hào)y (η)。
[0016]所述濾波系統(tǒng)的過濾方法包括:
(I)根據(jù)實(shí)際應(yīng)用獲取IIR濾波器的系統(tǒng)函數(shù)H(Z),并根據(jù)采用的精度確定系統(tǒng)函數(shù)Η(ζ)所需要的等長片段長度L。
[0017]其中,根據(jù)實(shí)際需要確定其性能指標(biāo)求得IIR濾波器的系統(tǒng)函數(shù)H(Z),再根據(jù)采用的精度確定系統(tǒng)函數(shù)所需要的等長片段長度L。L的選擇與整個(gè)系統(tǒng)的3dB截止頻率fc、濾波器參數(shù)的選擇相關(guān)。H(z)與L的選取可以參考論文Scott R.Powell and Paul M.Chau《A Technique for Realizing Linear Phase IIR Filters))IEEE TRANSACT1NS ON SIGNALPROCESSING.VOL.39.N0.1 I , NOVEMBER 1991。
[0018](2)對(duì)于采樣頻率為fs的心電信號(hào)x(n),設(shè)置與心電信號(hào)x(n)對(duì)應(yīng)的輸入數(shù)組Div_x (η),將該數(shù)組劃分為N_block段,每段長度為M,且M=L/2。
[0019]參照?qǐng)D2所示為對(duì)輸入信號(hào)進(jìn)行分段處理后的示意圖。
[0020](3)將每一段數(shù)據(jù)流通過濾波系統(tǒng)進(jìn)行過濾。
[0021]所述步驟(3)依次對(duì)每一段數(shù)據(jù)進(jìn)行處理,具體包括:
(31)循環(huán)將每一段數(shù)據(jù)通過一進(jìn)多出的LIFO隊(duì)列進(jìn)行處理;
(32)將步驟(31)處理后的每一段數(shù)據(jù)通過第一個(gè)IIR濾波器進(jìn)行濾波和延時(shí)疊加處理,使處理后的數(shù)據(jù)變?yōu)橐贿M(jìn)一出;
(33)將步驟(32)處理后的每一段數(shù)據(jù)通過一進(jìn)一出的LIFO隊(duì)列進(jìn)行處理;
(34)將步驟(33)處理后的每一段數(shù)據(jù)通過第二個(gè)IIR濾波器進(jìn)行過濾。
[0022]本發(fā)明設(shè)置所述一進(jìn)多出的LIFO隊(duì)列的緩存長度為M,且為I進(jìn)3出,所述步驟
(31)中循環(huán)將每一段數(shù)據(jù)通過一進(jìn)多出的LIFO隊(duì)列進(jìn)行處理時(shí),具體為:
所述LIFO隊(duì)列中的指針I(yè)指向緩存的頭部,指針2指向緩存的尾部,進(jìn)行I進(jìn)3出的LIFO處理時(shí),指針I(yè)先指向緩存的尾部,而指針2還未指向緩存的頭部時(shí),輸出O直到指針2指向緩存的頭部為止,此時(shí)指針I(yè)指向緩存的尾部,指針2指向緩存的頭部,以同樣的方式進(jìn)行循環(huán)處理,即當(dāng)指針I(yè)先指向緩存的頭部,而指針2還未指向緩存的尾部時(shí),則輸出O直到指針2指向緩存的尾部為止,每輸出3個(gè)數(shù)據(jù)點(diǎn)則寫入I個(gè)數(shù)據(jù)點(diǎn),所述步驟(31)循環(huán)對(duì)第一段數(shù)據(jù)進(jìn)行處理,使每一段數(shù)據(jù)后面連接2個(gè)長為M的O數(shù)組。處理結(jié)果參照?qǐng)D3所示。
[0023]其中,圖3中的N’ _block表示對(duì)圖2中的第N個(gè)數(shù)組的數(shù)據(jù)