matlab課程設(shè)計--利用matlab仿真軟件系統(tǒng)結(jié)合窗函數(shù)法設(shè)計一個數(shù)字帶通fir濾波器_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  課程設(shè)計任務(wù)書</b></p><p>  題 目: 利用MATLAB仿真軟件系統(tǒng)結(jié)合窗函數(shù)法設(shè)計一個數(shù)字帶通FIR濾波器</p><p>  要求完成的主要任務(wù): </p><p>  1. 在數(shù)字信號處理平臺上(PC機﹑MATLAB仿真軟件系統(tǒng))進(jìn)行軟件仿真設(shè)計,并進(jìn)行調(diào)試和數(shù)據(jù)分析。</p>&

2、lt;p>  2. 利用MATLAB仿真軟件系統(tǒng)結(jié)合窗函數(shù)法設(shè)計一個數(shù)字帶通FIR濾波器。</p><p><b>  課程設(shè)計的目的:</b></p><p><b>  1.理論目的 </b></p><p>  課程設(shè)計的目的之一是為了鞏固課堂理論學(xué)習(xí),并能用所學(xué)理論知識正確設(shè)計濾波器。</p>

3、<p><b>  2.實踐目的</b></p><p>  課程設(shè)計的目的之二是通過設(shè)計濾波器掌握波處理的方法和步驟。</p><p><b>  時間安排:</b></p><p>  指導(dǎo)教師簽名: 年 月 日</p><

4、;p>  系主任(或責(zé)任教師)簽字: 年 月 日</p><p><b>  目 錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  1 原理說明1<

5、/b></p><p>  1.1 數(shù)字濾波技術(shù)1</p><p>  1.2 FIR濾波器2</p><p><b>  1.3 窗函數(shù)3</b></p><p><b>  2 濾波器設(shè)計4</b></p><p>  2.1 濾波器設(shè)計要求4</p

6、><p>  2.2 設(shè)計函數(shù)的選取4</p><p>  2.3 窗函數(shù)構(gòu)造5</p><p>  2.4 設(shè)計步驟7</p><p>  2.5 設(shè)計方法8</p><p>  3 濾波器測試16</p><p>  3.1 濾波器濾波性能測試16</p><p&

7、gt;  3.2 濾波器時延測量17</p><p>  3.3 濾波器穩(wěn)定性測量18</p><p><b>  4 心得體會20</b></p><p><b>  5 參考文獻(xiàn)21</b></p><p>  附件:MATLAB程序22</p><p><

8、;b>  摘要</b></p><p>  數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來達(dá)到頻域濾波的目的。根據(jù)其單位沖激響應(yīng)函數(shù)的時域特性可分為兩類:無限沖激響應(yīng)(IIR)濾波器和有限沖激響應(yīng)(FIR)濾波器。與IIR濾波器相比,F(xiàn)IR的實現(xiàn)是非遞歸的,總是穩(wěn)定的;更重要的是,F(xiàn)IR濾波器在滿足幅頻響應(yīng)要求的同時,可以獲得嚴(yán)格的線性相位特性。因此,它在高保真的信

9、號處理,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域得到廣泛應(yīng)用。</p><p>  濾波器的設(shè)計是信號處理的核心問題之一。根據(jù)FIR濾波器的原理,提出了FIR濾波器的窗函數(shù)設(shè)計法,給出了在MATLAB環(huán)境下,用窗函數(shù)法設(shè)計FIR濾波器的過程和設(shè)計實例。通過利用不同的窗函數(shù)方法設(shè)計FIR濾波器,對所設(shè)計的濾波器進(jìn)行分析比較,得出各種方法設(shè)計的濾波器的優(yōu)缺點及其不同的使用場合,從而可以在設(shè)計濾波器時能夠正確的選

10、擇FIR數(shù)字濾波器的窗函數(shù)的選取及設(shè)計方法。</p><p>  關(guān)鍵詞  MATLAB,數(shù)字濾波器,有限沖激響應(yīng),窗函數(shù),仿真,F(xiàn)IR</p><p><b>  Abstract</b></p><p>  Digital filter is a time discrete signal which is used to

11、 filter digital system, through the mathematical treatment of the sample data to achieve the frequency-domain filtering purposes. In accordance with its unit impulse response function of the time-domain characterist

12、ics can be divided into two categories: Infinite Impulse Response (IIR) filter and finite impulse response (FIR) filters. Compared with the IIR filters, FIR realization of a non-recursive, is always stable; more importan

13、tly, FIR</p><p>  Signal processing filter design is one of the core issues. According to the principle of FIR filters is proposed FIR filter window function design method is given in the MATLAB environ

14、ment, with the window function method for FIR filter design process and design examples. Through the use of different window functions designed FIR filter, the filter designed to analyze and compare a variety of met

15、hods designed to filter obtained the advantages and disadvantages of the use of their different occas</p><p>  Key words MATLAB, digital filters, finite impulse response, window function, simulation, FIR<

16、/p><p><b>  1 原理說明</b></p><p>  隨著信息時代的到來,數(shù)字信號處理已經(jīng)成為一門極其重要的學(xué)科和技術(shù),并且在通信、語音、圖像、自動控制等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號處理中,數(shù)字濾波器占有極其重要的地位,它具有精度高、可靠性好、靈活性大等特點?,F(xiàn)代數(shù)字濾波器可以用軟件或硬件兩種方式來實現(xiàn)。軟件方式實現(xiàn)的優(yōu)點是可以通過濾波器參數(shù)的改變?nèi)?/p>

17、調(diào)整濾波器的性能。</p><p>  MATLAB是一種面向科學(xué)和工程計算的語言,它集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,具有編程效率高、調(diào)試手段豐富、擴充能力強等特點。MATLAB的信號處理工具箱具有強大的函數(shù)功能,它不僅可以用來設(shè)計數(shù)字濾波器,還可以使設(shè)計達(dá)到最優(yōu)化,是數(shù)字濾波器設(shè)計的強有力工具。</p><p>  1.1 數(shù)字濾波技術(shù)</p><p&

18、gt;  數(shù)字濾波,就是通過一定的計算或判斷程序減少干擾在有用信號中的比重,故實質(zhì)上是一種程序濾波。與此對應(yīng)的就是模擬濾波,由于模擬濾波牽扯到的其他知識太多在此不詳細(xì)介紹了,模擬濾波主要無源濾波(直接用電阻、電容、電感等不外接電源的元件組成的)與有源濾波(如運算放大器等需要外接電源組成的),其目的是將信號中的噪音和干擾濾去或者將希望得到的頻率信號濾出為我所用。數(shù)字濾波的出現(xiàn)克服了模擬濾波的很多不足,具有以下優(yōu)點:</p>

19、<p>  A.是用程序?qū)崿F(xiàn)的,不需要增加硬設(shè)備,所以可靠性高,穩(wěn)定性好。</p><p>  B.可以對頻率很低的信號實現(xiàn)濾波,克服了模擬濾波的缺陷。</p><p>  C.可以根據(jù)信號的不同,采用不同的濾波方法或參數(shù),具有靈活、方便、功能強的特點。</p><p>  幾種常用的濾波方法:</p><p><b> 

20、 算術(shù)平均值法</b></p><p><b>  中值濾波法</b></p><p><b>  滑動平均值法</b></p><p><b>  限幅濾波法</b></p><p><b>  慣性濾波法</b></p>&l

21、t;p>  數(shù)字濾波技術(shù)通過數(shù)字濾波器實現(xiàn),從實現(xiàn)方法上可以分為FIR數(shù)字濾波器和IIR數(shù)字濾波器,按功能可分為低通濾波器(LPF)、高通濾波器(HPF)、帶通濾波器(BPF)和帶阻濾波器(BSF)。本文主要對FIR濾波器加以介紹。</p><p>  1.2 FIR濾波器</p><p>  FIR(Finite Impulse Response)濾波器,即有限長單位沖激響應(yīng)濾波器

22、,是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴(yán)格的線性相頻特性,同時其單位沖激響應(yīng)是有限的,沒有輸入到輸出的反饋,是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領(lǐng)域都有著廣泛的應(yīng)用,F(xiàn)IR濾波器具有以下主要優(yōu)點:</p><p>  1.FIR濾波器具有準(zhǔn)確的線性相位;</p><p>  2.FIR濾波器永遠(yuǎn)穩(wěn)定;</p><p

23、>  3.FIR濾波器設(shè)計方法一般是線性的;</p><p>  4.FIR濾波器在硬件上具有更高的運行效率;</p><p>  5.FIR濾波器啟動傳輸時間只需要有限時間。</p><p>  FIR濾波器的主要缺點有:</p><p>  1.FIR濾波器為達(dá)到同樣的性能要求需要比IIR濾波器高得多的階數(shù);</p>

24、<p>  2.相應(yīng)的FIR濾波器的時延比同等性能的IIR濾波器高很多。</p><p>  FIR濾波器的硬件實現(xiàn)主要有數(shù)字集成芯片,DSP芯片F(xiàn)IR濾波器,可編程FIR濾波器,后兩者的實際方法主要通過MATLAB軟件進(jìn)行設(shè)計,其設(shè)計方法多樣,形式靈活,能夠滿足各種要求,并且不受數(shù)字集成芯片規(guī)格的限制。</p><p>  FIR濾波器的設(shè)計方法主要有窗函數(shù)法、多帶和過渡帶、約

25、束最小二乘法、任意相應(yīng)法、升余弦法,其中最常用的是窗函數(shù)法。</p><p><b>  1.3 窗函數(shù)</b></p><p>  窗函數(shù)法是設(shè)計FIR濾波器的最主要方法之一,實際中遇到的離散時間信號總是有限長的,因此不可避免的要遇到數(shù)據(jù)截短的問題,在信號處理中,對離散序列的截短是通過序列與窗函數(shù)相乘來實現(xiàn)的。</p><p>  在信號處理

26、中,窗函數(shù)是一種除在給定區(qū)間之外取值均為0的實函數(shù)。譬如:在給定區(qū)間內(nèi)為常數(shù)而在區(qū)間外為0的窗函數(shù)被形象地稱為矩形窗。任何函數(shù)與窗函數(shù)之積仍為窗函數(shù),所以相乘的結(jié)果就像透過窗口“看”其他函數(shù)一樣。窗函數(shù)在光譜分析、濾波器設(shè)計以及音頻數(shù)據(jù)壓縮等方面有廣泛的應(yīng)用。</p><p>  常用的窗函數(shù)有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming)窗、漢寧(Hanning)窗、布萊克曼(Black

27、man)窗、切比雪夫(Chebyshev)窗、凱澤(Kaiser)窗。</p><p><b>  2 濾波器設(shè)計</b></p><p>  2.1 濾波器設(shè)計要求</p><p>  利用MATLAB仿真軟件系統(tǒng)結(jié)合窗函數(shù)法設(shè)計一個數(shù)字帶通FIR濾波器。</p><p>  要求:分別使用矩形窗、三角形窗、漢明窗、布

28、萊克曼窗、凱澤窗進(jìn)行設(shè)計,并輸出濾波器的頻率特性。</p><p><b>  技術(shù)指標(biāo):</b></p><p>  采樣頻率為20kHz;</p><p>  通帶邊緣頻率:fp1=4.5kHz,fp2=6.5kHz;</p><p>  通帶峰值起伏:αp<1dB;</p><p> 

29、 阻帶邊緣頻率:fs1=3k,fs2=7.5k;</p><p>  最小阻帶衰減:As>40dB</p><p>  2.2 設(shè)計函數(shù)的選取</p><p>  MATLAB信號處理工具箱提供了基于加窗的線性相位FIR濾波器設(shè)計函數(shù)fir1和fir2,fir1函數(shù)的調(diào)用格式為:</p><p>  b=fir1(n,Wn)</p

30、><p>  b=fir1(n,Wn,'ftype')</p><p>  b=fir1(n,Wn,window)</p><p>  b=fir1(n,Wn,'ftype',window)</p><p>  b=fir1(…..,'normalization')</p><p

31、><b>  函數(shù)參數(shù)說明如下:</b></p><p>  1.n表示濾波器的階數(shù)</p><p>  2.'ftype'表示所設(shè)計濾波器的類型:</p><p>  3.'high'表示高通濾波器</p><p>  4.'stop'表示帶阻濾波器</p&g

32、t;<p>  5.'DC-1'表示多通帶濾波器,第一頻帶為通帶</p><p>  6.'DC-0'表示多通帶濾波器,第一頻帶為阻帶;默認(rèn)時為低通或帶通濾波器;</p><p>  7.'window'為窗函數(shù),是長度為n+1的列向量,默認(rèn)時函數(shù)自動取Hamming窗。</p><p>  該函數(shù)實現(xiàn)加

33、窗的線性相位FIR濾波器設(shè)計,可以設(shè)計標(biāo)準(zhǔn)低通、帶通、高通和帶阻濾波器(具有任意頻率響應(yīng)的加窗濾波器可以采用fir2進(jìn)行設(shè)計)</p><p><b>  2.3 窗函數(shù)構(gòu)造</b></p><p>  MATLAB工具箱已經(jīng)提供了各種窗函數(shù)的構(gòu)造函數(shù),因而窗函數(shù)的構(gòu)造十分方便,下面給出幾種常用窗函數(shù)的構(gòu)造方法:</p><p>  1.矩形窗

34、:利用w=boxcar(n)的形式得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,它的元素由窗函數(shù)的值組成?!畐=boxcar(n)’等價于‘w=ones(1,n)’.</p><p>  2.三角窗:利用w=triang(n)的形式得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,它的元素由窗函數(shù)的值組成。w=triang(N-2)等價于bartlett(N)。</p>

35、<p>  3.漢寧窗:利用w=hanning(n)得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,包含了窗函數(shù)的n個系數(shù)。</p><p>  4.海明窗:利用w=hamming(n)得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,包含了窗函數(shù)的n個系數(shù)。它和漢寧窗的主瓣寬度相同,但是它的旁瓣進(jìn)一步被壓低。</p><p>  5.布拉克曼窗:利用w

36、=blackman(n)得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,包含了窗函數(shù)的n個系數(shù)。它的主瓣寬度是矩形窗主瓣寬度的3倍,為12*pi/N,但是它的最大旁瓣值比主瓣值低57dB。</p><p>  6.切比雪夫窗:它是等波紋的,利用函數(shù)w=chebwin(N,R)方式設(shè)計出N階的切比雪夫2窗函數(shù),函數(shù)的主瓣值比旁瓣值高RdB,且旁瓣是等波紋的。</p><p> 

37、 7.巴特里特窗:利用w=bartlett(n)的形式得到窗函數(shù),其中n為窗函數(shù)的長度,而返回值w為一個n階的向量,包含了窗函數(shù)的n個系數(shù)。</p><p>  8.凱澤窗:利用w=kaiser(n,beta)的形式得到窗函數(shù)。</p><p>  2.3.1 窗函數(shù)設(shè)計條件</p><p>  在使用窗函數(shù)設(shè)計濾波器時要滿足以下兩個條件:</p>&

38、lt;p>  1.窗譜主瓣盡可能地窄,從而可以獲得較陡峭的過渡帶;</p><p>  2.盡量減少窗譜的最大旁瓣的相對幅度,及盡可能是能量集中于主瓣,減少峰肩和波紋,進(jìn)而增加阻帶的衰減。</p><p>  2.3.2 窗函數(shù)設(shè)計條件</p><p>  實際工程常用的窗函數(shù)有五種,即矩形窗、三角窗、漢寧窗、海明窗和凱澤窗。這些窗函數(shù)之間的性能比較如表1所示

39、。</p><p>  表15種窗函數(shù)性能比較</p><p>  常用窗函數(shù)繪圖比較:</p><p>  在MATLAB中運行以下代碼:</p><p><b>  代碼2-1:</b></p><p><b>  n=50;</b></p><p&

40、gt;<b>  x=1:50;</b></p><p>  juxing=boxcar(n); %構(gòu)造矩形窗</p><p>  sanjiao=triang(n); %構(gòu)造三角窗</p><p>  hanming=hamming(n); %構(gòu)造漢明窗</p><p>  bu

41、laikeman=blackman(n); %構(gòu)造布萊克曼窗</p><p>  kaize=kaiser(n); %構(gòu)造凱澤窗</p><p>  plot(x,juxing,'b.',x,sanjiao,'gx',x,hanming,'r+',x,bulaikeman,'cd',x,kaize,

42、9;k*');</p><p>  legend('矩形窗','三角窗','漢明窗','布萊克曼窗','凱澤窗'); </p><p>  運行結(jié)果如圖1所示:</p><p>  圖15種窗函數(shù)繪圖比較</p><p><b>  2.4 設(shè)

43、計步驟</b></p><p>  實際利用窗函數(shù)法進(jìn)行FIR濾波器設(shè)計時,依據(jù)所給的技術(shù)指標(biāo)一般需要經(jīng)過以下幾個步驟進(jìn)行設(shè)計:</p><p>  給定理想的頻率響應(yīng)函數(shù)Hd(ejw)及技術(shù)指標(biāo);</p><p>  求出理想的單位抽樣響應(yīng)hd(n);</p><p>  根據(jù)阻帶衰減選擇窗函數(shù)w(n)</p>&

44、lt;p>  根據(jù)過渡帶寬度確定N值;</p><p>  求出所設(shè)計的FIR濾波器的單位抽樣響應(yīng);</p><p>  計算頻率響應(yīng),驗算指標(biāo)是否滿足要求。</p><p><b>  2.5 設(shè)計方法</b></p><p>  MATLAB作為一款優(yōu)秀的數(shù)值計算軟件,本身就內(nèi)置了豐富的函數(shù),其中便有用于通信仿

45、真的一系列函數(shù),并且MATLAB中還集成了通信設(shè)計的工具箱,不管是內(nèi)置的函數(shù),還是通信工具箱,均有專用于濾波器設(shè)計的工具,常用的主要有用函數(shù)法設(shè)計和用通信工具箱設(shè)計,下面分別予以介紹。</p><p>  2.5.1 依據(jù)設(shè)計步驟編寫M文件設(shè)計</p><p>  此種方法不依賴MATLAB中的濾波器設(shè)計函數(shù),而是依據(jù)FIR濾波器的設(shè)計步驟自己求解理想濾波器的沖擊響應(yīng),然后用窗函數(shù)對沖擊響

46、應(yīng)進(jìn)行截短,從而得到FIR濾波器,由于低通濾波器設(shè)計較為簡單,因而可以通過兩個低通的理想沖擊響應(yīng)函數(shù)相減得到理想帶通的沖擊響應(yīng),再通過窗函數(shù)對其截短,從而得到實際可行的FIR濾波器,這里以用漢明窗進(jìn)行截短實現(xiàn)帶通FIR濾波器,關(guān)鍵代碼如下(完整代碼見附頁):</p><p><b>  代碼2-2:</b></p><p>  wp1=0.3*pi; ws1=0.45

47、*pi;</p><p>  wp2=0.65*pi; ws2=0.75*pi;</p><p>  tr_width=ws1-wp1;%求過渡帶寬度</p><p>  M=ceil(6.6*pi/tr_width)+1;%求得所需窗函數(shù)的長度</p><p>  n=[0:1:M-1];</p>&l

48、t;p>  wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2;%求截止頻率</p><p>  hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);%求得理想帶通的沖擊響應(yīng)</p><p>  w_ham=(hamming(M))';%得到長度為M的漢明窗</p><p>  h=hd .* w_

49、ham;%利用窗函數(shù)截短</p><p><b>  程序運行結(jié)果:</b></p><p>  圖2漢明窗帶通濾波器</p><p>  2.5.2 利用MATLAB自帶函數(shù)設(shè)計</p><p>  利用原理說明介紹的fir1函數(shù)進(jìn)行設(shè)計,這種設(shè)計方法只需要給出濾波器的階數(shù),截止頻率,窗函數(shù)等參數(shù),M

50、ATLAB即可自行完成設(shè)計,并可通過freqz函數(shù)查看濾波器的幅頻響應(yīng)和相頻響應(yīng),已驗證濾波器是否滿足設(shè)計要求,下面給出利用fir1函數(shù)設(shè)計的不同窗函數(shù)的數(shù)字帶通濾波器。</p><p><b>  利用矩形窗進(jìn)行設(shè)計</b></p><p><b>  代碼2-2:</b></p><p>  fs=20000;

51、 %設(shè)定采樣頻率</p><p>  fp1=4500;fp2=6500; %第一截止頻率</p><p>  fs1=3000;fs2=7500; %第二截止頻率</p><p>  As=40;

52、 %最小阻帶衰減</p><p>  Ws1=(fp1+fs1)/fs;Ws2=(fp2+fs2)/fs; %截止頻率歸一化處理</p><p>  w=(fp1-fs1)/fs; %求歸一化過渡帶</p><p>  M=ceil((As-7.95)/(14.36*w))

53、%計算所需濾波器的階數(shù)</p><p>  juxing=boxcar(M+1); %生成長度為M+1的矩形窗</p><p>  boxb=fir1(M,[Ws1,Ws2],juxing); %生成矩形窗設(shè)計的fir濾波器</p><p>  freqz(boxb,1,fs,fs);

54、 %繪制幅頻和相頻響應(yīng)曲線</p><p><b>  運行結(jié)果:</b></p><p>  圖3 矩形窗fir濾波器幅頻和相頻響應(yīng)曲線</p><p>  從幅頻響應(yīng)上看,通帶基本無波紋,阻帶中波紋較大,因而阻帶較不理想,相頻響應(yīng)曲線在通帶內(nèi)為直線,效果較好,信號失真小。 </p><p><b> 

55、 利用三角窗進(jìn)行設(shè)計</b></p><p>  利用三角窗進(jìn)行設(shè)計時,原理與矩形窗基本相同,只不過生成窗函數(shù)時采用triang()函數(shù)生成三角窗,程序運行結(jié)果如下:</p><p>  圖4 三角窗設(shè)計的fir濾波器幅頻和相頻響應(yīng)曲線</p><p><b>  利用漢明窗進(jìn)行設(shè)計</b></p><p>

56、  利用漢明窗進(jìn)行設(shè)計時,原理與矩形窗基本相同,只不過生成窗函數(shù)時采用hamming()函數(shù)生成三角窗,程序運行結(jié)果如下:</p><p>  圖5 漢明窗設(shè)計的fir濾波器幅頻和相頻響應(yīng)曲線</p><p>  利用布萊克曼窗進(jìn)行設(shè)計</p><p>  利用布萊克曼窗進(jìn)行設(shè)計時,原理與矩形窗基本相同,只不過生成窗函數(shù)時采用blackman()函數(shù)生成三角窗,程序

57、運行結(jié)果如下:</p><p>  圖6 布萊克曼窗設(shè)計的fir濾波器幅頻和相頻響應(yīng)曲線</p><p><b>  利用凱澤窗進(jìn)行設(shè)計</b></p><p>  利用凱澤窗進(jìn)行設(shè)計時,濾波器的參數(shù)可以用以下函數(shù)求得:調(diào)用函數(shù)[n,wn,bta,ftype]=kaiserord(f,a,dev,fs)</p><p>

58、  參數(shù):1)f為對應(yīng)的歸一化頻率</p><p>  2)a為由f指定的各個頻帶上的幅值向量,一般只有0和1,和f長度關(guān)系為(2*a的長度)—2=(f的長度)</p><p>  3)devs用于指定各個頻帶輸出濾波器的頻率響應(yīng)與其期望幅值之間的最大輸出誤差或偏差,長度與a相等。</p><p>  4)fs為信號的采樣頻率。</p><p&

59、gt;  利用該函數(shù)修改代碼得到凱澤窗設(shè)計fir濾波器的代碼如下:</p><p><b>  代碼2-3</b></p><p>  fs=20000; %設(shè)定采樣頻率</p><p>  fp1=4500;fp2=6500; %第一截止頻率<

60、/p><p>  fs1=3000;fs2=7500; %第二截止頻率</p><p>  [n,wn,bta,ftype]=kaiserord([fs1,fp1,fp2,fs2],...</p><p>  [0,1,0],[0.01 0.1087 0.01],fs) %求濾波器參數(shù)</p><p>

61、;  b=fir1(n,wn,ftype,kaiser(n+1,bta)); %生成fir濾波器</p><p>  freqz(b,1,fs,fs); %繪制幅頻和相頻響應(yīng)曲線</p><p><b>  程序運行結(jié)果:</b></p><p>  圖7 凱澤窗設(shè)計的fir濾波器幅頻和相頻響應(yīng)曲線&

62、lt;/p><p>  2.5.3利用MATLAB工具箱設(shè)計</p><p>  MATLAB信號處理工具箱中已集成了用于濾波器設(shè)計和分析的工具:FDATool,利用它可以實現(xiàn)數(shù)字濾波器的可視化設(shè)計與分析,操作簡單方便,在MATLAB命令行中輸入fdatool命令即可打開濾波器設(shè)計工具,運行界面如圖2-2所示:</p><p>  圖8FDATool運行界面</

63、p><p>  通過選擇濾波器的類型,設(shè)計方法,截止頻率和其他一些相應(yīng)參數(shù)后,點擊Design即可得到濾波器的幅頻響應(yīng)曲線,在analysis菜單中可以選擇查看相頻響應(yīng),群時延,相時延等曲線,并且利用該工具箱設(shè)計的濾波器可以直接在simulink仿真中應(yīng)用進(jìn)行信號仿真,十分方便。</p><p>  利用FDATool設(shè)計的凱瑟窗fir濾波器幅頻響應(yīng)和相頻響應(yīng)如下:</p>&l

64、t;p>  圖9 FDATool設(shè)計的凱瑟窗fir濾波器幅頻響應(yīng)</p><p>  圖10 FDATool設(shè)計的凱瑟窗fir濾波器相頻響應(yīng)</p><p><b>  3 濾波器測試</b></p><p>  利用MATLAB中提供的filter函數(shù)可以選擇不同的濾波器對數(shù)字信號進(jìn)行濾波,這里主要對濾波器的濾波性能進(jìn)行簡單測試,這

65、里主要針對濾波器的濾波性能和時延特性的測量。</p><p>  3.1 濾波器濾波性能測試</p><p>  由MATLAB模擬生成含有不同頻率的數(shù)字信號,然后利用設(shè)計的濾波器對數(shù)字信號進(jìn)行濾波,為方便觀察,模擬生成的信號只含有包含在阻帶的兩個頻率(2000Hz,8000Hz)一個包含于通帶的頻率(5000Hz),測試代碼如下:</p><p><b>

66、;  代碼2-4:</b></p><p><b>  fs=20000;</b></p><p>  t=0:1/fs:2; </p><p>  x=sin(2*pi*2000*t)+sin(2*pi*5000*t)...</p><p>  +sin(2*p

67、i*8000*t); %生成混合信號</p><p>  xo=filter(b,2,xn); %用濾波器對信號進(jìn)行濾波</p><p><b>  figure;</b></p><p>  nn=5000:5100; %取一

68、段信號</p><p>  subplot(211);</p><p><b>  tt=nn/fs;</b></p><p>  plot(tt,x(nn)); %繪制原始信號</p><p>  axis([0.25,0.255,-4,4]);</p><p>  ylabel(

69、'原始信號');xlabel('時間');</p><p>  subplot(212);</p><p>  plot(tt,xo(nn)); %繪制濾波后的信號</p><p>  axis([0.25,0.255,-0.5,0.5]);</p><p>  ylabel('濾波后的信

70、號');xlabel('時間');</p><p><b>  運行結(jié)果:</b></p><p>  圖11濾波器濾波性能測試波形</p><p>  從原始型號和濾波后的信號對比可以看出,在用設(shè)計的濾波器進(jìn)行濾波后信號基本成單一頻率的正弦波,濾波結(jié)果令人滿意。</p><p>  3.2 濾

71、波器時延測量</p><p>  濾波器的時延特性也是濾波器的性能指標(biāo)之一,為了觀測所設(shè)計濾波器的時延,可以利用一個還有一單一沖擊的數(shù)字信號序列通過濾波器觀測濾波器的輸出波形,相對于濾波性能的測量只是在原始信號產(chǎn)生方法上有所不同,這里僅給出運行結(jié)果:</p><p>  圖12濾波器時延性能測試波形</p><p>  從圖上看,濾波器仍然有一定的時延,這也是fi

72、r濾波器的缺點之一,并且時延與濾波器濾波性能相矛盾,濾波器的時延隨濾波器階數(shù)的升高而增加,實際設(shè)計時要綜合考慮兩方面的因素。</p><p>  3.3 濾波器穩(wěn)定性測量</p><p>  FIR濾波器的一個突出優(yōu)點便是它的穩(wěn)定性,從信號與系統(tǒng)的理論可知,當(dāng)一個系統(tǒng)的Z域的傳遞函數(shù)的極點都在單位圓內(nèi)時系統(tǒng)是穩(wěn)定的,F(xiàn)IR濾波器的傳遞函數(shù)的分母為1,即FIR濾波器一定是穩(wěn)定的,MATLAB

73、中也提供了專門用于繪制零極點圖的函數(shù):zplane(),通過該函數(shù)可以輕松繪制系統(tǒng)的零極點圖,以凱澤窗設(shè)計的FIR濾波器為例,繪制其零極點圖如下:</p><p>  圖13凱澤窗FIR濾波器零極點圖</p><p>  從該零極點圖可以看出,F(xiàn)IR設(shè)計的濾波器是屬于無極點的系統(tǒng),因而系統(tǒng)一定是穩(wěn)定的。</p><p>  從上面對濾波器三方面的測試可以看出FIR

74、濾波器的特點,第一個便是其相位曲線,在通帶內(nèi),相頻曲線一定為直線,二是FIR濾波器由于階數(shù)比較高,因而有一定的時延,三是FIR濾波器一定是穩(wěn)定的。</p><p><b>  4 心得體會</b></p><p>  本次MATLAB課程設(shè)計主要任務(wù)是完成FIR濾波器的設(shè)計,對我來說這個題目還是很有挑戰(zhàn)性的,因為自己對MATLAB中有關(guān)濾波器的設(shè)計知識了解較少,但正是

75、這種有挑戰(zhàn)性的題目才能提高自己的能力,才有研究價值,入手這個題目后我查閱了相關(guān)的資料,也從網(wǎng)上獲得了不少有關(guān)MATLAB設(shè)計濾波器的資料,加上自己之間對MATLAB有一定的了解,因而設(shè)計思路漸漸明朗,經(jīng)過自己的不斷嘗試和探索,終于弄明白了FIR濾波器的工作原理,通過查閱相關(guān)資料和研究MATLAB中提供的幫助信息,我也明白了FIR濾波器設(shè)計相關(guān)的一些函數(shù)的使用方法,并用它們來設(shè)計FIR濾波器,最終完成了題目。</p><

76、;p>  在設(shè)計過程中,我也遇到了很多不懂得地方,程序經(jīng)常出現(xiàn)錯誤,尤其是在利用所設(shè)計的濾波器對模擬出來的數(shù)字序列濾波時,出現(xiàn)很多錯誤,但經(jīng)過自己的不斷努力和嘗試,最終還是解決了問題。</p><p>  總之,通過本次課程設(shè)計,我收獲很大,不只是學(xué)會了用MATLAB設(shè)計FIR濾波器,而是學(xué)會了自己學(xué)習(xí)新知識的一種方法。</p><p><b>  5 參考文獻(xiàn)</b

77、></p><p>  葛哲學(xué),精通MATLAB.電子工業(yè)出版社,2008</p><p>  陳亞勇,MATLAB信號處理詳解.人民郵電出版社,2008</p><p>  維基百科,http://zh.wikipedia.org</p><p>  周開利,鄧春輝,MATLAB基礎(chǔ)及其應(yīng)用教程.北京大學(xué)出版社,2007</p&

78、gt;<p>  趙靜,張瑾,基于MATLAB的通信系統(tǒng)仿真.北京航空航天大學(xué)出版社,2006</p><p>  宋壽鵬,數(shù)字濾波器設(shè)計及工程應(yīng)用.江蘇大學(xué)出版社,2007</p><p>  普??酥狡G梅譯數(shù)字信號處理(第四版).電子工業(yè)出版社,2007</p><p><b>  MATLAB程序:</b></p&

79、gt;<p>  漢明窗帶通濾波器設(shè)計源代碼:</p><p>  wp1=0.3*pi; ws1=0.45*pi;</p><p>  wp2=0.65*pi; ws2=0.75*pi;</p><p>  tr_width=ws1-wp1;%求過渡帶寬度</p><p>  M=ceil(6.6*pi/tr_w

80、idth)+1;%求得所需窗函數(shù)的長度</p><p>  n=[0:1:M-1];</p><p>  wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2;%求截止頻率</p><p>  hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);%求得理想帶通的沖擊響應(yīng)</p><p> 

81、 w_ham=(hamming(M))';%得到長度為M的漢明窗</p><p>  h=hd .* w_ham;%利用窗函數(shù)截短</p><p><b>  %繪圖部分</b></p><p>  subplot(1,1,1)</p><p>  subplot(2,2,1); st

82、em(n,hd,'.'); title('理想沖擊響應(yīng)')</p><p>  axis([0 M-1 -0.3 0.4]); xlabel('n'); ylabel('hd(n)')</p><p>  subplot(2,2,2); stem(n,w_ham,'.');title('漢明窗'

83、)</p><p>  axis([0 M-1 0 1.1]); xlabel('n'); ylabel('w(n)')</p><p>  subplot(2,2,3); stem(n,h,'.');title('實際沖擊響應(yīng)')</p><p>  axis([0 M-1 -0.3 0.4]); x

84、label('n'); ylabel('h(n)')</p><p>  subplot(2,2,4); plot(w/pi,db);title('幅頻響應(yīng)');</p><p>  axis([0 1 -100 10]); xlabel('f'); ylabel('dB')</p><p&

85、gt;  理想沖擊響應(yīng)求解函數(shù):</p><p>  function hd = ideal_lp(wc,M);</p><p>  alpha = (M-1)/2;</p><p>  n = [0:1:(M-1)];</p><p>  m = n - alpha + eps;%加入一個無窮小量,避免除零</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論