MATLAB的 FIR數(shù)字濾波器
《MATLAB的 FIR數(shù)字濾波器》由會員分享,可在線閱讀,更多相關《MATLAB的 FIR數(shù)字濾波器(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢業(yè)論文 基于 MATLAB的 FIR數(shù)字濾波器設計 [摘要]數(shù)字濾波器是由數(shù)字乘法器、加法器和延時單元組成的一種裝置。其功能是對輸入的數(shù)字信號進行運算處理,以達到改變信號頻譜的目的。隨著電子計算機技術和大規(guī)模集成電路的發(fā)展,數(shù)字濾波器既可用計算機軟件實現(xiàn),也可用大規(guī)模集成數(shù)字硬件實時實現(xiàn)。目前常用的 FIR 濾波器的設計方法主要有三種:窗函數(shù)法、頻率采樣法和最優(yōu)化設計法。本文針對三種設計方法基于 MATLAB進行 FIR各種形式濾波器的設計與仿真,并比 較了三種方法的特點。結果表明,在同樣的設計指標下,利用等波紋切比雪夫逼近法則的設 計可以獲得最佳的頻率特性和衰耗特性,具有通帶和阻帶
2、平坦,過渡帶窄等優(yōu)點。 [關鍵詞] FIR 濾波器 MATLAB 窗函數(shù)法 頻率采樣法 等波紋切比雪夫逼近法 Design of FIR Digital Filter Based on MATLAB [Abstract] Digital filter is a kind of installation that consists of digital multiplier, adder and the unit of delay time. It has a funct
3、ion of operating the inputting digital signal in order to change signal frequency spectra. With the development of the computer technology and LSI, digital filter can be achieved by computer software, and can be achieved by digital hardware real time of large scale integration too. At present, there
4、’re three methods to design FIR digital filter: window method, frequency sampling method and optimal design method. In this paper we use three methods to design and simulate various FIR digital filter based on MATLAB, and compares the characteristics of them. The result reveals that Chebyshev approx
5、imation method has a great deal of advantages including optimal frequency response and attenuate response, smooth pass band、forbidden band and narrow transition band under the same design order. [Key words] FIR digital filter MATLAB Window method requency sampling method Chebyshev
6、 approximation method 引言 隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理己成為當今極其重要的學科和技術領域。數(shù)字信號處理在通信、語音、圖像、自動控制雷達、軍事、航空航天、醫(yī)療和家用電器等眾多領域得到了廣泛的應用。數(shù)字濾波器是數(shù)字信號處理的重要基礎,在對信號的濾波、檢測及參數(shù)的估計等信號應用中,數(shù)字濾波器是使用最為廣泛的一種線性系統(tǒng)。 在許多數(shù)字信號處理系統(tǒng)中,F(xiàn)IR濾波器是最常用的組件之一,它完成信號預調(diào)、頻帶選擇和濾波等功能。FIR濾波器在截止頻率的邊沿陡峭性能雖然不及II
7、R濾波器,但是,考慮到FIR濾波器嚴格的線性相位特性和不像IIR濾波器存在穩(wěn)定性的問題,F(xiàn)IR濾波器能夠在數(shù)字信號處理領域得到廣泛的應用。 本文主要研究了FIR數(shù)字濾波器設計方法,從數(shù)字濾波器的概念及基本原理的分析,得出數(shù)字濾波器設計的基本步驟,并探究了常用的三種設計方法:窗函數(shù)法、頻率抽樣法、切比雪夫逼近法,找出設計方法存在的問題。并提出了一些解決方案。數(shù)字濾波器按照單位取樣響應h(n)的時域特性可以分為無限脈沖響應(IIR)系統(tǒng)和有限脈沖響應(FIR)系統(tǒng)。FIR數(shù)字濾波器的優(yōu)點在于它可以做成具有嚴格線性相位,而同時可以具有任意的幅度特性;它的傳遞函數(shù)沒有極點;這保證了設計出的F
8、IR數(shù)字濾波器是穩(wěn)定的。 目 錄 第一章 濾波器的簡介 1 第二章 國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢 3 2.1研究意義 3 2.2研究現(xiàn)狀 3 2.3發(fā)展趨勢 4 第三章 數(shù)字濾波器設計方法 5 3.1 數(shù)字濾波器設計的基本步驟 5 3.2 濾波器的MATLAB設計 6 第四章 FIR數(shù)字濾波器的MATLAB設計 7 4.1 窗函數(shù)設計FIR濾波器 7 4.2 頻率取樣法設計FIR濾波器 14 4.3 切比雪夫逼近法設計FIR濾波器 18 4.4 結論 20 結束語 21 致謝語 22 參考文獻 23
9、 第一章 濾波器的簡介 數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進行數(shù)學處理來達到頻域濾波的目的??梢栽O計系統(tǒng)的頻率響應,讓它滿足一定的要求,從而對通過該系統(tǒng)的信號的某些特定的頻率成分進行過濾,這就是濾波器的基本原理。如果系統(tǒng)是一個連續(xù)系統(tǒng),則濾波器稱為模擬濾波器。如果系統(tǒng)是一個離散系統(tǒng),則濾波器稱為數(shù)字濾波器。 數(shù)字濾波器可以理解為是一個計算程序或算法 ,將代表輸入信號的數(shù)字時間序列轉(zhuǎn)化為代表輸出信號的數(shù)字時間序列 ,并在轉(zhuǎn)化過程中 ,使信號按預定的形式變化。 數(shù)字濾波器按單位脈沖響應h(n)的時域特性可分為
10、無限長脈沖響IIR(Infinite Impulse Response)濾波器和有限長脈沖響應FIR(Finite Impulse Response)濾波器。 IIR濾波器一般采用遞歸型的實現(xiàn)結構。其N階遞歸型數(shù)字濾波器的差分方程為 (1-1) 式中的系數(shù)至少有一項不為零?!? 說明必須將延時的輸出序列反饋回來,也即遞歸系統(tǒng)必須有反饋環(huán)路。相應的IIR濾波器的系統(tǒng)函數(shù)為 :
11、 (1-2) FIR濾波器在保證幅度特性滿足技術要求的同時, 比IIR 濾波器更容易做到有嚴格的線性相位特性。設FIR濾波器單位脈沖響應h(n)長度為N,其系統(tǒng)函數(shù)H(z)為: (1-3) FIR濾波器的設計任務是選擇有限長度的h(n),使函數(shù)H(z)滿足技術要求。 FIR數(shù)字濾波器的特點(與IIR數(shù)字濾波器比較): (1)很容易獲得嚴格的線性相位,避免被處理的信號產(chǎn)生相位失真,這一特點在寬頻帶信號處理、陣列信號處理、數(shù)據(jù)傳輸?shù)认到y(tǒng)中非常重
12、要; (2)可得到多帶幅頻特性; 信號通過線性系統(tǒng)后,其輸出就是輸入信號和系統(tǒng)沖激響應的卷積。從頻域分析來看,信號通過線性系統(tǒng)后,輸出信號的頻譜將是輸入信號的頻譜與系統(tǒng)傳遞函數(shù)的乘積。線性系統(tǒng)對信號頻譜的這種加工,可以有意識地用來按照人們的需要改變信號的頻譜結構。這就是所謂頻率濾波,是信號處理的一種方法。此時,人們也往往稱此系統(tǒng)為濾波器。由于計算機和大規(guī)模集成電路技術的進步,依靠傳統(tǒng)的模擬電路來實現(xiàn)的電子系統(tǒng)已不適應?,F(xiàn)在都在開始采用數(shù)字化技術,傳統(tǒng)的模擬濾波器,正在被數(shù)字濾波器所代替,數(shù)字濾波器的輸入是個數(shù)字序列。從本質(zhì)上說它只是一個序列的運算加工過程.但另方面因為它
13、是一個離散系統(tǒng),而一個離散系統(tǒng)具有一定的頻率響應特性,適當?shù)乜刂齐x散系統(tǒng)結構使其頻率特性滿足一定的要求,就可以起到和模擬濾波器同樣的作用。但數(shù)字濾波器卻具有精度高,可靠性強,靈活性大,適應范圍廣(在甚低頻范圍),快速等優(yōu)點。而且可以分時復用,同時處理若干不同信號,因此已得到越來越廣泛的應用。 第二章 國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢 2.1研究意義 從事電子通信業(yè)而不能熟練操作使用MATLAB電子線路設計軟件,在工作和學習中將是寸步難行的。在數(shù)學、電子、金融等行業(yè),使用MATLAB等計算機軟件對產(chǎn)品進行設計、仿
14、真在很早以前就已經(jīng)成為了一種趨勢,這類軟件的問世也極大地提高了設計人員在通信、電子等行業(yè)的產(chǎn)品設計質(zhì)量與效率。眾所周知,實際過程中信號傳輸都要經(jīng)過調(diào)制與解調(diào)這一過程,由于消息傳過來的原始信號即調(diào)制信號具有頻譜較低的頻譜分量,這種信號在許多信道中不宜傳輸。因而,在通信系統(tǒng)的發(fā)送端通常需要有調(diào)制過程,反之在接收端則需要有解調(diào)過程。利用matlab的強大運算功能,基于matlab信號處理工具箱(signal processing toolbox)的數(shù)字濾波器設計法可以快速有效的設計由軟件組成的常規(guī)數(shù)字濾波器,設計方便、快捷,極大的減輕了工作量。在設計過程中可以對比濾波器特性,隨時更改參數(shù),以達到濾波
15、器設計的最優(yōu)化。利用matlab設計數(shù)字濾波器在電力系統(tǒng)二次信號處理軟件和微機保護中,有著廣泛的應用前景。 2.2研究現(xiàn)狀 MATLAB是由MATH WORKS公司于1984年推出的一種面向科學與工程的計算軟件,通過MATLAB和相關工具箱,工程師、科研人員、數(shù)學家和教育工作者可以在統(tǒng)一的平臺下完成相應的科學計算工作。MATLAB系統(tǒng)的強大功能是由其核心內(nèi)容(語言系統(tǒng)、開發(fā)環(huán)境、圖形系統(tǒng)、數(shù)學函數(shù)庫、應用程序接口等)和輔助工具箱(符號計算、圖象處理、優(yōu)化、統(tǒng)計和控制等工具箱)兩大部分構成。 MATLAB 本身包含了 600 余個用于數(shù)學計算、統(tǒng)計和工程處理的函數(shù),這樣,就可以迅速完成科學
16、計算任務而不必進行額外的開發(fā)。業(yè)內(nèi)領先的工具箱算法極大的擴展了 MATLAB 的應用領域,所以MATLAB自推出以來就受到廣泛的關注,信號處理工具箱就是其中之一,在信號處理工具箱中,MATLAB提供了濾波器分析、濾波器實現(xiàn)、FIR濾波器實現(xiàn)、IIR數(shù)字濾波器設計、IIR數(shù)字濾波器階次估計等方面的函數(shù)命令。 隨著信息時代和數(shù)字世界的到來,數(shù)字信號處理在通信、語音、圖像、自動控制等眾多領域得到了廣泛的應用。在數(shù)字信號處理應用中,數(shù)字濾波器十分重要并已獲得廣泛應用,并將得到進一步的發(fā)展。 數(shù)字濾波器的實現(xiàn)方法一般有以下幾種: ①采用加法器、乘法器、延時器設計專用的濾波電路 ②用通用的可編程D
17、SP芯片實現(xiàn) ③采用計算機上的專用軟件進行設計。 2.3發(fā)展趨勢 由于我們所面對的工程問題越來越復雜,過去所依賴分析的技術已逐漸不敷使用。利用電腦來分析及解決工程問題已是當今工程師的必要工具。使用MATLAB軟件進行科學計算,能夠極大加快科研人員進行研究開發(fā)的進度,減少在編寫程序和開發(fā)算法方面所消耗的時間和有限的經(jīng)費,從而獲得最大的效能。隨著科學技術的發(fā)展,新技術應用于濾波器上成為必然趨勢。利用流水線技術(PI技術),在基于多項式并行表示的并行結構基礎上,構造了新的FIR濾波器并行結構。新結構具有與原結構相當?shù)氖諗克俣?。但新結構的復雜程度遠遠低于原結構,與串行處理(單入單出)的濾波結構相
18、當。在保證較高的數(shù)據(jù)通過率和較低的系統(tǒng)功耗的同時,因為結構簡單而更易于實現(xiàn),特別是在對現(xiàn)代信號處理要求高度集成的今天,對實踐具有一定的理論指導意義。 第三章 數(shù)字濾波器設計方法 所謂數(shù)字濾波器設計,簡單地說,就是要找到一組能滿足特定濾波要求的系數(shù)向量 a 和 b。而濾波器設計完成后還需要進一步考慮如何將其實現(xiàn),即選擇什么樣的濾波器結構來完成濾波運算。FIR數(shù)字濾波器的設計方法很多,其中較為常用的是窗函數(shù)設計法、頻率采樣設計法和最優(yōu)化設計法。本文討論利用窗函數(shù)法、頻率采樣法和等波紋切比雪夫逼近法(調(diào)用 remez函數(shù))來分別實現(xiàn)各種 FIR濾波器的設計。
19、FIR濾波器設計的任務是選擇有限長度的h(n),使傳輸函數(shù)H(e)滿足一定的幅度特性和線性相位要求。由于FIR濾波器很容易實現(xiàn)嚴格的線性相位,所以FIR數(shù)字濾波器設計的核心思 想是求出有限的脈沖響應來逼近給定的頻率響應。 目前在 MATLAB信號處理工具箱中,一共有 10種 FIR數(shù)字濾波器設計函數(shù),對應 5種設計方法,如表 3-1。 表3-1 FIR 濾波器設計函數(shù) 函數(shù) 設計方法 fir1,fir2,kaiserord 窗函數(shù)法 firls,remez,remezord 等波紋最小平方誤差設計 fircls,fircls1 最小二乘約束設計 cremez 任意頻響“
20、復濾波器”設計 firrcos 升余弦設計 3.1 數(shù)字濾波器設計的基本步驟 數(shù)字濾波器的設計要經(jīng)過四步完成: 1. 確定指標 在設計一個濾波器前,要根據(jù)應用要求確定一些指標,如以幅度指標給定,一般有絕對指標和相對指標兩種方式。絕對指標提供對幅度響應││的要求,一般用于FIR數(shù)字濾波器。相對指標,以分貝(dB)的形式提出要求,一般用于IIR 數(shù)字濾波器。 2 .逼近 確定技術指標后,利用已有的數(shù)學和基本原理,提出一個濾波器的模型來逼近給定的指標。 3. 實現(xiàn) 上面兩步得到的結果是系統(tǒng)函數(shù)H(z)或者單位沖激響應h(n)描述的濾波器,根據(jù)此描述在計算機上用軟件實現(xiàn)。 4 .
21、軟件傳真 應用MATLAB的傳真功能進行算法級傳真,驗證設計是否達到要求,如達到要求。則可以進行后繼設計; 否則要重新設計直到達到要求為止。 3.2 濾波器的MATLAB設計 數(shù)字濾波器是具有一定傳輸特性的數(shù)字信號處理裝置,其輸入與輸出都是離散的數(shù)字信號,借助于數(shù)字器件或一定的數(shù)值計算方法,對輸入信號進行處理,改變輸入信號的波形或頻譜,達到保留信號中有用成分去除無用成分的目的。實際應用中,數(shù)字濾波器往往作為模擬濾波器的一個組成部分,如圖所示。 A/D 數(shù)字濾波器 D/A x(n) y(n) Y(t) X(t) 圖3-1濾波系統(tǒng)框圖 輸入x(n)是一個時間序列,系
22、統(tǒng)函數(shù)為H(z),其沖激響序列h(n),則: y(n)=x(n)×h(n) 兩邊作傅立葉變換得頻域表達式:Y(jω)=H(j ω)X(jω)。H(jω)為數(shù)字濾波器的頻率特性,x(jω)和y(jω)分別為x(n)和y(n)的頻譜,數(shù)字濾波器的H(jω)改變了輸入x(n)的頻率特性。y(n)保留信號x(n)中有用頻率成分,去除無用的頻率成分,完成了數(shù)字濾波作用。 第四章 FIR數(shù)字濾波器的MATLAB設計 窗函數(shù)法設計的基本思想是把給定的頻率響應通過IDTF逆離散傅里葉變換(Inverse Discrete Time Fourier Transform),求得脈
23、沖響應,然后利用加窗函數(shù)對它進行截斷和平滑,以實現(xiàn)一個物理可實現(xiàn)且具有線性相位的FIR數(shù)字濾波器的設計目的。其核心是從給定的頻率特性,通過加窗確定有限長單位取樣響應h(n);頻率采樣法設計的基本思想是把給出的理想頻率響應進行取樣,通過IDFT從頻譜樣點直接求得有限脈沖響應;等波紋切比雪夫逼近法,利用MATLAB提供的remez函數(shù)實現(xiàn)Remez算法,設計濾波器逼近理想頻率響應。 4.1 窗函數(shù)設計FIR濾波器 DTFT *ω(n) IDTFT 窗函數(shù)法設計FIR數(shù)字濾波器的最簡單的方法是窗函數(shù)法,通常也稱之為傅立葉級數(shù)法。FIR數(shù)字濾波器的設計首先給出要求的理想濾波器的頻率響應,設
24、計一個FIR 數(shù)字濾波器頻率響應,去逼近理想的濾波響應。然而,窗函數(shù)法設計FIR數(shù)字濾波器是在時域進行的,因而必須由理想的頻率響應推導出對應的單位取樣響應hd(n),再設計一個FIR數(shù)字濾波器的單位取樣響應h(n)去逼近hd(n)。設計過程如下: hd(n) h(n) 加窗的作用是通過把理想濾波器的無限 長脈沖響應hd(n)乘以窗函數(shù)w(n)來產(chǎn)生一個被截斷的脈沖響應,即h(n)= hd(n)w(n),并且對頻率響應進行平滑。MATLAB工具箱 提供的窗 函數(shù)有: 矩形窗 (Rectangular window)、三角窗(Tria
25、ngular window)、布拉克曼窗(Blackman window)、漢寧窗(Hanning window)、海明窗(Hamming window)、凱塞窗 (Kaiser window) 、巴特里特窗 (Bartlett window)、切比雪夫窗(Chebyshev window), 性能對比如表4-1. 表4-1 幾種窗函數(shù)的性能比較 窗函數(shù) 旁瓣峰值幅度(dB) 過度帶寬 (π/N) 阻帶最小衰減 (dB) 矩形窗 13 4 21 三角窗 25 8 25 漢寧窗 31 8 44 海明窗 41 8 53 凱塞窗(β=7.856)
26、57 10 80 布拉克曼窗 57 12 74 窗函數(shù)主要用來減少序列因截斷而產(chǎn)生的Gibbs效應。但當這個窗函數(shù)為矩形時,得到的FIR濾波器幅頻響應會有明顯的Gibbs效應,并且任意增加窗函數(shù)的長度(即 FIR濾波器的抽頭數(shù))Gibbs效應也不能得到改善。為了克服這種現(xiàn)象,窗函數(shù)應該使設計的濾波器:(1)頻率特性的主瓣寬度應盡量窄,且盡可能將能量集中在主瓣內(nèi);(2)窗函數(shù)頻率特性的旁瓣ω趨于π的過程中,其能量迅速減小為零。 例:根據(jù)下列技術指標,設計一個FIR低通濾波器。 通帶截止頻率ωp=0.2π,通帶允許波動Ap=0.25dB; 阻帶截止頻率ω
27、s=0.3π,阻帶衰減As=50dB。 解:根據(jù)表4-1可知,海明窗和布拉克曼窗均可提供大于50dB的衰減。但海明窗具有較小的過渡帶從而具有較小的長度N。 根據(jù)題意,所要設計的濾波器的過渡帶為 (4-1) 由表4-1可知,利用海明窗設計的濾波器的過渡帶寬Δω=8π/N,所以低通濾波器單位脈沖響應的長度為 (4-2) 3dB通帶截止頻率為
28、 (4-3) 理想低通濾波器的單位脈沖響應為 (4-4) 海明窗為 (4-5) 則所設計的濾波器的單位脈沖響應為
29、 (4-6) 所設計的濾波器的頻率響應為 (4-7) FREQZ_M. M function [db, mag, pha, grd, w ] = freqz_m ( b, a) % db為相對振幅 (dB) ; mag為絕對振幅 ;pha為相位響應 ;grd為群延時 ; W為頻率樣本點向量。 [ H , w ] = freqz( b, a, 1024 ,‘w hole’) ; % b
30、 和a 分別為H(z) 分子和分母多項式系數(shù) (對FIR 而言 , b = a, a = 1 ) . H=(H( 1: 501 )) ’; w=(w( 1: 501 )) ’; mag=abs(H) ; db= 203log10((mag+ep s)/max(mag)) pha=angle( H ) ; grd=grp delay(b,a,w) ; DEAL_L P.M Function hd = ideal_ lp(,M) %理想低通濾波器;hd為0到M-1之間的理想脈沖響應 ; 為截止頻率 ;M為理想濾波器長度 alpha =(M-1)/2; n=0: M - 1;
31、 m=n-alpha+ eps; hd=sin(*m )./( pi*m ); ACTUAL_LP.m =0.10*pi; =0.20*pi; tr_width = - ; M=ceil(6.63pi/tr_width)+ 1; Disp([濾波器的長度為:num2str(M)]) n=0:M-1; =(+)/2; =DEAL_LP(.M); w_han = ( hamming(M) ); h=hd * w_han; [db, mag, pha, grd, w ] = FREQZ_M (h,[ 1 ]) ; delta_w = 2*pi/1000; =-(min
32、(db(1:1:/delta_w+1))); Disp([最小組帶衰減為:num2str(As)]); subplot(221); stem ( n, ) ; title(‘理想沖激響應’); axis ( [ 0 M - 1 - 0. 1 0. 3 ] ) ; ylabel (‘ hd ( n) ’); subplot ( 222 ) stem( n, w _han); title(‘海明窗’) axis ( [ 0 M - 1 0 1. 1 ] ) ; ylabe l(‘w(n)’) subp lo t ( 223 ) stem ( n, h) ; title
33、(‘實際沖擊響應’) axis ( [ 0 M - 1 - 0. 1 0. 3 ] ) ; xlabel (‘h’) ylabel(‘h(n)’) subplot ( 224 ) plot (w/pi, db) ; title(‘幅度響應(db)’) axis ( [ 0 1 - 100 10 ] ) grid; xlabel(‘以pi為單位的頻率’) ylabel(‘分貝數(shù)’) 利用計算機編程實現(xiàn),結果如圖所示。 圖4-1 理想低通濾波器的特性曲線 圖(a)是理想低通濾波器的單位脈沖響應(n); 圖
34、(b)是海明窗函數(shù); 圖(c) 是實際低通濾波器的單位脈沖響應h(n); 圖(d)是實際低通濾波器的幅頻特性|H()|,以dB為單位。濾波器長N=80,實際阻帶衰減為As=53dB,通帶波動為Ap=0.0316 dB,均滿足設計要求。 窗函數(shù)法還可以用 MATLAB信號處理工具箱中的 FIR濾波器設計函數(shù) fir1、fir2和kaiserord來實現(xiàn)。函數(shù) fir1 用來設計線性相位的低通、高通、帶通、帶阻 FIR濾波器(默認為低通),它使用標準的窗函數(shù)法進行設計(默認窗函數(shù)為 Hamming),濾波器的階數(shù)由參數(shù) n指定(fir1在設計高通和帶阻濾波器時得到的濾波器的階數(shù)總是偶階),截止
35、頻率由參數(shù)Wn(歸一化截止頻率,對應于頻響曲線上的-6dB點)定義;函數(shù) fir2用來設計多通帶任意響應 FIR 濾波器,該濾波器的幅頻特性由向量對 f 和 m 確定,f 為歸一化頻率向量,m 為對應頻率點上的幅度。 當設計的濾波器在頻率為π的幅度響應不是 0時,濾波器的階數(shù) n為偶數(shù);當函數(shù)kaiserord中各參數(shù)得到后可以利用返回值 n和beta設計凱塞窗函數(shù),然后利用返回值和 ftype傳輸給 fir1進行濾波器的設計。 三種函數(shù)比較完整的語法形式如下: b= fir1(n, , ‘ftype’, window); b= fir2(n, f, m, npt, lap, wi
36、ndow); [n, , beta, ftype] = kaiserord (f,a,dev, fs); 下面分別用這三種函數(shù)設計: (1) 用 fir1 設計一個 27階 FIR低通濾波器, 其中通帶截止頻率為 0.2π,用漢寧窗函數(shù)。 n=27; =0.2; window=hanning(28); b=fir1(n, ,window); freqz(b); 幅度 相位 圖 4-2 fir1 設計的FIR低通濾波器頻率響應 (2) 用 fir2 設計一個 60階的 FIR濾波器,要求濾波器 0到π/4的幅度響應為 0,π/4 到π/2的幅度響應為 1/4,π/2到 3
37、π/4的幅度響應為 0,3π/4 到 1的幅度響應為 1。 n=60; f=[0 0.25 0.25 0.50 0.50 0.75 0.75 1]; m=[0 0 1/4 1/4 0 0 1 1]; %對幅頻響應插值時插值點的個數(shù) npt=1024; %插值時不連續(xù)點轉(zhuǎn)變成連續(xù)時的點數(shù) lap=50; %衰減為 30dB的切比雪夫窗函數(shù) window=chebwin(61,30); b=fir2(n,f,m,npt,lap,window); freqz(b) 相位 幅度 圖 4-3 fir2 設計的FIR多通帶濾波器頻率響應 (3) 用 kaiserord 函
38、數(shù)設計一個帶通 FIR濾波器,通帶范圍是1500HZ到2500HZ,通帶的波紋最大為 0.03,阻帶范圍是0HZ到1000HZ和 3500HZ到 5000HZ,阻帶的波紋最大為 0.01,信號的采樣頻率為 10KHZ. f=[1000 1500 2500 3500]; a=[0 1 0]; fs=10000; dev=[0.01 0.03 0.01]; [n, ,beta,ftype]=kaiserord(f,a,dev, fs); hh=fir1(n, ,ftype,kaiser(n+1,beta),'noscale') freqz(hh); 查看 Workspace得到濾
39、波器的階數(shù)為45,截止頻率為 0.25π和 0.6π,凱塞窗函數(shù)的β值為 3.3953。 相位 幅度 圖 4-4 kaiserord 設計的 FIR 帶通濾波器頻率響應 窗口法設計的主要優(yōu)點是簡單,使用方便。窗口函數(shù)大多有封閉的公式可循,性能、參數(shù)都已有表格、資料可供參考,計算程序簡便,所以很實用。缺點是通帶和阻帶的截止頻率不易控制。 4.2 頻率取樣法設計FIR濾波器 頻率采樣法是從頻域出發(fā),把給定的理想頻率響應(e)以等間隔采樣 (4-8) 以此Hd(
40、k)作為實際FIR數(shù)字濾波器的頻率響應的采樣值H(k),|=2πk/N k=0, 1, 2, …, N-1 (4-9) 知道H(k)后, 由IDFT定義, 可以用這N個采樣值H(k)來惟一確定有限長序列h(n),即 n=0, 1, 2, …, N-1 (4-10) 式中,h(n)為待設計的濾波器的單位脈沖響應。其系統(tǒng)函數(shù)H(z)為 (4-1
41、1) 以上就是頻率采樣法設計濾波器的基本原理。此外,由頻域內(nèi)插公式知道,利用這N個頻域采樣值H(k)同樣可求得FIR濾波器的系統(tǒng)函數(shù)H(z) (4-12) (4-13) 其中,是一個內(nèi)插函數(shù): (4-14) 從以上公式可以看出,在每個采樣頻率 點w k=2πk/N處,濾波器的實際頻率響應是嚴格地和理想頻率響應數(shù)值相等,即: (4-15) 而在各采樣點間的頻率響應則是其的加權內(nèi)插函數(shù)
42、延伸疊加的結果。但對于一個 無限長的序列,用頻率采樣法必然有一定的逼近誤差,誤差的大小取決于理想頻響曲線的形狀,理想頻響特性變換越平緩,則內(nèi)插函數(shù)值越接近理想值,誤差越小。為了提高逼近的質(zhì)量,可以通過在頻率相應的過渡帶內(nèi) 插入比較連續(xù)的采樣點,擴展過渡帶使其比較連續(xù),從而使得通帶和阻帶之間變換比較緩慢,以達到減少逼近誤差的目的。 選取w∈[0,2π]內(nèi)N個采樣點的約束條件為: (4-16) 下面用頻率采樣法設計一個FIR通帶截止頻率為 0.2π,通帶波紋最大為 0.04,阻帶截止頻率為 0.3π,阻帶波紋最大為 0.02,濾波器的階數(shù)通過remezord函數(shù)估算,程序如下: rem
43、ezord函數(shù)用于估算FIR數(shù)字濾波器的等波紋最佳一致逼近設計的最低階數(shù)N,從而使 濾波器在滿足指標的前提下造價最低。 f=[0.2 0.3]; a=[1 0]; dev=[0.04 0.02]; %給出濾波器的參數(shù) [n f0 a0 w]=remezord(f,a,dev); N=n; alpha=(N-1)/2; k=0:N-1; =0.2*pi; =0.3*pi; %計算理想低通濾波器的截止頻率 =( +)/2; m=fix(*N/(2*pi)+1); %在兩邊過渡帶取值為 0.5 的采樣點 T = 0.5; Hrs=[ones(1,m),T,zeros(1,N
44、-2*m-1),T,ones(1,m-1)] k1 = 0:floor(alpha); k2 = floor(alpha+1):N-1; phai=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)]; H =Hrs.*exp(j*phai); %計算單位沖激響應 h =ifft(H,N); [h1,w1] = freqz(h,1,256,1); hr = abs( h1); h1 = 20* log10(hr); %畫出 FIR DF的單位取樣響應 figure(1); k=0:N-1; stem(k,h,'k.') axis([0
45、,N-1,1.1*min(real(h)),1.1*max(real(h))]); xlabel('n'); ylabel('h(n)'); grid on; %畫出 FIR DF 的低通衰減幅頻特性 figure(2); plot(w1,h1); xlabel('Normalized Frequency(×πrad/sample)'); ylabel('Magnitude(dB)'); grid on; 由 Workspace 查出濾波器參數(shù)為 n=27,f0=[0 0.2 0.31], a0=[1 1 0 0 ],w=[1 2 ]。在理想濾波器的設計中,若不增加過渡點,阻帶和
46、通帶之間的衰減約為21dB。如果在通帶和阻帶之間增加一個采樣點,阻帶的最小衰減可以達到65dB(衰減程度由選擇的采樣點決定),本程序在過渡帶取值為 0.5 的采樣點,阻帶衰減約為 40dB. 圖 4-5 FIR 的單位取樣響應 圖 4-6 FIR 的低通衰減幅頻特性 頻率采樣法的優(yōu)點是可以在頻域直接設計,并且適合最優(yōu)化設計; 缺點是采樣頻率只能等于2π/N的整數(shù)倍,因而不能確保截止頻率ωc的自由取值,要想實現(xiàn)自由地選擇截止頻率,必須增加采樣點數(shù)N,但這又使計算量加大。 4.3 切比雪夫逼近法設計FIR濾波器 盡管窗函數(shù)法與頻率采樣法在FIR數(shù)字濾波器的設計中有著廣泛
47、的應用, 但兩者都不是最優(yōu)化的設計。通常線性相位濾波器在不同的頻帶內(nèi)逼近的最大容許誤差要求不同。等波紋切比雪夫逼近準則就是通過對通帶和阻帶使用不同的加權函數(shù),實現(xiàn)在不同頻段(通常指的是通帶和阻帶)的加權誤差最大值相同,從而實現(xiàn)其最大誤差在滿足性能指標的條件下達到最小值,即使得和之間的最大絕對誤差最小。 等波紋切比雪夫逼近是采用加權逼近誤差 E它可以表示為: E=W(-H) (4-17) 其中,W為逼近誤差加權函數(shù),在誤差要求高的頻段上,可以取較大的加權值,否則,應當取較小的加權值。 盡管按照 FIR數(shù)字濾波器單位取樣響應 h(n)的對稱性和
48、 N的奇、偶性,F(xiàn)IR 數(shù)字濾波器可以分為 4種類型,但濾波器的頻率響應可以寫成統(tǒng)一的形式: (4-18) 其中,k∈{0 ,1} , H (ω)為幅度函數(shù), 且是一個純實數(shù),表達式也可以寫成統(tǒng)一的 形式: H=Q(ω)P(ω) (4-19) 其中,Q(ω)為ω的固定函數(shù),P(ω)為M個余弦函數(shù)的線性組合。若令:W(ω)= WQ(ω),Hd(ω)= / Q(ω),因此,由式(4-19)、(4-20)將E改寫成: E=W(ω)[ Hd(ω)- P(ω)] (4-20)
49、 故等波紋切比雪夫逼近法設計FIR數(shù)字濾波器的步驟是: ①給出所需的頻率響應,加權函數(shù)W和濾波器的單位取樣響應h(n)的長度N。 ②由①中給定的參數(shù)來形成所需的W(ω)、Hd(ω)和P(ω)的表達式。 ③根據(jù)Remez 算法,求解逼近問題。 ④利用傅立葉逆變換計算出單位取樣響應h( n) 。 Remez 算法是由Parks 和McClellan 等人在1972年推導出來的。它是將FIR數(shù)字濾波器中的五個參數(shù)( N ,σ1 , σ2 ,ωp ,ωs) 中的N ,ωp , ωs 和σ1/σ2 固定,而視σ1(或σ2)為變量的一種迭代方法。在MATLAB工具箱中可以直接調(diào)用re
50、mez函數(shù)(采用Remez算法),來進行FIR數(shù)字濾波器的設計。其具體算法有幾種,常見的一種算法格式為: b= remez (n, f, a, w,‘ftype’); 下面用remez函數(shù)設計一個27階的FIR低通濾波器,其通帶截止頻率為0.2π,通帶波紋最大為0.04,阻帶截止頻率為0.3π,阻帶波紋最大為0.02,程序如下: n=27; f=[0 0.2 0.3 1]; a=[1 1 0 0]; w=[0.04 0.02]; b=remez(n,f,a,w); freqz(b); 相位 幅度 圖4-7 remez設計的FIR低通濾波器頻率響應
51、4.4 結論 比較窗函數(shù)法的程序I、頻率采樣法和等波紋切比雪夫逼近法中的程序,同樣是設計一個27階的FIR低通數(shù)字濾波器,可以看出: (1)窗函數(shù)法在階數(shù)較低時,阻帶特性不滿足設計要求,只有當濾波器階數(shù)較高時,使用海明窗和凱塞窗基本可以達到阻帶衰耗要求; (2)頻率采樣法偏離設計指標最明顯,阻帶衰減最小,而且設計比采用窗函數(shù)法復雜。只有適當選取過渡帶樣點值,才會取得較好的衰耗特性; (3)利用等波紋切比雪夫逼近法則的設計可以獲得最佳的頻率特性和衰耗特性,具有通帶和阻帶平坦,過渡帶窄等優(yōu)點。 綜上所述,F(xiàn)IR濾波器很容易實現(xiàn)具有嚴格線性相位的系統(tǒng), 使信號經(jīng)過處理后不產(chǎn)生相位失
52、真,舍入誤差小,而且穩(wěn)定,因此越來越受到廣泛的重視。 結束語 與 C語言的程序設計相比較 , 利用 MATLAB可節(jié)省大量的編程時間。將其用于數(shù)字濾波器的編程 ,提高了編程效率。隨著版本的不斷提高 ,相信 MATLAB在數(shù)字濾波技術中會發(fā)揮更大的作用。FIR數(shù)字濾波器在數(shù)字處理領域有非常重要的地位, 因為在許多信號處理系統(tǒng), 如圖像處理、數(shù)字音頻等系統(tǒng)要求具有線性相位特性。在這方面FIR 濾波器有獨特的優(yōu)點。此外, FIR濾波器的沖激響應是有限長序列, 其系統(tǒng)函數(shù)為一個多項式,它所含的極點多為原點,
53、 所以FIR濾波器永遠是穩(wěn)定的。在應用Matlab語言進行FIR濾波器的設計時, 可以隨時對比設計要求和濾波器特性, 并可通過不斷調(diào)整設計參數(shù), 獲得較合適的沖激響應和幅度響應, 以使濾波器達到最優(yōu)化。 致謝語 本設計及畢業(yè)論文是在老師的親切關懷和悉心指導下完成的。他嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。從課題的選擇到項目的最終完成,老師都始終給予我細心的指導和不懈的支持。在此謹向老師致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過本科兩年的宿舍的各位姐妹們,
54、正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成此外,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們! 參考文獻 [1] 張亞妮. 基于MATLAB的數(shù)字濾波器設計[J]. 遼寧工程技術大學學報, 2005,(05):5~15 [2] 饒志強,葉念渝. FIR和IIR數(shù)字濾波器的探討與實現(xiàn)[J].計算機與數(shù)字工程,2005,(06):1~6 [3] 孫強. 運用MATLAB實現(xiàn)數(shù)
55、字濾波器的設計[J].電腦學習,2005,(02):2~22 [4] 何小河. 基于MATLAB的FIR數(shù)字濾波器設計[J]. 科技資訊, 2008,(03):15~19 [5] 林彥杰. 基于MATLAB的FIR數(shù)字濾波器設計與仿真[J]. 寧夏工程技術,2004,(01):7~10 [6] 張登奇, 李望移. 基于MATLAB的FIR數(shù)字濾波器設計[J]. 計算機時代,2007(11):9~21 [7] 趙紅怡.數(shù)字信號處理及其MATLAB實現(xiàn)[M].北京化學工業(yè)出版社,工業(yè)裝備與信息工程出版中心,2007 [8] 程佩青. 數(shù)字信號處理教程[M].北京清華大學出版社,2003 26
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。