基于Matllab的FIR數(shù)字濾波器的設計_第1頁
基于Matllab的FIR數(shù)字濾波器的設計_第2頁
基于Matllab的FIR數(shù)字濾波器的設計_第3頁
基于Matllab的FIR數(shù)字濾波器的設計_第4頁
基于Matllab的FIR數(shù)字濾波器的設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、青海民族大學畢業(yè)論文青海民族大學畢 業(yè) 論 文(設計)題 目:基于matlab的fir數(shù)字濾波器的設計作 者: 陳 龍 玉 畢業(yè)屆期: 2 0 1 0 屆 指導教師: 陳 善 繼 院 系: 物理與電子信息工程學院 專 業(yè): 通 信 工 程 2010 年5月5日目 錄摘要3abstract4第1章 緒論51.1 matlab語言5 1.1.1 matlab語言簡介5 1.1.2 matlab軟件組成51.2 濾波器簡介51.2.1數(shù)字濾波器6 1.2.2數(shù)字濾波器的分類6 1.2.3 fir數(shù)字濾波器的技術指標7 1.2.4數(shù)字濾波器的優(yōu)點7第2章 fir數(shù)字濾波器的設計條件及步驟 7 2.1

2、fir數(shù)字濾波器的設計條件8 2.2 fir數(shù)字濾波器設計的步驟8第3章 fir濾波器的設計方法及各方法步驟9 3.1 fir數(shù)字濾波器的設計方法定義 9 3.2 fir濾波器各種設計方法介紹9 3.2.1窗函數(shù)法設計法fir濾波器9 3.2.1.1 fir濾波器常用的窗函數(shù)10 3.2.2頻率采樣法設計fir數(shù)字濾波器12 3.2.3等波紋最佳逼近法設計fir數(shù)字濾波器13第四章 fir數(shù)字濾波器窗函數(shù)法的matlab程序實現(xiàn)134.1利用窗函數(shù)法設計fir數(shù)字濾波器13 4.1.1利用窗函數(shù)法設計fir數(shù)字低通濾波器13 4.1.2利用用窗函數(shù)法設計fir數(shù)字高通濾波器15 4.1.3利用

3、窗函數(shù)法設計fir數(shù)字帶阻濾波器164.2用頻率采樣法設計fir數(shù)字濾波器174.3利用逼近法設計fir帶阻濾波器194.4 matlab仿真21結束語 22致謝 22參考文獻 23基于matllab的fir數(shù)字濾波器的設計摘 要數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng), 是數(shù)字信號處理中的重要組成部分。本文主要介紹了matlab軟件的特點,簡單地講述了頻率采樣法、等波紋逼近法設計fir濾波器的原理及條件,重點講述了采用各種窗函數(shù)法來實現(xiàn)fir濾波器的設計,并通過matlab程序實現(xiàn)了仿真與驗證。matlab語言與設計理論相結合,來設計fir數(shù)字濾波器, 不但使設計結果更加直觀, 而且提

4、高了濾波器的設計精度,從而更好地達到預期效果。關 鍵 詞matlab語言 濾波器 數(shù)字濾波器 窗函數(shù)法 頻率抽樣法 等波紋實現(xiàn)法abstractthe digital filter is a time discrete signal that used to filt the number of system.it is the most important part in digital signal processing components. this paper describes the characteristics of matlab software,it simply tel

5、ls us that the principles and conditions of the method of frequency sampling and other fir filter design ripple approximation,talks us how to realize fir filter design with some kinds of window functions,and implements simulation and verification by matlab language.it is more intuitive and improved

6、the accuracy of the filter that matlab language combined with design theory. it better achieves the desired result.keywordsmatlab software filter digital filter window function method of frequency sampling realization of same corrugate第1章 緒 論1.1 matlab語言1.1.1 matlab語言簡介matlab是mathworks公司于1982年推出的一套高

7、性能的數(shù)值計算軟件,集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,功能強大,編程效率高。作為強大的科學計算語言平臺,它幾乎能夠滿足所有的計算需求1。matlab為用戶提供了具有條件控制、函數(shù)調用、數(shù)據(jù)輸入輸出及面向對象等特性的高層的、完備的編程語言。matlab語言語法簡單,程序調試和維護容易,其編程效率遠遠高于basic、piscal及c等高級語言。利用matlab軟件設計濾波器,可以隨時對比設計要求,對濾波器特性進行參數(shù)調整,直觀簡便,極大的減輕了工作量,有利于濾波器設計的最優(yōu)化。1.1.2 matlab軟件組成matlab軟件包括五個主要部分:開發(fā)環(huán)境:開發(fā)環(huán)境是幫助用戶使用matla

8、b函數(shù)和文件的工具的集合。開發(fā)環(huán)境包括matlab桌面及其命令窗口、命令記錄、幫助瀏覽器、工作平臺、文件和搜索路徑等。matlab數(shù)學函數(shù)庫:該庫收集了大量的計算算法。包括基本函數(shù)(求和、三角運算、復雜算術等)和復雜函數(shù)(矩陣求逆、求矩陣特征值、貝塞爾函數(shù)和快速傅立葉變換等)等等matlab語言:matlab語言是一種包括流程控制語句、函數(shù)、數(shù)據(jù)結構、輸入/輸出和面向對象編程方式的高級矩陣/數(shù)組語言,該語言能夠通過與其它matlab系統(tǒng)組成部分之間的交互式功能來完成非常復雜的計算任務。圖形句柄:圖形句柄即matlab的圖形系統(tǒng),該系統(tǒng)既包括二維和三維數(shù)據(jù)的可視化、圖像處理、動畫和圖形描述等高級

9、命令,又包括允許用戶完全自定義圖形,并在matlab應用程序中建立自己的圖形界面的低級命令。matlab應用程序接口api:api是允許用戶編寫c、fortiuln和matlab接口程序的系統(tǒng)庫,該庫中包含一些調用工具,其它應用程序能夠通過動態(tài)鏈接、作為計算引擎、讀寫mat文件三種形式來使用這些工具以調用matlab程序。matlab最初是單純用于開發(fā)矩陣計算的,但經過這些年的迅速發(fā)展,matlab已經成為一種高速的工程計算語言,在數(shù)值計算、數(shù)據(jù)處理、自動控制、圖像處理、神經網(wǎng)絡、小波分析等方面應用廣泛。matlab還采用了一組被稱為工具箱的特殊應用解答集。matlab的工具箱能夠解決許多特殊

10、的問題。例如,信號處理、自動控制、神經網(wǎng)絡、模糊邏輯、小波變換、系統(tǒng)仿真等。1.2 濾波器簡介濾波器是各種電子產品的重要部件,其主要功能是實現(xiàn)各種電信號的提取、分離及抑止干擾。隨著電子技術的飛速發(fā)展,電子產品的應用領域發(fā)生著日新月異的變化2。由于電子產品門類及使用頻段的不斷擴展,各種電子設備之間的干擾也日趨嚴重。因此,濾波器不但是確保電子產品本身正??煽抗ぷ鞯闹匾骷?,而且是減少相互影響、確保正常工作環(huán)境的重要器件。1.2.1數(shù)字濾波器數(shù)字濾波器是一種用來過濾時間離散信號的數(shù)字系統(tǒng),通過對抽樣數(shù)據(jù)進行數(shù)學處理來達到頻域濾波的目的。數(shù)字濾波器本質上是用一種數(shù)值運算,改變輸入信號中所含頻率分量的相

11、對比例,濾除某些頻率分量。濾波器設計的任務,是就根據(jù)預先規(guī)定的技術指標,選擇一組系數(shù),使濾波器的性能滿足要求。數(shù)字濾波器用n階差分方程來描述:(1)相應的系統(tǒng)函數(shù)為:(2)1.2.2數(shù)字濾波器的分類按照不同的分類方法,數(shù)字濾波器分為許多種類。但是,總起來說可以分成兩大類:經典濾波器和現(xiàn)代濾波器。經典濾波器的特點是其輸入信號中有用的頻率成分和希望濾除的頻率成分各占有不同的頻帶,通過一個合適的選頻濾波器濾除干擾,得到純凈的信號,從而達到濾波的目的?,F(xiàn)代濾波器是根據(jù)隨機信號中的一些統(tǒng)計特性,在某種最佳準則下,最大限度地抑制干擾,同時最大限度地恢復信號,從而達到最佳濾波的目的。本論文沒有探討現(xiàn)代濾波器

12、,只是簡單地介紹了經典濾波器的matlab的程序實現(xiàn)方法3。經典數(shù)字濾波器從濾波特性上分類,可以分為低通濾波器、高通濾波器、帶通濾波器、帶阻濾波器等。從實現(xiàn)的網(wǎng)絡結構或者從單位沖激響應長度分類,可以分為無限長單位脈沖響應(iir)濾波器和有限長單位脈沖響應(fir)濾波器。它們的系統(tǒng)函數(shù)分別為:(3)(4)由上式可以看出,iir濾波器的系統(tǒng)函數(shù)是兩個z的多項式的有理分式,而fir濾波器的分母為1,即只有一個分子多項式。有限脈沖響應濾波器,說明其脈沖響應是有限的,其名稱也是根據(jù)此產生的。fir與iir濾波器相比,fir濾波器傳輸函數(shù)的極點固定在原點,其實現(xiàn)是非遞歸的,總體穩(wěn)定性比較強,系統(tǒng)穩(wěn)定,

13、對運算精度要求不高,運算誤差也較?。桓匾氖?,fir濾波器在滿足幅頻響應要求的同時,可以獲得嚴格的線性相位特性,使信號經過處理后不產生相位失真,舍入誤差小,穩(wěn)定而且能夠設計具有優(yōu)良特性的多帶通濾波器、微分器和希爾伯特變換器。因此,它在高保真的信號處理中,如數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學等領域得到廣泛應用。缺點是對于同樣的濾波器幅頻特性指標,fir 濾波器所需要的階數(shù)比iir濾波器高510倍,因而使成本增高。1.2.3 fir數(shù)字濾波器的技術指標常用的數(shù)字濾波器一般屬于選頻濾波器。假設數(shù)字濾波器的頻率響應函數(shù)用下式表示:(5)(5)式中,稱為幅頻特性函數(shù);稱為相頻特性函數(shù)。幅頻特性函數(shù)

14、表示信號通過該濾波器后各頻率成分振幅衰減情況,而相頻特性反映各頻率成分通過濾波器后在時間上的延時情況。因此,即使兩個濾波器幅頻特性相同,而相頻特性不同,對相同的輸入,濾波器輸出的信號也是不一樣的4。一般選頻濾波器的技術要求由幅頻特性給出,對于常用的幾中典型濾波器,其相頻特性是確定的。所以設定過程中,對相頻特性一般不作要求。但如果對輸出波形有要求,則需要考慮相頻特性的技術指標,例如波形傳輸,圖像信號處理等。fir數(shù)字濾波器便實現(xiàn)了這一要求。1.2.4數(shù)字濾波器的優(yōu)點數(shù)字濾波器具有比模擬濾波器精度高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配以及實現(xiàn)模擬濾波器無法實現(xiàn)的特殊濾波功能等優(yōu)點。如果要處

15、理的是模擬信號,可通過模數(shù)轉換器(a/dc)和數(shù)模轉換器(d/ac),在信號形式上進行匹配轉換,同樣可以使用數(shù)字濾波器對模擬信號進行濾波。第2章 fir數(shù)字濾波器的設計條件及步驟fir數(shù)字濾波器的設計核心是求出有限的脈沖響應來逼近給定的頻率響應,理論證明fir 濾波器脈沖響應在滿足條件h(n)=h(n-1-n)時,其具有嚴格的線性相位特性,使所設計的數(shù)字濾波器無相位失真。fir濾波器可以用如下的差分方程和系統(tǒng)函數(shù)表示:(6)(7)h(z)在z平面上有n-1個零點,在原點有n-1個重極點,h(z)永遠穩(wěn)定。2.1 fir數(shù)字濾波器的設計條件fir數(shù)字濾波器設計主要是選擇有限長度為n的單位脈沖響應

16、h(n),使傳輸函數(shù)滿足技術要求線性相位條件對于長度為n的h(n),傳輸函數(shù)為:(8)(9)(9)式中,成為幅度特性,成為相位特性。注意,這里不同于,為的實函數(shù),可能取負值,而總是正值。線性相位fir濾波器是指是的線性函數(shù),即 為常數(shù) (10)如果滿足下式: 是起始相位(11),嚴格的說,此時不具有線性相位,但以上兩種都滿足群時延是一個常數(shù),即(12)也稱這種情況為線性相位。一般稱為滿足,為常數(shù)的情況為第一類線性相位;滿足,是起始相位的稱之為第二類線性相位。2.2 fir數(shù)字濾波器設計的步驟確定指標。在設計一個濾波器之前,必須首先根據(jù)工程實際的需要確定濾波器的技術指標。在很多實際應用中,數(shù)字濾

17、波器常常被用來實現(xiàn)選頻操作。因此,指標的形式一般在頻域中給出幅度和相位響應。幅度指標主要以兩種方式給出。第一種是絕對指標。它提供對幅度響應函數(shù)的要求,一般應用于fir濾波器的設計。第二種指標是相對指標。它以分貝值(db)的形式給出要求。在工程實際中,這種指標最受歡迎。對于相位響應指標形式,通常希望系統(tǒng)在通頻帶中有線性相位。逼近。確定了技術指標后,就可以建立一個目標的數(shù)字濾波器模型。通常采用理想的數(shù)字濾波器模型。之后,利用數(shù)字濾波器的設計方法,設計出一個實際濾波器模型來逼近給定的目標。性能分析和計算機仿真。上兩步的結果是得到以差分或系統(tǒng)函數(shù)或沖激響應描述的濾波器。根據(jù)這個描述就可以分析其頻率特性

18、和相位特性,以驗證設計結果是否滿足指標要求;或者利用計算機仿真實現(xiàn)設計的濾波器,再分析濾波結果來判斷。第3章 fir濾波器的設計方法及各方法步驟3.1 fir數(shù)字濾波器的設計方法定義設計fir數(shù)字濾波器的本質是對理想濾波器頻率特性作某種近似。下面闡述幾種基本的設計方法。窗函數(shù)設計法:從時域出發(fā),用窗函數(shù)把理想的hd(n)截取成有限長的h(n)去逼近理想的hd(n)。頻率采樣法:從頻域出發(fā),把理想的hd(ejw)抽樣成h(k), 進而得到濾波器的h(z)。等波紋逼近法:使用切比雪夫最佳一致逼近理論可設計出實際濾波器頻響與期望的頻響之間的最大誤差最小化的最佳擬合濾波器5。3.2 fir濾波器設計方

19、法介紹3.2.1 fir濾波器的窗函數(shù)設計法窗函數(shù)設計法的基本原理是用一定寬度窗函數(shù)截取無限脈沖響應序列獲得有限長的脈沖響應序列,主要設計步驟為:根據(jù)對阻帶衰減及過渡帶的指標要求,選擇窗函數(shù)的類型,并估計窗口長度n。先按照阻帶衰減選擇窗函數(shù)類型。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣窄的窗函數(shù)。然后根據(jù)過渡帶寬度估計窗口長度n。待求濾波器的過渡帶寬度bt等于窗函數(shù)主瓣寬度,且與窗口長度成反比,na/bt,a取決于窗口類型。構造希望逼近的頻率響應函數(shù),即(13)所謂的“標準窗函數(shù)法”,是選擇為線性相位理想濾波器(理想低通、理想高通、理想帶通、理想帶阻)。以低通濾波器為例,就滿足: (

20、14)其中,分別為設計指標給定通帶邊界頻率和阻帶邊界頻率。通過傅里葉逆變換計算機理想濾波器的單位脈沖響應,(15) 加窗得到設計結果h(n),(16)窗函數(shù)法是設計fir數(shù)字濾波器的最簡單的方法。它在設計fir數(shù)字濾波器中有很重要的作用,正確地選擇窗函數(shù)可以提高設計數(shù)字濾波器的性能,或者在滿足設計要求的情況下,減小fir數(shù)字濾波器的階次。3.2.1.1 fir濾波器常用的窗函數(shù)fir濾波器常用的窗函數(shù)有以下幾種6:矩形窗(rectangle window)、三角窗(bartlett window)、漢寧窗(hanning window)、哈明窗(hamming window)、布萊克曼窗(bl

21、ackman window)、切比雪夫窗(chebyshev window)及凱塞窗(kaiser-bbasel window)。在matlab中,實現(xiàn)矩形窗的函數(shù)為boxcar,其調用格式如下: wn=boxcar(n)%其中n是窗函數(shù)的長度,返回值w是一個n階的向量,它的元素由窗函數(shù)的值組成。%在matlab中,實現(xiàn)三角窗的函數(shù)為bartlett,調用格式為: wn=bartlett(n) %在matlab中,實現(xiàn)漢寧窗的函數(shù)為hann,調用格式如下: wn=hanning(n)wn=hanning(n,sflag)%hanning函數(shù)中的參數(shù)sflag為采樣方式,其值可取symmetri

22、c(默認值)或periodic。當sflagsymmetric時,為對稱采樣;當sflagperiodic時,為周期采樣,此時hann函數(shù)計算n+1個點的窗,但是僅返回前n個點。%在matlab中,實現(xiàn)海明窗的函數(shù)為hamming,調用格式分別如下: wn=hamming (n)wn=hamming (n,sflag)%其中sflag的用法同上。%在matlab中,實現(xiàn)布拉克曼窗的函數(shù)為blackman,調用格式如下:wn=blackman (n)wn=blackman (n,sflag)%在matlab中,實現(xiàn)切比雪夫窗的函數(shù)為chebwin,調用格式為: wn=chebwin (n,r)%

23、其中r表示切比雪夫窗函數(shù)的傅里葉變換旁瓣幅度比主瓣低rdb(其默認值為100db),且旁瓣是等紋波的。%在matlab中,實現(xiàn)凱塞窗的函數(shù)為kaiser,調用格式為: wn=kaiser (n,beta)設計fir數(shù)字濾波器的常用的幾種窗函數(shù)的性能比較圖,窗函數(shù)性能比較圖 圖(1)各種窗函數(shù)之間的參數(shù)比較如下表(1):窗函數(shù)參數(shù)對比表 表(1)窗函數(shù)第一旁瓣相對于主瓣衰減/db主 瓣 寬阻帶最小衰減/db矩形窗134/n21三角窗258/n25漢寧窗318/n44哈明窗418/n53布拉克曼窗5712/n74凱塞窗可調可調可調切比雪夫窗可調可調可調3.2.2頻率采樣法設計fir數(shù)字濾波器窗函數(shù)

24、設計fir數(shù)字濾波器是從時域出發(fā),把理想的濾波器的單位取樣響應hd(n)用合適的窗函數(shù)截短成為有限長度的h(n),并使h(n)逼近理想的hd(n),以實現(xiàn)所設計的濾波器的頻率響應hd(ej)逼近于理想濾波器的頻率響應hd(ej)。頻率采樣法的原理如下:由模擬信號與數(shù)字信號相互轉化知識得知,一個有限長的序列,如果滿足頻率采樣定理,可以通過頻譜的有限個采樣點的值被準確地得以恢復。設理想濾波器的頻率響應是hd(ej),它是連續(xù)頻率的周期函數(shù)。對其在0到2之間等間隔采樣n點,使每一個周期有n個抽樣值,得到hd(k),(17)對做idft,可得到n點的單位抽樣序列h(n),即: (18)將h(n)作為所

25、設計的濾波器的單位沖激響應,這樣就可以求出該濾波器的傳輸函數(shù),即:(19)在頻率抽樣法中指定hd(k)要比在窗函數(shù)法中指定hd(ej)復雜。hd(k)指定的原則是:(1)在通帶內,可令|hd(k)|=1,阻帶內|hd(k)|=0,且在通帶內賦給hd(k)相位函數(shù);(2)指定的hd(k)應保證h(n)是實的;(3)由抽樣序列h(n)求出的hd(ej)應具有線性相位。在窗函數(shù)設計法中,通過加大過渡帶寬度換取阻帶衰減的增加。頻率采樣法同樣滿足這一規(guī)律。提高阻帶衰減的具體方法是在頻響間斷點附近區(qū)間內插一個或幾個過渡采樣點,使不連續(xù)點變成緩慢過渡帶,這樣,雖然加大了過渡帶,但阻帶中相鄰內插函數(shù)的旁瓣正負

26、對消,明顯增大了阻帶衰減。過渡帶采樣點的個數(shù)與阻帶最小衰減as的關系以及使阻帶最小衰減as最大化的每個過渡帶采樣值求解都要用優(yōu)化算法解決。其基本思想是將過渡帶采樣值設為自由量,用一種優(yōu)化算法(如線性規(guī)劃算法)改變它們,最終使阻帶最小衰減as最大。將過渡帶采樣點的個數(shù)m與濾波器阻帶最小衰減as的經驗數(shù)據(jù)列于表(2)中,我們可以根據(jù)給定的阻帶最小衰減as選擇過渡帶采樣點的個數(shù)m7。頻率抽樣估算值 表(2)m123as4454db6575db8595db3.2.3等波紋最佳逼近法設計fir濾波器窗函數(shù)法和頻率采樣法設計fir數(shù)字濾波器都是比較有效的,但同時它們都有一定的缺點。窗函數(shù)法不容易設計預定截

27、止頻率的濾波器,也不能解決當濾波器的階次n給定時,怎樣設計一個最佳的fir數(shù)字濾波器的問題。頻率取樣法是一種優(yōu)化設計方法,但是在進行優(yōu)化設計時所使用的變量僅限于過渡帶上的幾個采樣值,因而它不是全局的最優(yōu)設計方法。從fir數(shù)字濾波器的系統(tǒng)函數(shù)可以看出,極點都是在z平面的原點,而零點的分布是任意的。不同的分布將對應不同的頻率響應,最優(yōu)化設計實際上就是調節(jié)這些零點的分布,使得實際濾波器的頻率響應hd(ej)與理想濾波器的頻率響應hd(ej)之間的最大絕對誤差最小。切比雪夫逼近法利用逼近定理設計fir數(shù)字濾波器,由于是在一致意義上對hd(ej)作最佳逼近,因而獲得了較好的通帶和阻帶性能,并能準確地指定

28、通帶和阻帶的邊緣,是一種更佳有效的設計方法。利用等波紋最佳逼近準則設計線性相位fir數(shù)字濾波器的數(shù)學模型的建立及其求解算法的推導復雜,求解計算必須借助計算機。matlab信號處理工具箱函數(shù)remezord和remez,解決了這個技術問題,只要簡單地調用這兩個函數(shù)就可以完成線性相位fir數(shù)字濾波器的等波紋最佳逼近設計8。等波紋最佳逼近法設計fir數(shù)字濾波器的過程是:(1)根據(jù)給定的逼近指標估算濾波器階數(shù)n和誤差加權函數(shù)w();(2)采用remez算法得到濾波器單位脈沖響應h(n)。第四章 fir數(shù)字濾波器窗函數(shù)法的matlab程序實現(xiàn)4.1利用窗函數(shù)法設計fir數(shù)字濾波器4.1.1利用窗函數(shù)法設

29、計fir數(shù)字低通濾波器具體要求如下:對模擬信號進行低通濾波處理,要求通帶0f 1.5khz內衰減小于1 db, 阻帶2.5khzf 上衰減大于40 db。希望對模擬信號采樣后用線性相位fir數(shù)字濾波器實現(xiàn)上述濾波,采樣頻率fs=10 khz。用窗函數(shù)法設計滿足要求的fir數(shù)字低通濾波器,求出h(n),并畫出損耗函數(shù)曲線。為了降低運算量,希望濾波器階數(shù)盡量低。9由題意知,為了使濾波器的階數(shù)盡量低,根據(jù)圖(1)與表(1),我們選擇kaiser窗函數(shù)設計。% 用kaiser窗函數(shù)設計線性相位低通firdf運行程序如下:25共 23 頁 第 頁firdf_l請輸入通帶上限頻率fp,fp=1500請輸入

30、阻帶下限頻fs,fs=2500請輸入阻帶最小衰rs減,rs=40請輸入采樣頻率fs,fs=10000單位沖激響應與損耗函數(shù)曲線如下圖形:單位沖激響應與損耗函數(shù)曲線圖 圖(2)firdf_l()的m文件如下%用kaiser窗函數(shù)法設計fir低通濾波器function firdf=firdf_l()close all;clear all;clc;%設計指標參數(shù)賦值fp=input(請輸入通帶上限頻率fp,nfp=);fs=input(請輸入阻帶下限頻率fs,nfs=);rs=input(請輸入阻帶最小衰減rs,nrs=);fs=input(請輸入采樣頻率fs,nfs=);wp=2*pi*fp/fs

31、;ws=2*pi*fs/fs;bt=ws-wp; %計算過渡帶寬度alph=0.5842*(rs-21)0.4+0.07886*(rs-21);%計算kaiser窗的控制參數(shù)n=ceil(rs-8)/2.285/bt);%計算kaiser窗所需階數(shù)nwc=(wp+ws)/2/pi;%計算理想高通濾波器通帶截止頻率(關于歸一化)hn=fir1(n,wc,kaiser(n+1,alph);%調用kaiser計算低通firdf的h(n)%以下是繪圖部分m=1024;hk=fft(hn,m);n=0:n;subplot(2,2,1);stem(n,hn,.);grid on;title(單位沖激響應h

32、(n)圖形);xlabel(n);ylabel(h(n);k=1:m/2;w=2*(0:m/2-1)/m;subplot(2,2,2);plot(w,20*log10(abs(hk(k);axis(0,1,-80,5);xlabel(/);ylabel(20lg|hg()|);grid on;title(損耗函數(shù)曲線圖形);通過此程序,我們可以輸入其他要求的fir低通濾波器。4.1.2利用用窗函數(shù)法設計fir數(shù)字高通濾波器要求通帶截止頻率p=/2rad,阻帶截止頻率s=/4 rad,通帶最大衰減ap=1db,阻帶最小衰減as=40db。10根據(jù)題意知,阻帶最小衰減as=40db,由表(1)可知

33、,漢寧窗和哈明窗均滿足要求,我們選擇漢寧窗。程序運行如下:firdf_h()請輸入通帶截止頻率wp, wp=pi/2請輸入阻帶截止頻率ws,ws=pi/4請輸入通帶最大衰減rp,rs=1請輸入阻帶最小衰減rs,rs=40單位沖激響應與損耗函數(shù)曲線如下圖形所示,單位沖激響應與損耗函數(shù)曲線圖 圖(3)firdf_h的m文件如下:%用漢寧窗函數(shù)法設計fir高通濾波器function firdf=firdf_h()close all;clear all;clc;%設計指標參數(shù)賦值wp=input(請輸入通帶截止頻率wp,nwp=);ws=input(請輸入阻帶截止頻率ws,nws=);rp=input

34、(請輸入通帶最大衰減rp,nrp=);rs=input(請輸入阻帶最小衰減rs,nrs=);db=wp-ws;%計算過渡帶寬度n0=ceil(6.2*pi/db); %漢寧窗計算所需h(n)長度n0n=n0+mod(n0+1,2);%確保h(n)長度n是奇數(shù)wc=(wp+ws)/2/pi;%計算理想高通濾波器通帶截止頻率(關于歸一化)hn=fir1(n-1,wc,high,hanning(n);%調用fir1計算高通firdfh(n)%以下是繪圖部分m=1024;hk=fft(hn,m);n=0:n-1;subplot(2,2,1);stem(n,hn,.);xlabel(n);ylabel(

35、h(n);grid on title(單位沖激響應h(n)圖形);k=1:m/2;w=2*(0:m/2-1)/m;subplot(2,2,2);plot(w,20*log10(abs(hk(k);axis(0,1,-80,5);xlabel(/);ylabel(20lg|hg()|);grid ontitle(損耗函數(shù)曲線圖形);4.1.3窗函數(shù)法設計fir數(shù)字帶阻濾波器要求通帶下截止頻率lp=0.2,阻帶下截止頻率ls=0.35,阻通帶上截止頻率us=0.65,通帶上截止頻率up=0.8,通帶最大衰減ap=1db,阻帶最小衰減as=60db。因為阻帶最小衰減as=60db,根據(jù)表(1),選擇

36、布萊克曼窗。程序運行如下:firdf_ds請輸入通帶下截止頻率wlp,wlp=0.2*pi請輸入阻帶下截止頻率wls,wls=0.35*pi請輸入阻帶上截止頻率wus,wus=0.65*pi請輸入通帶上截止頻率wus,wus=0.8*pi請輸入通帶最大衰減rp,rp=1請輸入阻帶最小衰減rs,rs=60單位沖激響應與損耗函數(shù)曲線如下圖形所示,單位沖激響應與損耗函數(shù)曲線圖 圖(4)firdf_ds的m文件如下%用布萊克曼窗函數(shù)設計fir帶阻濾波器function firdf=firdf_ds()close all;clear all;clc;%設計指標參數(shù)賦值wlp=input(請輸入通帶下截止

37、頻率wlp,nwlp=);wls=input(請輸入阻帶下截止頻率wls,nwls=);wus=input(請輸入阻帶上截止頻率wus,nwus);wup=input(請輸入通帶上截止頻率wus,nwus);rp=input(請輸入通帶最大衰減rp,nrp=);rs=input(請輸入阻帶最小衰減rs,nrs=);b=wls-wlp;%過渡帶寬度n=ceil(12*pi/b);%計算階數(shù)n,ceil(x)為大于等于x的最小整數(shù)wp=(wls+wlp)/2/pi,(wus+wup)/2/pi;%設置理想帶通截止頻率hn=fir1(n,wp,stop,blackman(n+1);%帶阻濾波器要求h

38、(n)長度為奇數(shù),所以取n+1%以下為繪圖部分m=1024;hk=fft(hn,m);n=0:n;subplot(2,2,1);stem(n,hn,.);xlabel(n);ylabel(h(n);grid ontitle(單位沖激響應h(n)圖形);k=1:m/2+1;w=2*(0:m/2)/m;subplot(2,2,2);plot(w,20*log10(abs(hk(k);axis(0,1,-90,5);xlabel(/);ylabel(20lg|hg()|);grid ontitle(損耗函數(shù)曲線圖形);4.2用頻率采樣法fir數(shù)字濾波器要求通帶截止頻率p=/3,阻帶最小衰減大于40d

39、b,過渡帶寬度bt/1611查表(2),as=40db時,過渡帶采樣點數(shù)m=1。估算濾波器長度: n(m+1)2/bt=64,留一點富余量,取n=65程序運行如下:firdf_fcl請輸入過渡采樣值t,t=0.38請輸入通帶截止頻率wp,wp=pi/3請輸入過渡帶寬度datb,datb=pi/16請輸入阻帶最小衰減rs,rs=50單位沖激響應與損耗函數(shù)曲線如下圖形所示,單位沖激響應與損耗函數(shù)曲線圖 圖(5)firdf_fcl的m文件如下:%用頻率采樣法設計fir低通濾波器function firdf=firdf_fcl()close all;clear all;clc;t=input(請輸入過

40、渡采樣值t,nt=);%鍵入過渡采樣值twp=input(請輸入通帶截止頻率wp,nwp=);%通帶截止頻率為pi/3;datb=input(請輸入過渡帶寬度datb,ndatb=);%過渡帶寬度pi/16rs=input(請輸入阻帶最小衰減rs,nrs=);if (rs = 44)&(rs= 65)&(rs= 85)&(rs=95) m=3;end;n=(m+1)*2*pi/datb+1;%估算采樣點數(shù)nn=n+mod(n+1,2);%確保h(n)長度n為奇數(shù)np=fix(wp/(2*pi/n);ns=n-2*np-1;%np+1為通帶0,wc上采樣點數(shù),ns為阻帶wc,2*pi-wc上采樣

41、點數(shù)ak=ones(1,np+1),zeros(1,ns),ones(1,np)%n為奇數(shù),幅度采樣向量a(k)=a(n-k)ak(np+2)=t;ak(n-np)=t;%加一個過渡采樣thetak=-pi*(n-1)*(0:n-1)/n;%相位采樣向量(k) hk=ak.*exp(j*thetak);%構造頻域采樣向量h(k)hn=real(ifft(hk);%h(n)=idfth(k)hw=fft(hn,1024);%計算頻率響應函數(shù):dfth(n)wk=2*pi*0:1023/1024;hgw=hw.*exp(j*wk*(n-1)/2);%計算幅度響應函數(shù)hg()%計算通帶最大衰減rp和

42、阻帶最小衰減rsrp=max(20*log10(abs(hgw);hgmin=min(real(hgw);rs=20*log10(abs(hgmin);%以下繪圖aw=1,1,0,0,1,1;wk1=0,wp,wp,2*pi-wp,2*pi-wp,2*pi/pi;subplot(3,2,1);plot(wk1,aw);axis(0,2,-0.2,1.2);xlabel(/);ylabel(hg(k);title(采樣圖形);hold onwk2=0:n-1*2/n;plot(wk2,ak,.);n=0:n-1;subplot(3,2,2);stem(n,hn,.);axis(0,65,-0.2

43、,0.5);xlabel(n);ylabel(h(n);grid ontitle(單位沖激響應)subplot(3,2,3);plot(wk/pi,20*log10(abs(hgw);axis(0,1,-60,3);xlabel(/);ylabel(20lg|hg()|);grid ontitle(損耗函數(shù));4.3利用逼近法設計fir帶阻濾波器利用等波紋最佳設計一個線性相位fir帶阻濾波器。要求通帶下截止頻率lp =0.2,阻帶下截止頻率ls=0.35,阻通帶上截止頻率us=0.65,通帶上截止頻率up=0.8, 通帶最大衰減ap=1db,阻帶最小衰減as=60db。12分析如下:逼近通帶:

44、0, 0.2,0.8, ;通帶最大衰減:a p=1 db;逼近阻帶:0.35, 0.65;阻帶最小衰減:a s=60 db 程序運行如下:firdf_bj單位沖激響應與損耗函數(shù)曲線如下圖形所示,單位沖激響應與損耗函數(shù)曲線圖 圖(6)firdf_bj的m文件如下:%等波紋最佳逼近法function firdf=firdf_bj()%調用remez函數(shù)設計帶阻濾波器close all;clear all;clc;f=0.2,0.35,0.65,0.8;m=1,0,1;rp=1;rs=60;dat1=(10(rp/20)-1)/(10(rp/20)+1);dat2=10(-rs/20);rip=dat1,dat2,dat1;n,fo,mo,w=remezord(f,m,rip);hn=remez(n,fo,mo,w);%以下為繪圖檢驗部分hw=fft(hn,512);n=0:n;subplot(2,2,1);stem(n,hn,.);xlabel(n);ylabel(h(n);grid ontitle(單位沖激響應);w=0:511;w=2*w/512;subplot(2,2,2);plot(w,20*log10(abs(hw);grid on;axis(0,ma

溫馨提示

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

評論

0/150

提交評論