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