資源描述:
《基于matlab的fir濾波器設(shè)計與仿真》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、學(xué)號:054100603姓名:陳文珠班級:電信051基于Matlab的FIR濾波器設(shè)計與仿真實驗地點:曹光彪信息樓219實驗日期:7月13日至7月18日一、實驗?zāi)康?、掌握基本的MATLAB編程方法;2、理解FIR濾波器的設(shè)計原理;3、學(xué)會用MATLAB來編程實現(xiàn)FIR濾波器;4、掌握基本的simulink交互式仿真,并對FIR濾波器模型并進行仿真;5、學(xué)會對所得的結(jié)果進行分析。二、實驗內(nèi)容1、制作數(shù)據(jù)源:用電腦采集或用軟件截取5至10秒的語音(如“寧波大學(xué)”...)(注意用wavread函數(shù)將
2、語音文件讀入到matlab時,有“右聲道”和“左聲道”兩個信號,只要將其中一個聲道作為信號就可以。)2、信號中混入隨機噪聲(注意信噪比,噪聲強度不要太大):事先取一個參考值為0,再取噪聲的方差,方差的取值是根據(jù)原始語音的幅度取的噪聲,噪聲強度不宜過大或過小,適中即可。然后通過randn(size(a)).*sqrt(noise_var)+noise_mu;語句產(chǎn)生與原始語音長度相同的隨機噪聲,最后把這個噪聲添加到原始語音中,得到加噪語音信號。3、設(shè)計一個FIR濾波器對前面的混合信號進行處理、降低
3、噪聲,并對性能進行分析:有限長單位沖激響應(yīng)(FIR)數(shù)字濾波器具有嚴(yán)格的線性相位,又具有任意的幅頻特性。同時FIR系統(tǒng)只有零點,系統(tǒng)是穩(wěn)定的,因而容易實現(xiàn)線性相位和允許實現(xiàn)多通道濾波器。只要經(jīng)過一定的延時,任何非因果有限長序列都能變成因果的有限長序列,因而總能用因果系統(tǒng)來實現(xiàn)。FIR濾波器由于單位沖激響應(yīng)是有限長的,可以用快速傅立葉變換(FFT)算法來實現(xiàn)過濾信號,從而大大提高運算效率。由于FIR濾波器具有以上優(yōu)點,在信號處理和數(shù)據(jù)傳輸中得到了廣泛的應(yīng)用。運用窗函數(shù)設(shè)計濾波器是FIR數(shù)字濾波器設(shè)
4、計的主要方法之一,由于運算簡單,又有閉合形式的公式可循,因而很實用。有限長FIR數(shù)字濾波器的設(shè)計方法主要是窗函數(shù)設(shè)計法。常用的窗函數(shù)有以下幾種,矩形窗,三角窗,漢寧窗,海明窗,布拉克曼窗,凱澤窗(β=7.865),各種窗函數(shù)基本參數(shù)比較如下表1。由表1得矩形窗雖然簡便,但存在明顯的吉布斯效應(yīng),主瓣和第一旁瓣之比只有13dB,為了克服這些缺陷,設(shè)計時可根據(jù)給定的濾波器技術(shù)指標(biāo),選擇濾波器長度M和窗函數(shù)w(n),使其具有最窄寬度的主瓣和最小旁瓣12--學(xué)號:054100603姓名:陳文珠班級:電信0
5、514、用Simulink設(shè)計FIR濾波器模型并進行仿真,所得結(jié)果進行分析:Simulink創(chuàng)建模型并尋找解決實際問題的方法,可以用它輕松地搭建一個系統(tǒng)模型,并設(shè)置模型參數(shù)和仿真參數(shù)。由于Simulink是交互式的應(yīng)用程序,因此在仿真過程中,可以在線修改仿真參數(shù),并立即觀察到改變后的仿真結(jié)果。本文將介紹在Simulink環(huán)境下應(yīng)用數(shù)字濾波器設(shè)計模塊進行信號處理(濾波)的可視化設(shè)計技術(shù)。由于調(diào)用了Matlab高度集成化和可視化的計算機仿真環(huán)境,用戶可以不用編寫任何程序語句,僅僅通過鼠標(biāo)拖放和點擊操
6、作,就可完成復(fù)雜的數(shù)字濾波器的設(shè)計工作。下面通過一個應(yīng)用示例介紹這種基于可視化的信號濾波技術(shù),用數(shù)字濾波器設(shè)計模塊(DigitalFilterDesignBlock)設(shè)計、分析和實現(xiàn)濾波器。三、實驗結(jié)果與分析1、制作數(shù)據(jù)源:我用電腦錄制了同學(xué)的一段語音,內(nèi)容是:現(xiàn)代語音處理技術(shù)。該語音大概有4,5秒之長。然后用wavread函數(shù)將語音文件讀入到matlab中,其實現(xiàn)的語句如下:[a,fs]=wavread('現(xiàn)代語音處理技術(shù).wav');%讀入語音a=a(:,1);從中我們知道fs語音的采樣頻率
7、。2、信號中混入隨機噪聲:noise_mu=0;noise_var=0.005;a0=randn(size(a)).*sqrt(noise_var)+noise_mu;a1=a+a0;事先取一個參考值為0,再取噪聲的方差為0.005,0.005是根據(jù)原始語音的幅度取的噪聲,噪聲強度不宜過大或過小,適中即可。然后通過randn(size(a)).*sqrt(noise_var)+noise_mu;語句產(chǎn)生與原始語音長度相同的隨機噪聲,最后把這個噪聲添加到原始語音中,得到a1是信號中混入隨機噪聲的的
8、語音。3、設(shè)計一個FIR濾波器:3.1、FIR濾波器設(shè)計的原理:①先對原始語音進行FFT變換,從FFT圖中得到passband和stopband從中我們可以知道了FIR濾波器的截止頻率。確定我們選擇是用低通,高通還是帶通來處理加噪語音。②然后我們通過:fedge=input('BandedgesinHz=');mval=input('Desiredmagnitudevaluesineachband=');dev=input('Desiredrippleineachband=');FT=input