基于Matlab的數字濾波器設計研究型實驗探討
1引言
"數字信號處理"是電子信息專業的一門理論和實踐性都很強的主干課程,該課程一般安排在三、四年級,學生在學習該課程時,普遍感到概念抽象,公式繁多。因此,如果在實驗課程中讓學生動手動腦進行一些綜合性的研究型實驗,則可幫助學生理解與掌握課程中的基本概念,基本分析方法,地方學生的動手能力,科研能力和創新能力。數字信號處理實驗可分為基于dsp的硬件實驗和基于matlab的軟件仿真實驗,以數字濾波器設計軟件仿真實驗為例進行研究型實驗探討。
2 研究型實驗特點
研究型實驗要求學生帶著問題測取數據,查閱資料,摸索實驗規律,得出結論,這種實驗是一種開放型的,其完成的過程接近實際科研探索過程。其特點是,教師提出實驗課題和實驗項目,實驗室提供條件,學生自行推證有關理論,自行確定實驗方案,寫出完整的實驗報告,學生通過實驗,能加深對課程的理解,提高綜合運用所學知識解決實際問題的能力,得出科學研究的前期訓練。
3 數字濾波器設計研究型實驗
該實驗項目的構想是,首先采集含噪信號,例如語音信號或人體心電圖信號,根據含噪信號的頻譜,用窗函數法或雙線性變換法設計相應的數字濾波器進行濾波,得出濾波前后的頻譜,分析信號的變化,最后設計一個信號處理系統界面。以對含噪語音信號的處理為例,給出了實驗的過程和結果。
3.1 采集語音信號
利用計算機windows下的錄音機設備,可以采集語音信號并采樣,得出數據文件hysy.wav在matlab的搜索路徑下,鍵入:
[x,fs,nbits] =wavread(′hysywdx.wav′);
得到聲音數據變量x,同時也罷x的采樣頻率fs=8khz和數據位nbits=8bit放進了matlab的工作空間。下面構造干擾信號:cl=10※sin(2※pi※2000※t);
把聲音數據變量x和干擾信號變量c1相加得含有噪聲的語音信號x1并播放:
sound(x1,fs);
通過揚聲器可以明顯聽到"衡陽師院"的聲音下伴隨較尖銳的干擾嘯叫聲。圖1(b)是伴有噪聲的語音信號x1的頻譜。x1的頻譜在2000hz處有一高峰,這正是干擾所造成的。
3.2設計數字濾波器
根據待處理語音信號x1的特點,應該設計數字帶阻濾波器進行濾波處理,給出數字帶阻濾波器歸一化的性能指標:
fo=2000/4000;fc=100/4000
ws=[fo-0.5※fc fo+0.5※fc];wp=[fo-fc fo+fc];
rp=1;rs=30;
可以采用fir或iir數字濾波器來實現,利用matlatwb軟件,采用iir數字濾波器設計方法,實現帶阻濾波器的設計、程序如下:
[n,wc]=buttord(wp,ws,rp,rs);=求出巴特沃斯數字濾波器的階數頻率參數
[b,a]=butter(n,wc,stop);%設計帶阻濾波器的系數
[h,w]=freqz(b,a,fs);
3.3 用濾波器對含噪語音信號進行濾波
利用設計的帶阻濾波器對采集的語音信號x1進行濾波并進行fft變換:
x2=filter(b,a,xl);
y2=fft(x2,fs)
sound(x2,fs)
通過揚聲器重播經過濾波的語音信號,可以聽到不含噪聲的"衡陽師院"的聲音,圖1(d)是濾去干擾噪聲的語音信號x2的頻譜。由圖1(a)(b)(d)的頻譜對比可看出,濾波器成功地抑制了語音信號中的干擾。
圖1在濾波器濾波過程,其中,(a)圖對應原始語音信號頻譜;(b)圖對應含噪語音信號頻譜;(c)圖對應帶阻濾波器幅頻特性;(d)圖對應濾波后的語音信號頻譜。
3.4 設計gui界面
設計處理系統的用戶界面,在所設計的系統界面上可以選擇濾波器的參數,顯示濾波器的頻率響應,選擇信號等,因學生能力不同,該項內容可以選做。
3.5 實驗總結
要求學生實驗后寫出總結報告,本實驗的報告包含以下幾個方面:
(1)寫出實驗的過程。
(2)對信號采集、采樣的認識。
(3)對數字濾波器設計的認識。
(4)對信號濾波效果的分析。
(5)本實驗對科研思路的啟示。
4 結 語
在完成本實驗的過程中,教師只給出了實驗的思路,實驗中信號的太極,濾波器的設計及濾波前后頻譜的變化和濾波效果都是學生自己提出問題,一起討論,查閱資料,修改參數,進一步食言而完成的。通過實驗,學生對信號的采集,處理、傳輸,現實和存儲等也有一個較系統的掌握和理解,加深了對課堂抽象知識的理解,鞏固了數字信號處理和理論知識。












評論