【正文】
基于MATLAB的數(shù)字濾波器設(shè)計與仿真摘要:數(shù)字濾波器的實現(xiàn)是數(shù)字信號處理中的重要組成部分,設(shè)計過程較復(fù)雜,牽涉到模型逼近,指標(biāo)選擇,計算機仿真,性能分析及可行性分析等一系列的工作,本文從設(shè)計原理以及數(shù)學(xué)軟件MATLAB出發(fā)闡述數(shù)字濾波器的設(shè)計原理與方法。應(yīng)用MATLAB語言設(shè)計數(shù)字濾波器時采用直接程序設(shè)計法、FDATool以及SPTool信號處理工具箱的設(shè)計方法,通過實例,給出了FIR程序設(shè)計法和使用信號處理工具箱中SPTool進行設(shè)計的仿真圖形,并在MATLAB的Simulink環(huán)境下,調(diào)用所設(shè)計的FDATool濾波器進行了仿真。關(guān)鍵詞:MATLAB;數(shù)字濾波器;FDATool;SPTool;Simulink;IIR;FIR;MATLABbased Digital Filter Design and SimulationAbstract: The digital filter is one of the most significant applications of DSP. The design process is very plex involving the model approximation, parameter selection, puter simulation and performance analysis, feasibility analysis and a series of work. This article try to solve the hard problem in another way, making the benefit of the advanced software MATLAB and gives some basic MATLAB advice to readers to help them to learn the information of using MATLAB as a tool to design different kinds of digital filters. The design methods of direct programming, FDATool interface and SP Tool signal processing toolbox are introduced in designing digital filter with MATLAB in this article. The imulation figures are given by programming and SPTool signal processing toolbox. Further more, the designed FDA tool filter are called and simulated in SIMULINKKey words: MATLAB。 Digital filter。 FDATool 。 SPTool 。 IIR。FIR。1引言當(dāng)今,數(shù)字信號處理[1](DSP:Digtal Signal Processing)技術(shù)正飛速發(fā)展,它不但自成一門學(xué)科,更是以不同形式影響和滲透到其他學(xué)科;它與國民經(jīng)濟息息相關(guān),與國防建設(shè)緊密相連;它影響或改變著我們的生產(chǎn)、生活方式,因此受到人們的普遍關(guān)注。數(shù)字化、智能化和網(wǎng)絡(luò)化是當(dāng)代信息技術(shù)發(fā)展的大趨勢,而數(shù)字化是智能化和網(wǎng)絡(luò)化的基礎(chǔ),實際生活中遇到的信號多種多樣,例如廣播信號、電視信號、雷達信號、通信信號、導(dǎo)航信號、射電天文信號、控制信號、氣象信號、遙感遙測信號,等等。上述信號大部分是模擬信號,也有小部分?jǐn)?shù)字信號。模擬信號是自變量的連續(xù)函數(shù),自變量可以是一維的,也可以是二維或多維的。大多數(shù)情況下一維模擬信號的自變量是時間,經(jīng)過時間上的離散化(采樣)和幅度上的離散化(量化),這類模擬信號便成為一維數(shù)字信號。因此,數(shù)字信號實際上是用數(shù)字序列表示的信號,語音信號經(jīng)采樣和量化,得到的數(shù)字信號是一個一維離散的時間序列;而圖像信號經(jīng)采樣和量化后,得到的數(shù)字信號是一個二維離散空間序列。數(shù)字信號處理,就是用數(shù)值計算的方法對數(shù)字序列進行各種處理,把信號變換成符合需要的某種形式。例如,對數(shù)字信號經(jīng)過濾波以限制他的頻帶或濾除噪音和干擾,或?qū)⑺麄兣c其他信號進行分離;對信號進行頻譜分析或功率譜分析以了解信號的頻譜組成,進而對信號識別;對信號進行某種變換,使之更適合傳輸、存儲和應(yīng)用;對信號進行編碼以達到數(shù)據(jù)壓縮的目的,等等。數(shù)字濾波技術(shù)是數(shù)字信號分析、處理技術(shù)的重要分支[24]。無論是信號的獲取、傳輸,還是信號的處理和交換都離不開濾波技術(shù),它對信號安全可靠和有效靈活地傳輸是至關(guān)重要的。在所有的電子系統(tǒng)中,使用最多技術(shù)最復(fù)雜的要算數(shù)字濾波器了,數(shù)字濾波器的優(yōu)劣直接決定產(chǎn)品的優(yōu)劣。在信號處理過程中,所處理的信號往往混有噪聲,從接收到的信號中消除或減弱噪音是信號處理和傳輸中十分重要的問題。根據(jù)有用信號和噪音的不同特性,提取有用信號的過程稱為濾波,實現(xiàn)濾波的系統(tǒng)稱為濾波器。在近代電信設(shè)備和各類控制系統(tǒng)中,數(shù)字濾波器的應(yīng)用極為廣泛,這里只列舉部分應(yīng)用最成功的領(lǐng)域。(1)語音處理語音處理是最早應(yīng)用數(shù)字濾波器的領(lǐng)域之一,也是最早推動數(shù)字信號處理理論發(fā)展的領(lǐng)域之一。該領(lǐng)域主要包括5個方面的內(nèi)容:第一,語音信號分析。即對語音信號的波形特征、統(tǒng)計特征、模型參數(shù)等進行分析計算;第二,語音合成。即利用專用數(shù)字硬件或在通用計算機上運行軟件來產(chǎn)生語音;第三,語音識別。即用專用硬件或計算機識別人講的話,或者識別說話的人;第四,語音增強。即從噪音或干擾中提取被掩蓋的語音信號。第五,語音編碼。主要用于語音數(shù)據(jù)壓縮,目前已經(jīng)建立了一系列語音編碼的國際標(biāo)準(zhǔn),大量用于通信和語音處理。近年來,這5個方面都取得可不少的研究成果,并且,在市場上已出現(xiàn)了一些相關(guān)的軟件和硬件產(chǎn)品。例如,盲人閱讀器、啞人語音合成器、口授打印機、語音應(yīng)答機,各種會說話的儀器和玩具,以及通信和視聽產(chǎn)品大量使用的音頻編碼技術(shù)。(2)圖像處理數(shù)字濾波技術(shù)以成功地應(yīng)用于靜態(tài)圖像和活動圖像的恢復(fù)和增強、數(shù)據(jù)壓縮、去噪音和干擾、圖像識別以及層析X射線攝影,還成功地應(yīng)用于雷達、聲納、超聲波和紅外信號的可見圖像成像。(3)通信在通信技術(shù)領(lǐng)域內(nèi),幾乎沒有一個分支不受到數(shù)字濾波技術(shù)的影響。信源編碼、信道編碼、調(diào)制、多路復(fù)用、數(shù)據(jù)壓縮以及自適應(yīng)信道均衡等,都廣泛應(yīng)用數(shù)字濾波器,特別是在數(shù)字通信、網(wǎng)絡(luò)通信、圖像通信、多媒體通信等應(yīng)用中,離開了數(shù)字濾波器,幾乎寸步難行。其中,被認(rèn)為是通信技術(shù)未來發(fā)展方向的軟件無線電技術(shù),更是以數(shù)字濾波器為基礎(chǔ)。(4)電視數(shù)字電視取代模擬電視已是必然趨勢。高清晰度電視的普及指日可待,與之配套的視頻光盤技術(shù)已經(jīng)形成具有巨大市場的產(chǎn)業(yè);可視電話和會議電視產(chǎn)品不斷更新?lián)Q代。視頻壓縮和音頻壓縮技術(shù)所取得的成就和標(biāo)準(zhǔn)化工作,促成了電視領(lǐng)域產(chǎn)業(yè)的蓬勃發(fā)展,而數(shù)字濾波器及其相關(guān)技術(shù)是視頻壓縮和音頻壓縮技術(shù)的重要基礎(chǔ)。(5)雷達雷達信號占有的頻帶非常寬,數(shù)據(jù)傳輸速率也非常高,因而壓縮數(shù)據(jù)量好降低數(shù)據(jù)傳輸速率是雷達信號數(shù)字處理面臨的首要問題。高速數(shù)字器件的出現(xiàn)促進了雷達信號處理技術(shù)的進步。在現(xiàn)代雷達系統(tǒng)中,數(shù)字信號處理部分是不可或缺的,因為從信號的產(chǎn)生、濾波、加工到目標(biāo)參數(shù)的估計和目標(biāo)成像顯示都離不開數(shù)字濾波器技術(shù)。雷達信號的數(shù)字濾波器是當(dāng)今十分活躍的研究領(lǐng)域之一。(6)生物醫(yī)學(xué)信號處理數(shù)字濾波器在醫(yī)學(xué)中的應(yīng)用日益廣泛,如對腦電圖和心電圖的分析、層析X射線攝影的計算機輔助分析、胎兒心音的自適應(yīng)檢測等。(7)其他領(lǐng)域[5]數(shù)字濾波器的應(yīng)用領(lǐng)域如此廣泛,以至于想完全列舉他們是根本不可能的,除了以上幾個領(lǐng)域外,還有很多其他的應(yīng)用領(lǐng)域。例如,在軍事上被大量應(yīng)用于導(dǎo)航、制導(dǎo)、電子對抗、戰(zhàn)場偵測;在電力系統(tǒng)中被應(yīng)用于能源分布規(guī)劃和自動檢測;在環(huán)境保護中被應(yīng)用于對空氣和噪聲干擾的自動檢測;在經(jīng)濟領(lǐng)域中被應(yīng)用于股票市場預(yù)測和經(jīng)濟效益分析,等等。數(shù)字濾波器的實現(xiàn)[6],大體上有如下幾種方法:(1)在通用的微型機上用軟件實現(xiàn)。軟件可以由使用者自己編寫或使用現(xiàn)成的。自IEEE DSP ,國外的研究機構(gòu)、公司也陸續(xù)推出不同語言不同用途的信號處理軟件包。這種實現(xiàn)方法速度較慢,多用于教學(xué)與科研。(2)用單片機來實現(xiàn)目前單片機的發(fā)展速度很快,功能也很強,依靠單片機的硬件環(huán)境和信號處理軟件可用于工程實際,如數(shù)字控制、醫(yī)療儀器等。(3)利用專門用于信號處理的DSP片來實現(xiàn)。DSP芯片較之單片機有著更為突出的優(yōu)點,如內(nèi)部帶有乘法器、累加器,采用流水線工作方式及并行結(jié)構(gòu),為信號處理技術(shù)應(yīng)用于工程實際提供了可能。 MATLAB軟件介紹MATLAB是由美國的MathWorks公司推出的一套高性能的數(shù)值計算和可視化軟件,它是由Matrix(矩陣)和Laboratory(實驗室)的前三個之母組成。它集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,構(gòu)成了一個方便友好的用戶環(huán)境界面。在MATLAB內(nèi)部配備了涉及到自動控制、信號處理和計算機仿真等種類繁多的工具箱,所以MATLAB的應(yīng)用非常廣泛,它可涉足于數(shù)值分析、控制、信號分析和通信等多種領(lǐng)域。MATLAB不僅可完成基本代數(shù)運算操作,而且還可完成矩陣函數(shù)運算,提供豐富的實用函數(shù)命令。另外, MATLAB最重要的特點就是易于擴展,允許用戶自行構(gòu)建指定功能的M文件,從而構(gòu)成適合其他領(lǐng)域的工具箱,這大大擴展了MATLAB的適用范圍。數(shù)字濾波器精確度高、使用靈活、可靠性高,具有模擬設(shè)備沒有的許多優(yōu)點,已廣泛地應(yīng)用于各個科學(xué)技術(shù)領(lǐng)域,例如數(shù)字電視、語音、通信、雷達、聲納、遙感、圖像、生物醫(yī)學(xué)以及許多工程應(yīng)用領(lǐng)域。隨著信息時代數(shù)字時代的到來,數(shù)字濾波技術(shù)已經(jīng)成為一門極其重要的學(xué)科和技術(shù)領(lǐng)域。以往的濾波器大多采用模擬電路技術(shù),但是,模擬電路技術(shù)存在很多難以解決的問題。例如,模擬電路元件對溫度的敏感性,等等。而采用數(shù)字技術(shù)則避免很多類似的難題,當(dāng)然數(shù)字濾波器在其他方面也有很多突出的優(yōu)點,這些都在前面部分已經(jīng)提到,這些都是模擬技術(shù)所不能及的,所以,采用數(shù)字濾波器對信號進行處理是目前的發(fā)展方向。2數(shù)字濾波器概述數(shù)字濾波器可以用差分方程、單位取樣響應(yīng)以及系統(tǒng)函數(shù)等表示。對于研究系統(tǒng)的實現(xiàn)方法,即它的運算結(jié)構(gòu)來說,用框圖表示最為直接。一個給定的輸入輸出關(guān)系,可以用多種不同的數(shù)字網(wǎng)絡(luò)來實現(xiàn)。在不考慮量化影響時,這些不同的實現(xiàn)方法是等效的;但是在考慮量化影響時,這些不同的實現(xiàn)方法性能上就有差異。因此,運算結(jié)構(gòu)很重要,同一個系統(tǒng)函數(shù),運算結(jié)構(gòu)的不同,將會影響系統(tǒng)的精度、誤差、穩(wěn)定性、經(jīng)濟性以及運算速度等許多重要性能。IIR濾波器與FIR濾波器在