新聞中心

        EEPW首頁 > 設計應用 > IIR濾波器零相位數字濾波實現及應用

        IIR濾波器零相位數字濾波實現及應用

        作者: 時間:2014-06-20 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/259400.htm

        采用窗函數(Hanning窗)法設計出某200階FIR低通,截止頻率為200Hz,分析頻率為2KHz,其幅頻曲線及相頻曲線如圖3所示。

          圖3低通的幅頻特性和相頻特性

        利用該FIR低通數字對圖2所示發動機噪聲信號進行差分濾波,濾波后的波形如圖4所示

          圖4差分濾波后的發動機噪聲信號

        對比圖3和圖4所示波形可以看出,差分濾波后,信號變得光滑了許多,原來的毛刺被濾掉 了。但同時也可以看出差分濾波方法存在兩個問題:一是濾波后的信號相對與原信號而言,發生了相移;二是濾波后的信號在起始部分,波形畸變較為嚴重。在信號 處理中,如果對信號的相位有特殊的要求,相移問題需要引起高度的注意。而起始部分的畸變是由于疊代過程中,沒有考慮濾波器的初始條件,剛開始點數少,沒能 用到濾波器全部系數的緣故。大多情況下,這種畸變可以接受,但當數據較短,而濾波器的階數又較高時,這種畸變會帶來較大的負面影響。

        如果輸入信號為一單位脈沖信號,即

        x(n)=1,n=1

        0,n≠1

        那么,濾波器的輸出為其脈沖響應。本文所用200階FIR低通器的脈沖響應如圖5所示。

          圖5濾波器的脈沖響應3算法及其實現

        3.1 的算法

        為了克服差分數字濾波中存在的上述兩個問題,可以采用一種濾波的方法,該方法的基本思路 是:先確定出濾波器的初始條件,然后將原序列的首尾進行擴展,把擴展后序列通過濾波器,將所得結果反轉后再次通過濾波器,最后將所得結果再反轉,并去掉首 尾的擴展部分,即可得到零相位濾波后的輸出序列。本文采用濾波方式給出一種便于實現的詳細算法,假設輸入信號為x(n),n=0,1,…,P.

        (1) 編寫差分濾波函數DiffFilter(b,a,x),調用參數如前所述。

        (2) 對于濾波器通常有M=N,求濾波器的初始條件e(q),q=0,1,…,N-1,這里記E=[e(0),e(1),…,e(N-1)]T,則有

          E=1+a(1)1-1…0

          a(2)01…0

          MMMOM

          a(N)00…-11× b(1)-b(0)a(0)

          b(2)-b(0)a(1)

          M

          b(Nn)-b(0)a(N)(3)

        (3) 對原輸入序列x(n)的首尾進行擴展,在x(n)的前面添加3N個數,在后面添加3N個數,擴展后的序列記為x′(n),n=0,1,…,P+6N.

          x′(n)=2x(0)-x(3N-n)

          x(n-3N)

          2x(P)-x(P-1-(n-P-3N-n))

          n3N

          3NnP+3N

          P+3NnP+6N(4)

        (4) 進行正向濾波:先用b,a和x′(n)調用DiffFilter(b,a,x)函數,計算x′(n)通過

        H(z)=∑Mm=0b(m)z-m/(1+∑Mm=1a(m)z-m)(5)

        的輸出y′(n),然后生成一長度為P+6N+1的單位脈沖信號h(n),用z,a和h(n)調用DiffFilter(b,a,x)函數,計算h(n)通過

        H(z)=∑M-1m=0y′(0)e(m)z-m/(1+∑Mm=1a(m)z-m)(6)

        的輸出y′(n),并記y(n)=y′(n)+y″(n)。

        數字濾波器相關文章:數字濾波器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 白玉县| 昌都县| 浏阳市| 荃湾区| 财经| 革吉县| 河南省| 达日县| 于都县| 宜都市| 且末县| 商水县| 武胜县| 克什克腾旗| 隆子县| 西乡县| 荣成市| 桃源县| 祁阳县| 长岛县| 元氏县| 视频| 灵台县| 吉隆县| 溆浦县| 黄浦区| 闽侯县| 新宾| 罗平县| 伊春市| 定日县| 阳城县| 黄龙县| 星子县| 米脂县| 高雄市| 集贤县| 襄樊市| 茂名市| 九龙坡区| 马公市|