基于Matlab的FIR帶通濾波器設計及DSP實現
本文采用第二種方法。選擇菜單File→Export打開Export對話框,選擇Coefficient File(ASCII),指定輸出文件名,生成*fcf文件,就可以直接把生成的*fcf文件中的系數添加到DSP程序的變量中了。
在Matlab軟件平臺下,利用wavread函數對語音信號進行采樣,記住采樣頻率和采樣點數。采樣值放在向量y中,fS表示采樣頻率(單位:Hz),bits表示采樣位數。根據語音信號的特點給出數字帶通FIR濾波器的性能指標:設置通帶頻率fp1=1 200 Hz,fp2=3 000 Hz,阻帶頻率fs1=1 000 Hz,fs2=3 200 Hz,抽樣頻率fs=8 000 Hz,阻帶最小衰減As=50 dB,通帶最大衰減Ap=1 dB。這里采用窗函數設計法設計FIR帶通濾波器。首先根據阻帶衰減選擇窗形狀,海明窗和布萊克曼窗等窗函數均可提供大于50 dB的衰減。由于海明窗可提供較小的過渡帶,所以選擇海明窗。根據ωp1=2fp1/fs;ωs1=2fs1/fs,B(帶寬)=ωp1-ωs1,N(窗口長度)=ceil(6.6/B),n(階數)=N-1;算出階數為132。在FDATo ol設計界面,按要求填寫以上參數,得到FIR數字帶通濾波器的仿真圖像,如圖1所示。本文引用地址:http://www.104case.com/article/186064.htm
然后再用設計的FIR數字帶通濾波器對加噪的語音信號進行濾波。在Matlab中,FIR濾波器利用函數fftfilt對信號進行濾波。編寫Matlab程序如下,實現上述功能。
程序中“quzao”為錄制的波形音頻文件(.wav),對加噪的語音信號進行濾波仿真處理后,輸出結果如圖2所示。
評論