【正文】
半平面。濾波器設計最重要的是尋找一個穩(wěn)定、因果的系統(tǒng)函數(shù)去逼近濾波器的技術指標。下面,將以此進行分別討論。于是,設計IIR數(shù)字濾波器可以先設計模擬低通濾波器G(s),然后按一定規(guī)則將G(s)進行濾波器變換而得到數(shù)字域的IIR低通濾波器H(z),最后通過頻帶變換轉(zhuǎn)換成其它頻帶濾波器。也可以借助計算機輔助設計軟件采用切比雪夫等波紋逼近法進行設計。另一種是直接在頻域或者時域中進行設計,設計時必須使用計算機輔助,直接調(diào)用MATLAB中的程序或函數(shù)即可設計。其設計思路是:先設計模擬濾波器得到傳輸函數(shù)G(s),然后將G(s)按某種方法轉(zhuǎn)換為數(shù)字濾波器的系統(tǒng)函數(shù)H(z)。設計專用的數(shù)字硬件來實現(xiàn)這個數(shù)字模型,或者通過電子計算機運行程序軟件予以實現(xiàn),本文將側(cè)重于軟件實現(xiàn)。數(shù)字濾波器的設計與實現(xiàn),通常按以下步驟進行:根據(jù)不同用途提出數(shù)字濾波器的技術指標、性能要求。 數(shù)字濾波器的設計方法數(shù)字濾波器從功能上可以分為:低通濾波器(LP,Low Pass)、高通濾波器(HP,High Pass)、帶通濾波器(BP,Band Pass)、帶阻濾波器(BS,Band Stop)。 模擬濾波器的性能只能通過硬件實現(xiàn),而數(shù)字濾波器的性能可通過軟件和硬件同時實現(xiàn)。對于圖11所示的LSI系統(tǒng),其時域輸入輸出關系為: (11)h (n) x(n) y(n) 圖11若y(n),x(n)的傅立葉變換存在,則輸入輸出的頻域關系是: (12)當輸入信號x(n) 通過濾波器系統(tǒng)h(n) 后,其輸出 y(n) 中不再含有|ω|ωc的頻率成分,僅使|ω|ωc的信號成分通過。因此,數(shù)字濾波器的濾波過程是一個計算過程,它將輸入信號的序列數(shù)字按照預定的要求轉(zhuǎn)換成輸出數(shù)列。在許多科學技術領域中,廣泛應用線性濾波和頻譜分析對信號進行加工處理,模擬濾波處理連續(xù)信號,數(shù)字濾波處理離散信號,而后者是在前者的基礎上發(fā)展起來的。嚴格的講,對輸出信號通過一定的處理得到輸出信號,這個處理通常是提取信號中某些頻率范圍內(nèi)的信號成分,把這種處理的過程成為濾波。設計濾波器,就是根據(jù)設計的濾波器類型和參數(shù)計算出滿足設計要求的濾波器的最低階數(shù)和相應的截止頻率,然后進一步求出相應的傳遞函數(shù)的分子、分母系數(shù)。接下來的兩章我們將分別對IIR數(shù)字濾波器和FIR數(shù)字濾波器的設計、實現(xiàn)進行分析討論,在具體的設計過程中,將充分發(fā)揮MATLAB軟件在數(shù)值計算、圖像處理中的優(yōu)勢以達到圖像演示的最佳效果。新版本的MATLAB語言是以最為流行的C++語言為基礎的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學表達式的書寫格式,使之更利于非計算機專業(yè)的科技人員使用。MATLAB是一個高級的矩陣/陣列語言,它具有控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出以及面向?qū)ο缶幊痰奶攸c。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級,MATLAB的用戶界面也越來越精致,更加接近Windows的標準界面,人機交互性更強,操作更簡單,而且現(xiàn)在新版本的MATLAB提供了完整的聯(lián)機查詢、幫助系統(tǒng),極大的方便了用戶的使用。它使用方便,輸入簡捷,運算高效,內(nèi)容豐富,因此很多專家在自己擅長的領域用它編寫了許多專門的MATLAB工具包,由于MATLAB功能的不斷擴展,所以是科學研究中最常用以及必不可少的工具。通過分析程序運行的結(jié)果得到模擬濾波器與數(shù)字濾波器的不同,以及IIR濾波器與FIR濾波器的不同之處,并與實際生產(chǎn)相聯(lián)系得出他們各自的優(yōu)缺點。數(shù)字濾波器是數(shù)字信號處理的重要環(huán)節(jié),數(shù)字濾波器可以分為無限脈沖響應濾波器(IIR, Infinite Impulse Response)和有限脈沖響應濾波器(FIR,F(xiàn)inite Impulse Response)兩大類。濾波器可以分為兩大類,即經(jīng)典濾波器和現(xiàn)代濾波器。河南理工大學萬方科技學院本科畢業(yè)設計(論文)摘 要濾波器是用來選擇所需的某種或某些頻帶的信號,而抑制不需要的其它頻帶信號的裝置。濾波器作為信號處理的重要組成部分,已發(fā)展的相當成熟。本文著重講述了經(jīng)典濾波器的MATLAB仿真。本文首先介紹了濾波器的濾波原理,重點介紹了IIR濾波器和FIR濾波器的基本設計原理,以及在MATLAB環(huán)境下如何將模擬濾波器轉(zhuǎn)換為數(shù)字濾波器,并給出設計實例及運行結(jié)果。關鍵字:濾波 模擬濾波器 數(shù)字濾波器 MATLABAbstract Filter is used to select a desired one or some frequency band signal, and suppresses the unwanted other band signal device. Filter for signal processing is an important ponent, has developed quite mature. The filter can be divided into two categories, namely, classical and modern filter filter. This paper focuses on the classic MATLAB filter simulation. Digital filter digital signal processing is the important link, digital filter can be divided into infinite impulse response filters ( IIR, Infinite Impulse Response ) and the finite impulse response filter ( FIR, Finite Impulse Response ) two categories. This paper first introduces the filter principles, introduced with emphasis on the IIR filter and a FIR filter design fundamentals, as well as in the MATLAB environment how to analog filter is converted to a digital filter, and gives examples of design and operation results. Through the analysis of the program running results are analog and digital filter is different, and the IIR filter and a FIR filter difference, and with actual production is linked to that of their respective advantages and disadvantages.Key words: filter AF DF MATLAB目 錄1 緒 論 1 MATLAB軟件簡介 1 濾波器簡介 2 濾波器工作原理 3 數(shù)字濾波器的設計方法 42 基于MATLAB的IIR數(shù)字濾波器設計 6 模擬濾波器的設計 6 巴特沃斯低通濾波器設計 7 切比雪夫低通濾波器設計 10 模擬數(shù)字濾波器的轉(zhuǎn)換 16 沖擊響應不變法 16 雙線性Z變換法 21 頻帶變換及其MATLAB實現(xiàn) 23 模擬低通濾波器轉(zhuǎn)換成數(shù)字高通濾波器 24 模擬低通濾波器轉(zhuǎn)換成數(shù)字帶通濾波器 26 小結(jié) 303 基于MATLAB的FIR數(shù)字濾波器設計 31 常用窗函數(shù)及MATLAB實現(xiàn) 31 常用窗函數(shù)介紹 32 各種窗函數(shù)的比較與實現(xiàn) 34 基于窗函數(shù)的FIR數(shù)字濾波器設計 35 海明窗設計數(shù)字低通濾波器 36 漢寧窗設計一線性相位FIR高通數(shù)字濾波器 39 用漢寧窗設計FIR帶通濾波器 41 用凱塞窗函數(shù)設計一個FIR帶阻濾波器 46 小結(jié) 484 濾波器的比較 50 模擬濾波器與數(shù)字濾波器的比較 50 IIR與FIR數(shù)字濾波器的比較 505 總結(jié) 52致 謝 53參考文獻 54 IV1 緒 論 MATLAB軟件簡介MATLAB是“矩陣實驗室”(Matrix Laboratoy)的縮寫,是一種科學計算軟件,主要適用于矩陣運算及控制和信息處理領域的分析設計。MATLAB由一系列工具組成,這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面,包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器等。簡單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運行,而且能夠及時地報告出現(xiàn)的錯誤及進行錯誤原因分析。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復雜的應用程序(M文件)后再一起運行。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。 濾波器簡介濾波器(filter),是一種用來消除干擾雜訊的器件,將輸入或輸出經(jīng)過過濾而得到純凈的直流電,其功能就是得到一個特定頻率或消除一個特定頻率。從廣義上講,任何能對某些頻率(相對于其它頻率來說)進行修正的系統(tǒng)都稱為濾波器。實現(xiàn)濾波處理的運算電路或設備稱為濾波器。無源或有源模擬濾波器是分立元件構(gòu)成的線性網(wǎng)絡,他們的性能可以用線性微分方程來描述,而數(shù)字濾波器是個離散線性系統(tǒng),要用差分方程來描述,并以離散變換方法來分析,這些方程組可以用專用的或通用的數(shù)字計算機進行數(shù)字運算來實現(xiàn)。 濾波器工作原理濾波器,顧名思義,其作用是對輸入信號起到濾波的作用。因此,濾波器的形狀不同,其濾波后的信號結(jié)果也不一樣。下面就重點介紹一下數(shù)字濾波器在軟件方面的實現(xiàn)。數(shù)字濾波器也可以按照單位沖激響應h(n)的性質(zhì)分為兩類:無限脈沖響應(Infinite Impulse Response)數(shù)字濾波器,簡稱IIR數(shù)字濾波器,它的h(n)序列長度是無限的,即當時,h(n)仍有效;有限脈沖響應(Finite Impulse Response)數(shù)字濾波器,簡稱FIR數(shù)字濾波器,它的h(n)序列長度是有限的。設計一個穩(wěn)定的、因果的數(shù)學模型H(z)來逼近所要求的技術指標,并用有限精度的運算實現(xiàn)所設計的系統(tǒng)。IIR數(shù)字濾波器和FIR數(shù)字濾波器在設計方法上有很大的不同:IIR數(shù)字濾波器設計方法有兩類,經(jīng)常用到的一類設計方法是借助于模擬濾波器的設計方法進行的。這一類方法是基于模擬濾波器的設計方法相對比較成熟,它不僅有完整的設計公式,也有完整的圖標供查閱,更可以直接調(diào)用MATLAB中對應的函數(shù)進行設計。FIR數(shù)字濾波器不能采用由模擬濾波器設計進行轉(zhuǎn)換的方法,而經(jīng)常使用的是窗函數(shù)法和頻率采樣法。2 基于MATLAB的IIR數(shù)字濾波器設計 IIR數(shù)字濾波器具有無限持續(xù)時間