朱御康
(安徽大學 互聯網學院,安徽 合肥 230000)
數字信號相比于模擬信號有著傳輸速率快、抗干擾能力高以及保密性強等諸多優點,早在第二代手機技術通信中就得到了應用。數字信號處理作為通信中信號分析處理的基礎,有著舉足輕重的作用。在數字信號處理課程中,IIR濾波器及FIR濾波器的設計是數字信號處理課程的一個綜合應用。學生在動手設計濾波器時,不僅會復習到諸如信號的幅頻響應與相頻響應、離散系統的系統函數、系統的頻率響應以及系統零極點分布對系統頻率特性的影響等相關知識,同時也會增強學生的實踐動手能力。
本文借助MATLAB GUI平臺,開發了一款基于MATLAB的數字信號處理實驗平臺。該平臺通過IIR及FIR各類型濾波器算法的實現,致力于將數字信號處理課程中抽象煩瑣的理論知識具象化和形象化,以加深學生對于數字信號處理課程的理解[1-3]。
本實驗平臺共有9個顯示框、9個主要功能按鍵以及1個用來加入高斯白噪聲的滑動拖條。其中9個功能按鍵及滑動拖條都需要編寫其回調函數實現其功能。
實驗平臺主要包含信號輸入、信號加噪以及信號濾波3個主要功能,系統流程如圖1所示,系統主界面如圖2所示。

圖1 系統流程圖

圖2 系統主界面
本實驗平臺輸入的信號采用正弦信號,點擊輸入信號按鈕,會彈出對話框,在框中可以輸入正弦信號的幅值及頻率。信號輸入后,系統左上方第一幅圖將會顯示原信號的時域波形,右側則會顯示出該信號的幅度譜及相位譜。需要注意的是,本實驗在編寫時采樣頻率為1 000 Hz,故選取的正弦信號頻率不應超出500 Hz過多,否則會導致頻譜混疊嚴重。
本實驗平臺疊加的噪聲選用高斯白噪聲,用戶可通過拖動拉條來調節噪聲幅度。在選定噪聲幅度之后,系統會計算出加噪信號的信噪比并顯示,同時在右側顯示出加噪信號的幅度譜及相位譜。
數字濾波器從實現的網絡結構或者從單位沖激響應分類,可以分成無限長單位沖激響應(Infinite Impulse Response,IIR)濾波器和有限長單位沖激響應(Finite Impulse Response,FIR)濾波器[4]。本實驗平臺分別設計了這兩種類型的濾波器,每種類型又分為低通、帶通、帶阻以及高通。用戶通過點擊按鈕,輸入濾波器的通帶截至頻率和阻帶截至頻率,系統會自動設計出滿足要求的濾波器。濾波完成之后,系統會顯示濾波過后的幅度譜和相位譜,并計算出濾波過后的信噪比。用戶可以通過觀察幅度譜和信噪比來檢驗濾波器的濾波性能。
2.1.1 算法特性
IIR濾波器與FIR濾波器相比,在相同的設計指標要求下,IIR濾波器的階數要低很多,設計成本相較于FIR濾波器要低[5]。IIR濾波器的系統函數為:

其系統函數決定了濾波器中存在有輸出到輸入的反饋,為一個遞歸結構。
2.1.2 算法理論與流程
IIR濾波器的設計方法有直接法與間接法,直接法主要基于模擬濾波器的設計,通過設計得到模擬濾波器的系統函數Ha(s),將Ha(s)通過沖激響應不變法或者是雙線性變換法來轉換成數字濾波器的系統函數H(z)。IIR濾波器的設計方法如圖3所示,下面介紹通過間接法設計IIR濾波器的流程[6]。

圖3 IIR濾波器的設計方法
以巴特沃斯低通濾波器為例,其幅度平方函數為:

將幅度平方函數|Ha(jΩ)|2寫成s的函數,求出極點sk,可表示為:

式中,k的取值從0到2N-1,表明其有2N個極點。則其對應的Ha(s)有N個極點,且每個極點存在一個共軛極點,由此可以得出:

到此只需根據技術指標求出系統階數N便可得到Ha(p),再經過去歸一化便可得到Ha(s),最后通過雙線性變換法便可得到成數字濾波器的系統函數H(z)。
在本實驗平臺的IIR濾波器設計中,采用了切比雪夫二型的濾波器。以低通為例,使用cheb2ord函數,輸入參數為通帶截止頻率、阻帶截止頻率、通帶波紋、阻帶最小衰減,得到濾波器階數n及3 dB截至頻率Omgn。通過che2ap函數,求切比雪夫二型模擬濾波器原型系統函數,返回零、極點和增益的形式。之后通過lp2lp函數將原型系統函數去歸一化,最后通過bilinear函數,即通過雙線性變換法將模擬低通濾波器的系統函數轉化為數字低通濾波器的系統函數。
2.2.1 算法特性
FIR濾波器相較于IIR可以做到嚴格的線性相位,其系統函數的一般表達形式為:

由于其系統函數沒有極點,決定了其沒有從輸出到輸入的反饋。但是,要取得良好的衰減特性,FIR濾波器系統函數的階次要比IIR濾波器高[7]。
2.2.2 算法理論與流程
以窗函數設計法設計數字低通濾波器為例,一般流程為根據技術指標得到濾波器系統函數Hd(ejω),經IDTFT得到其對應的單位沖激響應hd(n),選擇對應窗函數進行截斷,再通過z變換得到H(z)。加窗截斷后的濾波器是物理可實現的,但是其在濾波性能上相較于理想低通濾波器存在一些差異。
理想低通濾波器不存在過渡帶,而加窗之后在ω=ωc的頻率點附近出現過渡帶,且其帶寬與窗函數的主瓣寬度呈正相關。在ω=ωc±2π/N頻率點附近出現肩峰值,兩側形成起伏震蕩,震蕩幅度和旁瓣的幅度和數量有關。為提高濾波器的性能,有窗函數的主瓣要求盡可能的窄,旁瓣幅度盡可能的小。在本實驗平臺的FIR濾波器設計中采用漢寧窗作為窗函數[8]。
通過過渡帶帶寬求出濾波器階數,之后通過階數得到漢寧窗的窗函數,加窗截斷后得到濾波器的單位沖激響應后,將加噪信號與濾波器的單位沖激響應進行卷積,即頻域相乘,完成濾波處理[8]。
以FIR低通濾波器為例進行濾波處理,原始信號選擇頻率為5 Hz,幅度為10 mV的正弦信號,噪聲信號為高斯白噪聲,選取通帶截止頻率為10 Hz,阻帶截止頻率為30 Hz。信號時域波形如圖4所示,幅度譜如圖5所示,相位譜如圖6所示。

圖4 信號時域波形

圖5 信號幅度譜

圖6 信號相位譜
下面進行通過FIR低通濾波進行濾波處理,濾波過后信號的時域波形,幅度譜及相位譜如圖7和圖8所示。

圖7 濾波信號時域波形

圖8 濾波信號幅度譜與相位譜
濾波之前的信噪比如圖9所示,約為7.967 2 dB,經FIR低通濾波過后所得的信號信噪比如圖10所示,提升到22.365 3 dB,信噪比大幅提升。

圖9 濾波之前信噪比

圖10 經FIR低通濾波過后的信噪比
在IIR濾波器實驗中,選用同樣的正弦信號,給定通帶截至頻率為100 Hz,阻帶截至頻率為200 Hz。IIR濾波過后的時域波形如圖11所示,幅度譜及相位譜如圖12所示。

圖11 濾波信號時域波形

圖12 濾波信號幅度譜與相位譜
經濾波處理后,信噪比由7.967 2 dB上升到圖13所示的13.080 4 dB。由于通帶截至頻率選取為100 Hz,阻帶截至頻率選取為200 Hz,有較多噪聲信號未被濾除,不夠顯著,進一步說明在設計濾波器時,截至頻率的選擇至關重要[9,10]。

圖13 濾波信噪比
本文介紹了IIR及FIR濾波器各自的特點及設計流程,通過設計基于MATLAB的數字信號實驗平臺,實現了信號產生、疊加噪聲、信號濾波以及頻譜分析,并計算了其信噪比,深入探討了IIR及FIR濾波器之間的差別。通過本實驗平臺,可了解到各種類型的濾波器,對課堂知識靈活應用并加以鞏固,便于后續更復雜的信號處理相關內容學習。