版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
蘭州理工大學(xué)畢業(yè)論文第1章 緒論1.1數(shù)字濾波器的優(yōu)點濾波器是指用來對輸入信號進(jìn)行濾波的硬件或軟件。如果濾波器的輸入、輸出都是離散時間信號,則該濾波器的沖激響應(yīng)也必然離散,這樣的濾波器定義為數(shù)字濾波器。數(shù)字濾波器在數(shù)字信號處理的各種應(yīng)用中發(fā)揮著十分重要的作用,它是通過對采樣數(shù)據(jù)信號進(jìn)行數(shù)學(xué)運算處理來達(dá)到頻域濾波的目的。數(shù)字濾波器是提取有用信息非常重要、非常靈活的方法,是現(xiàn)代信號處理的重要內(nèi)容。因而在數(shù)字通信、語音圖象處理、譜分析、模式識別、自動控制等領(lǐng)域得到了廣泛的應(yīng)用。相對于模擬濾波器,數(shù)字濾波器沒有漂移,能夠處理低頻信號,頻率響應(yīng)特性可做成非常接近于理想的特性,且精度可以達(dá)到很高,容易集成等,這些優(yōu)勢決定了數(shù)字濾波器的應(yīng)用將會越來越廣泛。同時DSP(DigitalSignalProcessor)處理器的出現(xiàn)和FPGA(FieldProgrammableGateArray)的迅速發(fā)展也促進(jìn)了數(shù)字濾波器的發(fā)展,并為數(shù)字濾波器的硬件實現(xiàn)提供了更多的選擇。相對于模擬濾波器數(shù)字濾波器具有以下顯著的優(yōu)點:精度高:模擬電路中元件的精度很難達(dá)到10。以上,而數(shù)字系統(tǒng)17位字長就可以達(dá)到105精度。因此在一些精度要求很高的濾波系統(tǒng)中,就必須采用數(shù)字濾波器來實現(xiàn)。靈活性大:數(shù)字濾波器的性能主要取決于乘法器的各系數(shù),而這些系數(shù)是存放在系統(tǒng)存儲器中的,只要改變存儲器存放的系數(shù),就可以得到不同的系統(tǒng),這些都比改變模擬濾波器系統(tǒng)的特性要容易和方便的多,因而具有很大的靈活性??煽啃愿撸阂驗閿?shù)字系統(tǒng)只有兩個電平信號“0”和“1易于大規(guī)模集成:數(shù)字部件具有高度的規(guī)范性,便于大規(guī)模集成,大規(guī)模生產(chǎn),且數(shù)字濾波器電路主要工作在截止或飽和狀態(tài),對電路參數(shù)要求不嚴(yán)格,因此產(chǎn)品的成品率高,價格也日趨降低。相對于模擬濾波器,數(shù)字濾波器在體積、重量和性能方面的優(yōu)勢已越來越明顯。并行處理:數(shù)字濾波器的另外一個最大的優(yōu)點就是可以實現(xiàn)并行處理,比如數(shù)字濾波器可以采用DSP處理器來實現(xiàn)并行處理。TI公司TMS320C5000系列的DSP芯片采用8條指令并行處理的結(jié)構(gòu),時鐘頻率為100MHZ的DSP芯片。可高達(dá)800M口S(每秒執(zhí)行百萬條指令)。1.2數(shù)字濾波器的發(fā)展動態(tài)近些年,線性濾波方法,如Wiener濾波、Kalman濾波和自適應(yīng)濾波得到了廣泛的研究和應(yīng)用,同時一些非線性濾波方法,如小波濾波、同態(tài)濾波、中值濾波、形態(tài)濾波等都是現(xiàn)代信號處理的前言課題,不但有重要的理論意義,而且有廣闊的應(yīng)用前景。Wiener濾波是最早提出的一種濾波方法,當(dāng)信號混有白噪聲時,可以在最小均方誤差條件下得到信號的最佳估計。但是,由于求解Wiener-Hoff方程的復(fù)雜性,使得Wiener濾波實際應(yīng)用起來很困難,不過Wiener濾波在理論上的意義是非常重要的,利用Wiener濾波的純一步預(yù)測,可以求解信號的模型參數(shù),進(jìn)而獲得著名的Lcvinson算法。Kalman濾波是20世紀(jì)60年代初提出的一種濾波方法。與Wiener濾波相似,它同樣可以在最小均方誤差條件下給出信號的最佳估計。所不同的是,這種濾波技術(shù)在時域中采用遞推方式進(jìn)行,因此速度快,便于實時處理,從而得到了廣泛的應(yīng)用。Kalman濾波推廣到二維,可以用于圖象的去噪。當(dāng)假設(shè)Wiener濾波器的單位脈沖響應(yīng)為有限長時,可以采用自適應(yīng)濾波的方法得到濾波器的最佳響應(yīng)。由于它避開了求解Wiener-Hoff方程,為某些問題的解決帶來了極大的方便。小波濾波就是利用信號和噪聲的目的。同態(tài)濾波主要用于解決信號和噪聲之間不是相加而是相乘關(guān)系時濾波問題。另外,當(dāng)信號和噪聲之間為卷積關(guān)系的時候,在一定條件下可以利用同態(tài)濾波把信號有效地分離開來由同態(tài)濾波理論引申出的復(fù)時譜也成為現(xiàn)代信號處理中極為重要的概念。Wiener濾波、Kalman濾波和自適應(yīng)濾波都是線性濾波,線性濾波的最大缺點就是在消除噪聲的同時,會造成信號邊緣的模糊。中值濾波是20世紀(jì)70年代提出的一種非線性濾波方法,它可以在最小絕對誤差條件下,給出信號的最佳估計。這種濾波方法的優(yōu)點,就是能夠保持信號的邊緣不模糊。另外它對脈沖噪聲也有良好的清除作用。形態(tài)濾波是建立在集合運算上的一種非線性濾波方法,它除了用于濾除信號中的噪聲外,還在圖象分析中發(fā)揮了重要的作用1.3數(shù)字濾波器的實現(xiàn)方法數(shù)字濾波器的實現(xiàn)方法一般有以下幾種:在通用的計算機(jī)(如PC)上用軟件(如C語言)實現(xiàn)。軟件可以是由自己編寫,也可以使用現(xiàn)成的軟件包。這種方法的缺點是速度太慢,不能用于實時系統(tǒng),主要用于DSP算法的模擬與仿真。在通用的計算機(jī)系統(tǒng)中加上專用的加速處理機(jī)實現(xiàn)。這種方法不便于系統(tǒng)的獨立運行。用通用的單片機(jī)實現(xiàn)。單片機(jī)的接口性能良好容易實現(xiàn)人機(jī)接口。由于單片機(jī)采用的是馮諾依曼總線結(jié)構(gòu),系統(tǒng)比較復(fù)雜,實現(xiàn)乘法運算速度較慢,而在數(shù)字濾波器中涉及大量的乘法運算,因此,這種方法適用于一些不太復(fù)雜的數(shù)字信號處理。用通用的可編程DSP芯片實現(xiàn)。與單片機(jī)相比,DSP有著更適合于數(shù)字濾波的特點。它利用改進(jìn)的哈佛總線結(jié)構(gòu),內(nèi)部有硬件乘法器、累加器,使用流水線結(jié)構(gòu),具有良好的并行特點,并有專門設(shè)計的適用于數(shù)字信號處理的指令系統(tǒng)等。用專用的DSP芯片實現(xiàn)。在一些特殊的場合,要求的信號處理速度極高,而通用DSP芯片很難實現(xiàn),這種芯片將相應(yīng)的信號處理算法在芯片內(nèi)部用硬件實現(xiàn),無須進(jìn)行編程。用FPGA等可編程器件來開發(fā)數(shù)字濾波算法。使用相關(guān)開發(fā)工具和VHDL等硬件開發(fā)語言,通過軟件編程用硬件實現(xiàn)特定的數(shù)字濾波算法。這一方法由于具有通用性的特點并可以實現(xiàn)算法的并行運算,無論是作為獨立的數(shù)字信號處理,還是作為DSP芯片的協(xié)作處理器都是比較活躍的研究領(lǐng)域。通過比較這些方法可見:可以采用MATLAB等軟件來學(xué)習(xí)數(shù)字濾波器的基本知識,計算數(shù)字濾波器的系數(shù),研究算法的可行性,對數(shù)字濾波器進(jìn)行前期的仿真??梢圆捎肈SP或FPGA來實現(xiàn)硬件電路。本論文研究的重點集中在利用DSP來實現(xiàn)數(shù)字濾波的硬件電路。1.4數(shù)字濾波器的設(shè)計過程數(shù)字濾波器設(shè)計過程就是從給定的技術(shù)指標(biāo)開始到以濾波器產(chǎn)品原型的實現(xiàn)而結(jié)束的一系列過程,該過程包括四個一般步驟:函數(shù)逼近、電路實現(xiàn)、缺陷研究、產(chǎn)品實現(xiàn)。函數(shù)逼近:就是產(chǎn)生滿足理想技術(shù)指標(biāo)的轉(zhuǎn)移函數(shù)即建立一個目標(biāo)的數(shù)字濾波器模型。通常,首先采用理想的數(shù)字濾波器模型,然后利用數(shù)字濾波器的設(shè)計方法,設(shè)計出一個實際濾波器模型來逼近給定的目標(biāo)。電路實現(xiàn):是把濾波器的轉(zhuǎn)移函數(shù)轉(zhuǎn)換為方框圖(也叫做數(shù)字濾波器網(wǎng)絡(luò))或轉(zhuǎn)換為一組對輸入數(shù)字序列進(jìn)行順序計算的方程。缺陷研究:研究各種非理想因素的影響,如存儲采樣值和系數(shù)的有限字長,或在不違反濾波器技術(shù)指標(biāo)的條件下所允許的最大量化步長。產(chǎn)品實現(xiàn):用硬件(DSP處理器、專用硬件、常用VLSI芯片)或者在普通計算機(jī)、專用計算機(jī)或陣列處理器上運行的軟件構(gòu)建濾波器的原型,需要進(jìn)行的判斷如器件的類型和制造方法、數(shù)據(jù)字長,系數(shù)字長等。通常上述四個步驟互相并不獨立,但是一般分別進(jìn)行,其主要目的是在最短時間內(nèi)找出最經(jīng)濟(jì)的方案。而基于DSP的數(shù)字濾波器的設(shè)計過程如下:(1)根據(jù)指標(biāo)確定濾波器的類型,設(shè)計出濾波器的函數(shù)逼近;(2)根據(jù)DSP的特點(字長,精度等)對參數(shù)進(jìn)行取舍、量化,然后進(jìn)行仿真;(3)根據(jù)仿真結(jié)果對濾波器的結(jié)構(gòu)、參數(shù)再次進(jìn)行整,直到滿足以指標(biāo)要求為止:(4)在DSP上用語言實現(xiàn)濾波器功能。在上述要求的前提下,找到盡可能簡易的實現(xiàn)方法.定點DSP芯片,既可以做定點運算,也可以做浮點運算。一個算法,既可以用匯編語言編程實現(xiàn),也可以用高級語言(C,c++)實現(xiàn)。而一個數(shù)字濾波器是否可以在DSP上實現(xiàn),最終要看此算法是否滿足兩個條件:執(zhí)行時間和精度。一個算法的精度再高,如果不能做到實時,也沒有實用價值:相反,如果執(zhí)行時間很快,但精度滿足不了要求,也就無從實現(xiàn)濾波功能。數(shù)字濾波器在DSP上的實現(xiàn)思路,應(yīng)該是在滿足上面兩個條件的前提下,找到盡可能簡易的實現(xiàn)方法。1.5論文研究內(nèi)容本論文主要:①研究數(shù)字濾波的理論知識,為系統(tǒng)整體設(shè)計奠定了理論基礎(chǔ):②研究了MATLAB軟件在數(shù)字信號處理,尤其是數(shù)字濾波器處理中的應(yīng)用,仿真出了幾種數(shù)字濾波器的基本模;③研究TI公司TMS320VC5509數(shù)字信號處理器的內(nèi)部結(jié)構(gòu)及片上資源,設(shè)計一個價格低、功耗小、精度高的數(shù)字濾波器系統(tǒng)。④研究有限長沖激響應(yīng)數(shù)字濾波器和無限長沖激響應(yīng)數(shù)字濾波器在DSP中的具體實現(xiàn)方法。編寫一套可行的高效的數(shù)字濾波器程序⑤研究TI公司DSP系統(tǒng)開發(fā)工具的應(yīng)用,調(diào)試系統(tǒng)的硬件平臺和程序。1.6本章小結(jié)本章首先分析了數(shù)字濾波器在工業(yè)應(yīng)用中的優(yōu)點以及數(shù)字濾波的研究現(xiàn)狀,然后著重對數(shù)字濾波器濾波算法的實現(xiàn)方法和實現(xiàn)過程,最后介紹了本論文研究的內(nèi)容。第2章 數(shù)字濾波器理論研究2.1數(shù)字濾波器概述數(shù)字濾波器是完成信號濾波處理功能的,用有限進(jìn)度算法實現(xiàn)的離散時間線性非時變系統(tǒng),其輸入是一組數(shù)字量,其輸出是經(jīng)過變換的另一組數(shù)字量。因此,數(shù)字濾波本身既可以是用數(shù)字硬件裝配成一臺完成給定運算的專用的數(shù)字計算機(jī),也可以將所需要的運算編程為程序,讓通用計算機(jī)來執(zhí)行。信號中一般都包含噪聲或者說其中有很多能量在感興趣的最高頻率之外,因此我們要用濾波電路將不感興趣的帶寬之外的信號和噪聲移去。數(shù)字濾波器是數(shù)字信號處理中使用最廣泛的一種線性系統(tǒng)環(huán)節(jié),圖2—1給出了一個具有模擬輸入信號和輸出信號的實時數(shù)據(jù)濾波器的簡化框圖。這個模擬信號被周期地抽樣,且轉(zhuǎn)化成一系列數(shù)字x(n)(n=0,1…)。數(shù)字濾波器依據(jù)濾波器的計算算法,執(zhí)行濾波算法運算、把輸入系列x(n)映射到輸出系列y(n)。DAC把數(shù)字濾波后的輸出轉(zhuǎn)化成模擬值,這些模擬值接著被模擬濾波器平滑,并且消去不需要的高頻分量圖2-1實時數(shù)字濾波器簡化框圖在信號處理中,為了防止采樣過程中的混疊現(xiàn)象,必須在A/D轉(zhuǎn)換之前使用低通濾波器,把1/2采樣頻率以上的信號衰減掉。如圖2—2所示,在~D轉(zhuǎn)換前,加入一個低通濾波器,這樣,經(jīng)過A/D轉(zhuǎn)換之后,有效地避免了混疊現(xiàn)象的發(fā)生,從而保證了后續(xù)數(shù)字處理的正常迸行圖2-2抗混疊濾波器的作用在實時數(shù)字系統(tǒng)中,要根據(jù)實斷怙況設(shè)定不同的分析頻率,即信號分析頻率可由用戶設(shè)定,那么抗混巹濾波的截Jf:頻率也要發(fā)生變化:L-E/2??梢韵胂?,信號分析系統(tǒng)需要在實時系統(tǒng)需要多少擋分析頻率,就需要多少只抗混疊濾波器,這樣導(dǎo)致模擬電路的設(shè)計十分繁瑣,而且要保證每個濾波器參數(shù)一致,高精度、線性等困難隨著DSP技術(shù)廣泛應(yīng)用,現(xiàn)在逐步采用的技術(shù)是:在經(jīng)過A/D轉(zhuǎn)換之后,采用數(shù)字濾波技術(shù)滿足不同分析頻率下信號分析的需要。相應(yīng)地,A/D轉(zhuǎn)換保持最高轉(zhuǎn)換頻率不變,只需要一個模擬抗混疊濾波器,而通過調(diào)節(jié)數(shù)字濾波器參數(shù)改變數(shù)字濾波器的輸出,相當(dāng)于改變不同的A/D轉(zhuǎn)換頻率。如圖2--3所示,A/D轉(zhuǎn)換前端時域參數(shù)固定的模擬抗混疊濾波器,在A/D轉(zhuǎn)換后使用參數(shù)可調(diào)的數(shù)字濾波器。這樣設(shè)計筋化了模擬抗混疊濾波器的設(shè)計,提高了系統(tǒng)的穩(wěn)定性和抗干擾性能。參數(shù)固定的模擬參數(shù)可調(diào)的抗混疊濾波器A_D轉(zhuǎn)換器數(shù)字濾波器圖2-3抗混疊數(shù)字濾波器的作用數(shù)字濾波器具有穩(wěn)定性高、精度高、靈活性大等突出的優(yōu)點。隨著數(shù)字技術(shù)的發(fā)展,用數(shù)字技術(shù)實現(xiàn)濾波器的功能越來越受到人們的注意和廣泛的應(yīng)用。從數(shù)字濾波器的單位沖擊響應(yīng)來看,可咀分為兩大類:有限沖擊響應(yīng)(FIR)數(shù)字濾波器和無限沖擊響應(yīng)(IIR)數(shù)字濾波器。濾波器按功能上分可以分為:低通濾波器(LPF)、高通濾波器(HPF)、帶通濾波器(BPF)、帶阻濾波器(BSF)。2.1.1數(shù)字濾波器的數(shù)學(xué)模型經(jīng)典數(shù)字濾波器是一個線性非時變系統(tǒng),其數(shù)學(xué)模型可用Z域系統(tǒng)函數(shù)H(z)表示為sos=b0kb1kHz=Y模型參數(shù)為a,b,N,M。a=a1,a2,?yn=輸入和輸出之間尉時間域結(jié)構(gòu)框圖和z域(離散域)結(jié)構(gòu)框圖入圖2--4所示。x(n)圖2-4數(shù)字濾波器的結(jié)構(gòu)框圖當(dāng)ak=0,k=1—M時z域系統(tǒng)函數(shù)H(z)只有零點,y=hn=yn|顯然此時當(dāng)0≤n≤N時h(n)當(dāng)ak值不完全為零時,z域系統(tǒng)函數(shù)H(z)至少包含有一個極點此時單位脈沖響應(yīng)必定為無限,對于一個穩(wěn)定的數(shù)字系統(tǒng),z域系統(tǒng)函數(shù)H(z)必須在單位圓內(nèi)部,通常z域系統(tǒng)函數(shù)H(z)包含極點的數(shù)字濾波器為無限沖擊響應(yīng)(InfiniteImpulseResponse,IIR數(shù)字濾波器的性能指標(biāo)令z=eHejτω=式中Hejω是數(shù)字濾波器的幅頻特性;φ(ω)數(shù)字濾波器的幅頻特性經(jīng)典數(shù)字濾波器從濾波器功能上可分為:低通濾波器(LPF)、高通濾波器(HPF)、帶通濾波器(BPF)和帶阻濾波器(BSF)。圖2—5是理想數(shù)字濾波器的幅頻特性。理想數(shù)字濾波器通常有通帶和阻帶兩個頻帶組成,通帶和阻帶之問的幅頻特性產(chǎn)生突變,其單位沖擊脈沖h(n)是非因果性的無限長序列,不可實現(xiàn)。為了得到穩(wěn)定、可實現(xiàn)的數(shù)字濾波器非實際數(shù)字濾波器的頻響通常有通帶、阻帶和過渡帶構(gòu)成;實際數(shù)字濾波器的頻響通常有通帶、阻帶和過渡帶構(gòu)成,并且通帶和阻帶的幅頻特性也不是恒定不變。以低通數(shù)字濾波器為例,其典型的實際幅頻特性如圖2—6所示。圖中,αp,是通帶內(nèi)最大衰減;↑ωp是通帶內(nèi)數(shù)字相角頻率;αs是阻帶內(nèi)最小衰減;ωs是阻帶數(shù)字相角頻率ωp圖2-5是理想數(shù)字濾波器的幅頻特性圖2-6實際低通數(shù)字濾波器的典型幅頻特性δpφω=總之,αp,αs,ωp,ωs在數(shù)字濾波器的設(shè)計中非常重要,這幾個參數(shù)就統(tǒng)稱為數(shù)字濾波器的技術(shù)指標(biāo)??梢员硎緸閇(通帶角頻率,通帶衰減),(阻帶角頻率,阻帶衰減數(shù)字濾波器的相頻特性設(shè)計數(shù)字濾波器時,大多數(shù)場合只需要考慮滿足幅頻特性。但是在一些特殊場合(如圖象信號處理)對濾波器的相頻特性也有嚴(yán)格的要求。主要希望數(shù)字濾波器具有線性相位特性,保證不同信號成分的正弦信號通過濾波器后的延遲相同。線性相位系統(tǒng)的相頻特性必須滿足φω=式中,α和β為常數(shù)。2.2數(shù)字濾波器的設(shè)計方法濾波是從分析信號中提取用戶需要的信息,濾去不需要的信號成分或干擾信號成分。根據(jù)不同的設(shè)計要求,以及信號與干擾的不同關(guān)系,可以從時域、頻域或變換域(同態(tài))進(jìn)行信號濾波設(shè)計。2.2.1頻域數(shù)字濾波所謂頻域數(shù)字濾波就是要提取或抑制分析信號x(n)中某些頻帶的信號成分η(n)。在設(shè)計頻域數(shù)字濾波時,要求信號s(n)和被濾出信號η(n)在頻域具有可分性。設(shè)分析信號x(n)=s(n)+η(n),其中s(n)為真實信號,η(n)為干擾信號。當(dāng)s(n)和η(n)的頻帶相互重疊時,就不可能從頻域濾波設(shè)計得到真實信號s(n)。x(n)=s(n)*h(n)2.2.2時域數(shù)字濾波信號分析過程中,真實信號s(n)往往會受到干擾信號加性噪聲η(n)的干擾,由于噪聲頻譜很寬,信號s(n)的頻譜和噪聲η(n)的頻譜肯定會受產(chǎn)生重疊。當(dāng)信噪比(SNR)較低時,噪聲頻譜甚至?xí)蜎]信號頻譜,也就是說,當(dāng)信號和噪聲在頻域沒有可分性,只能在時域進(jìn)行濾波設(shè)計,根據(jù)信號和噪聲的統(tǒng)計特性差異將它們分開,常用的設(shè)計方法為最小二乘法。2.2.3同態(tài)數(shù)字濾波有時真實信號雖然并沒有受到時域加性噪聲的干擾,但因為各種原因卻產(chǎn)生了畸變。最常見的是乘積性畸變和卷積性畸變,即x(n)=s(n)?h(n)或x(n)=s(n)*h(n)。從這些畸變信號x(n)中濾出真實信號的過程稱為同態(tài)濾波。在頻域、時域和同態(tài)濾波器設(shè)計中,頻域濾波設(shè)計屬于經(jīng)典數(shù)字濾波范疇,時域和同態(tài)濾波設(shè)計屬于現(xiàn)代濾波設(shè)計范疇。2.3IIR數(shù)字濾波器結(jié)構(gòu)Hz=r=0對應(yīng)的差分方程為:yn=其中y(n)由兩部分構(gòu)成:第一部分r=0Mbrxn-r是一個對輸入x(n)的M節(jié)延時鏈結(jié)構(gòu),每節(jié)延時抽頭后加權(quán)相加:第二部分圖2-7直接型I結(jié)構(gòu)方框圖將上式改寫為(當(dāng)M=N的情況):HZ=由此H(z)可視為分予多項式r=0NbrH1z=Y(z故得:Yz=r=0Nbr其時域表示為:yn=r=0Nbr第二子系統(tǒng)實現(xiàn)級點為:H2z=W(z)整理以后可得:Wz=Xz+k=1其時域表示為:wn=xn+k=1N綜上說述可以得到如圖2—8的實現(xiàn)結(jié)構(gòu)圖2-8直接型I的變形結(jié)構(gòu)方框圖如果將圖2-8中相同輸出的延遲單元合并成一個,則得到如圖2-9所示的結(jié)構(gòu)圖,它比上圖的延遲單元少了一倍,N階濾波器只需要N級延遲單元,這是實現(xiàn)N階濾波器所必須的最少數(shù)量的延遲單元。這種結(jié)構(gòu)稱為直接型II,有時將直接型I簡稱為直接型,將直接型lI稱為典型型式圖2-9直接型II結(jié)構(gòu)方框圖線性信號流圖理論中有許多運算處理方法,可以在保持輸入和輸出之間的傳輸關(guān)系不變的情況下,將信號流圖變換成各種不同的形式。其中流圖轉(zhuǎn)置的方法可導(dǎo)出一種轉(zhuǎn)置濾波器結(jié)構(gòu),具體地講,就是把網(wǎng)絡(luò)中所有支路的方向都顛倒反向,且輸入輸出的位置互相調(diào)換一下。對于單輸入輸出系統(tǒng)來說,倒轉(zhuǎn)后的結(jié)構(gòu)和原結(jié)構(gòu)的系統(tǒng)函數(shù)相同,但對有限字長而言,轉(zhuǎn)置結(jié)構(gòu)與原結(jié)構(gòu)性質(zhì)不同。直接型I、II結(jié)構(gòu)的優(yōu)點是簡單直觀。它們的共同缺點是:系數(shù)ak、b,對濾波器性能的控制關(guān)系不直接,因此調(diào)整不方便。更嚴(yán)重的是這種結(jié)構(gòu)的極點位置靈敏度太大,對字長效應(yīng)太敏感,容易出現(xiàn)不穩(wěn)定現(xiàn)象,產(chǎn)生較大誤差。由于直接型結(jié)構(gòu)存在上述缺點,因此一般采用以下結(jié)構(gòu)更具有優(yōu)越性。將式中的分子分母表達(dá)為因子的形式,即:Hz=r=0M式中A為歸一化常數(shù)。由于系統(tǒng)函數(shù)H(z)的系數(shù)ak、br都是實系數(shù),故零、crHz=Ai=1式中M=M1+2M2,N=N1+2N2,2.4FIR數(shù)字濾波器結(jié)構(gòu)有限長單位脈沖響應(yīng)濾波器的系統(tǒng)函數(shù)為:Hz=n=0N其差分方程為:yn=k=0N其基本結(jié)構(gòu)型式有以下幾種:由上式可以得出如下圖2-10所示的直接型結(jié)構(gòu),這種結(jié)構(gòu)又可以稱為卷積型結(jié)構(gòu)。圖2-9FIR濾波器直接型結(jié)構(gòu)圖將轉(zhuǎn)置理論應(yīng)用于上圖可以得到圖(2—5)所示的轉(zhuǎn)置直接型結(jié)構(gòu)圖2-10FIR濾波器轉(zhuǎn)置結(jié)構(gòu)圖將式中的系統(tǒng)函數(shù)H(z)分解成若干一階和二階多項式的連乘積:Hz=k=1M則可構(gòu)成如圖2-11所示的級聯(lián)型結(jié)構(gòu)。其中H1kz=a0k(1)+a1k(1)z-1為一階節(jié);H(a)級聯(lián)型結(jié)構(gòu)框圖(b)級聯(lián)型結(jié)構(gòu)框圖圖2-11FIR級聯(lián)型結(jié)構(gòu)構(gòu)成2.5IIR與FIR數(shù)字濾波器的比較IlR濾波器系統(tǒng)函數(shù)的極點可以位于單位圓內(nèi)的任何地方,因此可以用較低的階數(shù)獲得高選擇性,所用存儲單元少,經(jīng)濟(jì)而效率高。但這些是以相位的非線性為代價的。選擇性越好,則相位非線性越嚴(yán)重。相反,F(xiàn)IR濾波器卻可以得到嚴(yán)格的線性相位,然而由于FIR濾波器系統(tǒng)函數(shù)的極點固定在原點,所以只能用較高的階數(shù)達(dá)到高選擇性,對于同樣的濾波器設(shè)計指標(biāo),F(xiàn)IR濾波器所要求的階數(shù)可以比IIR濾波器高5—10倍,成本較高,信號延時也較大。如果按相同的選擇性和相同的線性相位要求來說,則IIR濾波器就必須加全通網(wǎng)絡(luò)進(jìn)行相位校正,同樣要大大增加濾波器的節(jié)數(shù)和復(fù)雜性FIR濾波器可以用非遞歸方法實現(xiàn),有限精度的計算不會產(chǎn)生振蕩。同時由于量化舍入以及系數(shù)的不準(zhǔn)確所引起的誤差的影響比IIR濾波器要小得多。顯然對fIR濾波器必須留心穩(wěn)定性問題,注意極點是否會位于單位圓之外,另外有限字長效應(yīng)有時會引起寄生振蕩。再者FIR濾波器可采用n叮算法,在相同階數(shù)下,運算速度可以快得多14J。IIR濾波器可以借助于模擬濾波器的成果,一般都有有效的封閉式設(shè)計公式可供準(zhǔn)確計算,計算工作量比較小,對計算工具要求不高。FIR濾波器沒有現(xiàn)成設(shè)計公式。窗函數(shù)法僅僅可以給出窗函數(shù)的計算公式,但計算通、阻帶衰減仍無顯式表達(dá)式、其他大多數(shù)設(shè)計FIR濾波器的方法都需要借助計算機(jī)輔助設(shè)計。IlR濾波器設(shè)計法,主要是設(shè)計規(guī)格化的,頻率特性為分段常數(shù)的濾波器,而FIR濾波器則易于適應(yīng)某些特殊應(yīng)用,如構(gòu)成微分器或積分器,或用于巴特渥斯、切比雪夫等逼近不可能達(dá)到預(yù)定指標(biāo)的情況,例如由于某些原因要求三角形振幅響應(yīng)第3章 數(shù)字濾波器的計算機(jī)輔助設(shè)計數(shù)字濾波器用硬件實現(xiàn)的基本部件包括延遲器、乘法器和加法器;如果用軟件來實現(xiàn)時,它即是一段線性卷積程序。軟件實現(xiàn)的優(yōu)點是系統(tǒng)函數(shù)具有可變性,僅依賴于算法結(jié)構(gòu),并且易于獲得較理想的濾波性能,所以軟件濾波在濾波器的使用中起到了越來越重要的作用。各種高級語言在設(shè)計和實現(xiàn)濾波器當(dāng)中都有一整套成熟的程序組,在使用這些程序時讓使用者感到頭痛的是它們?nèi)唛L的程序和修改參數(shù)的不方便,特別是濾波器各種表達(dá)式和濾波器各種形式相互之間的轉(zhuǎn)換,顯得十分復(fù)雜。濾波器軟件的設(shè)計和實現(xiàn)在信號處理軟件設(shè)計和使用當(dāng)中占有十分重要的地位和作用。MATLAB的信號處理工具箱的兩個基本組成就是濾波器的設(shè)計和實現(xiàn)以及頻譜分析。工具箱提供了豐富而簡單的設(shè)計、實現(xiàn)FIR和IIR的方法,使原來繁瑣的程序設(shè)計簡化成函數(shù)的調(diào)用,特別是濾波器的表達(dá)方式和濾波器形式之間的相互轉(zhuǎn)換顯得十分簡便,為濾波器的設(shè)計和實現(xiàn)開辟了一片廣闊的天地。IIR與FIR濾波器不論是在性能上還是在設(shè)計方法上都有很大的區(qū)別。FIR濾波器可以對給定的頻率特性直接設(shè)計,而IIR濾波器目前最通用的方法是利用已成熟的模擬濾波器的設(shè)計方法來進(jìn)行設(shè)計。不管是IIR還是FIR濾波器的設(shè)計都包括以下三個步驟:給出所需要的濾波器的技術(shù)指標(biāo);設(shè)計一個H(z)使其逼近所需要的技術(shù)指標(biāo):實現(xiàn)所設(shè)計的H(z)3.1濾波器的表達(dá)方式在線性系統(tǒng)理論中,系統(tǒng)表示一般常用的數(shù)學(xué)模型包括有:傳遞函數(shù)模型(系統(tǒng)外部模型)、狀態(tài)方程模型(系統(tǒng)內(nèi)部模型)和零極點增益模型等。這些數(shù)學(xué)模型之間有著內(nèi)在的等效關(guān)系,使用在不同場合有其各自的優(yōu)勢。3.1.1濾波器的傳遞函數(shù)模型一個線一睦時不變(LTI)數(shù)字濾波器可以用以下的長系數(shù)線性差分方程來表一個線一睦時不變(LTI)數(shù)字濾波器可以用以下的長系數(shù)線性差分方程來表不:yn=i=1M式中x(n)和y(n)分別表示輸入和輸出信號序列,ai和bi以是濾波器系數(shù)。當(dāng)式中yn=i=1M則稱該濾波器為非遞歸型濾波器,此時系統(tǒng)的輸出與輸入有關(guān),而與輸出無關(guān),這種濾波器沒有極點,故稱之為全零點濾波器。當(dāng)bi不全為零時,即輸出不僅與輸入有關(guān),而且與過去的輸出有關(guān),則稱這種濾波器為遞歸型濾波器。設(shè)式中輸入信號x(n)與輸出信號y(n)在n=0i=1Nbiy式中的b0=1,對上式兩邊進(jìn)行zi=0Nbiz得到系統(tǒng)的脈沖傳遞函數(shù)為Hz=i=1M對LTI系統(tǒng)來說,上式中ai和b這種系統(tǒng)在MATLAB當(dāng)中可以用其分子和分母的系數(shù),即濾波器系數(shù)構(gòu)成的兩個向量來唯一確定:num=den=b1,b2可以對傳遞函數(shù)進(jìn)行首一化處理,在傳遞函數(shù)的上下同時除以b1num=den=b1,b23.1.2濾波器的狀態(tài)方程模型狀念方程是描述系統(tǒng)的一種常用的方式,這種方式是基于系統(tǒng)的不可見的狀態(tài)變量的.所以又往往稱為系統(tǒng)的內(nèi)部描述方法。連續(xù)LTI系統(tǒng)的狀態(tài)方程可以寫成xyt=Cxt+Du(t其中A,B,C,D分別為常數(shù)矩陣,在MATLAB中,一般情況下,系統(tǒng)的狀態(tài)方程可以簡記為(A,B,C,D),如果D=0,則系統(tǒng)的狀態(tài)方程模型可以簡記為(A,B,C)對于離散時間系統(tǒng)來說,狀態(tài)方程模型可以寫成:xyi+1T=Cxi+1以上可寫成xyi+1=Cxi+1這樣離散時間系統(tǒng)的狀態(tài)方程模型也可以寫成(A,B,C,D)或(A,B,C)3.1.3濾波器的零極點增益模型零極點模型實際上是傳遞函數(shù)模型的另一種表現(xiàn)形式,其原理是分別對原系統(tǒng)傳遞函數(shù)的分子和分母進(jìn)行分解因式處理,以獲得系統(tǒng)的零極點表示形式,對單輸入單輸出系統(tǒng)來說,可以簡單地將其零極點模型寫成:Gs=i=1式中zi,i=l,2,?.m和pi,i=1,2,?,n分別稱為系統(tǒng)的零點和極點,它們既可以為實數(shù)也可以為復(fù)數(shù),而K稱為系統(tǒng)的增益。這樣濾波器就可以簡記[Z,P,K],為了保證濾波器的穩(wěn)定,系統(tǒng)的所有極點都位于左半S平面。如果穩(wěn)定系統(tǒng)所有的零點都位于左半3.1.4濾波器數(shù)學(xué)模型之間的相互轉(zhuǎn)換幾種濾波器的數(shù)學(xué)模型在不同場合可以取到各自不同的優(yōu)勢效果,所以它們之間的相互轉(zhuǎn)換顯得十分重要。在線性系統(tǒng)理論當(dāng)中,幾種模型之間的轉(zhuǎn)換有著成熟經(jīng)典的方法。MATLAB的控制系統(tǒng)工具箱提供了幾個函數(shù)可以方便地實現(xiàn)模型的轉(zhuǎn)換。(1)狀態(tài)方程模型到零極點增益模型的轉(zhuǎn)換狀態(tài)方程為:x(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)(3-12)轉(zhuǎn)換的公式為:Hs=CsIMATLBA為實現(xiàn)狀態(tài)方程模型向零極點模型的轉(zhuǎn)換提供了以下函數(shù):[Z,P,K]=ss2zp(A,B,C,D,iu)該函數(shù)用來實現(xiàn)濾波器的狀態(tài)方程模型到零極點模型的轉(zhuǎn)換。其中A,B,C,D分別表示系統(tǒng)狀態(tài)方程模型的各個矩陣;Z,P,K分別表示系統(tǒng)的零、極點和增益矩陣。Iu表示要求的輸入序號,如果系統(tǒng)為單輸入系統(tǒng),則有iu=l。(2)零極點增益模型到狀態(tài)方程模型的轉(zhuǎn)換[A,B,C,D]=zp2ss(Z,P,K)該函數(shù)用來實現(xiàn)濾波器零極點增益模型到狀態(tài)方程模型的轉(zhuǎn)換,其中(A,B,C,D)為狀態(tài)方程模型,Z,P,K分別表示系統(tǒng)的零、極點和增益矩陣。(3)傳遞函數(shù)模型到零極點模型的轉(zhuǎn)換零極點增益模型:H(s)=Ks+傳遞函數(shù)模型:Hs=num(s)[Z,P,K]=tf2zp(num,den)該函數(shù)用來實現(xiàn)濾波器傳遞函數(shù)模型到零極點增益模型的轉(zhuǎn)換。其中num表示傳遞函數(shù)分子的多項式系數(shù),den表示傳遞函數(shù)分母的多項式系數(shù)。(4)零極點增益模型到傳遞函數(shù)模型的轉(zhuǎn)換[num,den]=zp2tf(Z,P,K)瑁來實現(xiàn)濾波器零極點模型到傳遞函數(shù)模型的轉(zhuǎn)換。(5)狀態(tài)方程模型到傳遞函數(shù)模型的轉(zhuǎn)換[num。den]=ss2rf(A,B,C,D,iu)用來實現(xiàn)濾波器狀態(tài)模型到傳遞函數(shù)模型的轉(zhuǎn)換。(6)傳遞函數(shù)模型到狀態(tài)方程模型的轉(zhuǎn)換[A,B,C,D]=tf2ss(num,den)用來實現(xiàn)濾波器傳遞函數(shù)模型到狀態(tài)模型的轉(zhuǎn)換。3.2IIR濾波器的MATLAB輔助設(shè)計IIR數(shù)字濾波器設(shè)計借助模擬濾波器原型,再將模擬濾波器轉(zhuǎn)換成數(shù)字濾波器。這些過程已經(jīng)成為一整套成熟的設(shè)計程序。模擬濾波設(shè)計已經(jīng)有了一套相當(dāng)成熟的方法,它不但有完整的設(shè)計公式,而且還有較為完整的圖表供查詢。因此,充分利用這些已有的資源將會給數(shù)字濾波器的設(shè)計帶來很大的方便。具體在MATI_AB中設(shè)計IIR數(shù)字濾波器的設(shè)計步驟如下:按一定規(guī)則將給出的數(shù)字濾波器的技術(shù)指標(biāo)轉(zhuǎn)換為模擬低通濾波器的技術(shù)指標(biāo);根據(jù)轉(zhuǎn)換后的技術(shù)指標(biāo)使用濾波器階數(shù)選擇函數(shù),確定最小階數(shù)N和固有頻率w。;運用最小階數(shù)N產(chǎn)生模擬低通濾波器原型;運用固有頻率把模擬低通濾波器原型轉(zhuǎn)換成模擬低通、高通、帶通、帶阻濾波器;運用沖激響應(yīng)不變發(fā)或雙線性不變法把模擬濾波器轉(zhuǎn)換成數(shù)字濾波器。MATLAB工具箱提供了幾種模擬濾波器的原型產(chǎn)生函數(shù),Bessel低通模擬濾波器原型,Butterworth濾波器原型,Chebyshev(I型、II型)濾波器原型、橢圓濾波器原型等不同的模擬濾波器原型;模擬低通濾波器原型向低通、高通、帶通、帶阻的轉(zhuǎn)變函數(shù):從模擬濾波器向數(shù)字濾波器轉(zhuǎn)換的雙線性變換法和沖激響應(yīng)不變法等方法;模擬IIR數(shù)字濾波器階數(shù)選擇函數(shù)以及數(shù)字濾波器直接設(shè)計函數(shù)等等。另外,MAT信號處理工具箱提供了幾個直接設(shè)計IIR數(shù)字濾波器的函數(shù)。這一整套設(shè)計函數(shù)給在MATLAB中設(shè)計IIR數(shù)字濾波器帶來了極大的方便3.2.1低通模擬濾波器原形在模擬濾波器的設(shè)計當(dāng)中,首先要給定模擬濾波器的技術(shù)指標(biāo)a1,a2,Ω1,Ω2;其中aGS=d0+使其對數(shù)幅頻響應(yīng)10lg|G(jΩ)|2在Ω1,Ω2,處達(dá)到a1,,a2的要求。aaΩ=10lgX(jΩ)或者G(jΩ)2=10幅平方特性函數(shù)G(jΩ)2在模擬濾波器的設(shè)計中起著十分重要的作用。人們設(shè)計出了幾種不同的G(jΩ)2它們代表不同的模擬濾波器的類型。在MATIAB當(dāng)中也相應(yīng)的設(shè)計出這幾種模擬濾波器的原型。最常見的幾種模擬濾波器的原型包括:巴特沃思(ButtcrwoRh)濾波器、3.2.2低通、高通、帶通及帶阻濾波器的設(shè)計模擬低通、高通、帶通及帶阻濾波器主要的設(shè)計方法是先將要設(shè)計的濾波器器的技術(shù)指標(biāo)通過某種頻率轉(zhuǎn)換關(guān)系轉(zhuǎn)換成模擬低通濾波器的技術(shù)指標(biāo),并根據(jù)這些技術(shù)指標(biāo)設(shè)計出低通濾波器的轉(zhuǎn)移函數(shù),然后再根據(jù)頻率轉(zhuǎn)換關(guān)系變成所要設(shè)計的濾波器的轉(zhuǎn)移函數(shù)。MAnAB的信號處理工具箱為是實現(xiàn)從低通濾波器向低通、高通、帶通和帶阻濾波器的轉(zhuǎn)換提供了方便的函數(shù)(1)從低通向低通的轉(zhuǎn)變[AT,BT,CT,DT]=Ip2lp(A,B,C,D,wn)和[numt,dent]=lp21p(num,den,wn)這兩個函數(shù)把模擬低通濾波器原型轉(zhuǎn)換成截止頻率為wn的低通濾波器(2)從低通到高通的轉(zhuǎn)換[AT,BT,CT,DT]=lp2hp(A,B,C,D,wo)該函數(shù)把原來的低通濾波器原形(A,B,C,D)轉(zhuǎn)換成截止頻率為WO的高通濾波器原形(AT,BT,CT,DT)。[numt,dent]=lp2hp(hum,den,wo)這個函數(shù)與上面的函數(shù)具有相同的功能,只是在濾波器的表示方式上有所差別。(3)從低通到帶通的轉(zhuǎn)變[AT,BT,CT,DT]=lp2bp(A,B,C,D,wo,Bw)和[numt,dent]=lp2bp(num,den,wo)這兩個函數(shù)把原來的模擬低通濾波器原型轉(zhuǎn)換成中心頻率為WO,帶寬為Bw的帶通濾波器。(4)從低通到帶阻的轉(zhuǎn)變[AT,BT,CT,DT]=lp2bs(A,B,C,D,wo,Bw)和[numt,dent]=lp2bs(num,den,wo)這兩個函數(shù)把原來的模擬低通濾波器原型轉(zhuǎn)換成中心頻率為WO,帶寬為Bw的帶通濾波器。3.2.3IIR數(shù)字濾波器階數(shù)選擇濾波器階數(shù)選擇在整個濾波器的實際中占有十分重要的地位和作用。在實際濾波器的設(shè)計和使用當(dāng)中,我們經(jīng)常面I臨著階數(shù)選擇的問題。根據(jù)實際需要選擇合適的濾波器階數(shù),在MATLAB中針對不同類型的濾波器提供了階數(shù)選擇函數(shù)。(1)Butterworth濾波器階數(shù)選擇函數(shù)[N,Wn]=Buttord(Wp,Ws,Rp,Rs)該函數(shù)返回符合要求性質(zhì)的濾波器最小階數(shù)N以及Butterworth濾波器固有頻率Wn。設(shè)計的要求是在帶通內(nèi)衰減不超過RP。在阻帶內(nèi)的衰減不小于Rs,通帶和阻帶的截止頻率分別是Wp,Ws,它們的歸~化頻率,范圍是[0,1],對應(yīng)π弧度。(2)ChebyshevI型濾波器階數(shù)選擇函數(shù)[N·Wn]=cheblord(Wp,Ws,Rp,Rs)該函數(shù)返回符合要求性質(zhì)的濾波器最小階數(shù)N以及ChebyshevI型濾波囂固有頻率Wn。設(shè)計的要求是在通帶內(nèi)的衰減不超過Rp,在阻帶內(nèi)的衰減不超過Rs,通帶和阻帶的截止頻率分別是Wp,Ws,它們都是歸一化的頻率值。[N,Wn]=cheblord(Wp,Ws,Rp,Rs,‘s’)該函數(shù)返回模擬濾波器的最小階數(shù)N和ChebyshevI型濾波器固有頻率Wn。其中的Wp,Ws是以弧度為單位。(3)ChebyshevlI型濾波器階數(shù)選擇函數(shù)[N,Wn]=cheb20rd(Wp,Ws,Rp,Rs)該函數(shù)返回符合要求性質(zhì)的濾波器最小階數(shù)N以及ChebyshevlI型濾波器固有頻率Wn。設(shè)計的要求是在通帶內(nèi)的衰減不超過Rp,在阻帶內(nèi)的衰減不超過Rs,通帶和阻帶的截止頻率分別是Wp,Ws,它們都是歸一化的頻率值。[N,Wn]=cheb20rd(Wp,Ws,Rp,Rs,‘s’)該函數(shù)返回模擬濾波器的最小階數(shù)N和ChebyshevII型濾波器固有頻率Wn。其中的Wp,Ws是以弧度為單位。(4)橢圓濾波器階數(shù)選擇函數(shù)[N,Wn]=ellipord(Wp,Ws,Rp,Rs)該函數(shù)返回符合要求性質(zhì)的濾波器最小階數(shù)N以及橢圓型濾波器固有頻率Wn。設(shè)計的要求是在通帶內(nèi)的衰減不超過Rp,在阻帶內(nèi)的衰減不超過Rs,通帶和阻帶的截止頻率分別是Wp,Ws,它們都是歸一化的頻率值。[N,wnl=elHpord(Wp,Ws,Rp,Rs,‘s’)該函數(shù)返回模擬濾波器的最小階數(shù)N和橢圓型濾波器固有頻率wn。其中的Wp,Ws是以弧度為單位。3.2.4模擬濾波器轉(zhuǎn)換為數(shù)宇濾波器從模擬濾波器設(shè)計IlR數(shù)字濾波器就是要由列出的H。(曲進(jìn)一步求得H(z)。歸根結(jié)底是一個由S平面到Z平面的變換。從模擬濾波器映射變換成數(shù)字濾波器有四種方法:沖激響應(yīng)不變法;雙線性變換法;微分一差分變換法:匹配z交換法。后兩種方法都有一定的局限性,工程上常使用前面兩種方法。沖激響應(yīng)不變法:沖激響應(yīng)不變法的基本原理是從濾波器的沖激響應(yīng)出發(fā),對具有傳遞函數(shù)G(s)的模擬濾波器的沖激響應(yīng)g(t),以周期T采樣所得到的離散序列g(shù)(nT)作為數(shù)字濾波器的沖激響應(yīng)。MATLAB信號處理工具箱為沖激響應(yīng)不變發(fā)提供了函數(shù)impinvar(),這個函數(shù)用來實現(xiàn)從模擬到數(shù)字的轉(zhuǎn)換。具體函數(shù)使用如下:[BZ,AZ]=impinvar(B,A,F(xiàn)s)。該函數(shù)把具有[B,A]模擬濾波器傳遞函數(shù)模擬轉(zhuǎn)換成采樣頻率為Fs的數(shù)字濾波的傳遞函數(shù)[BZ,AZ]。如果在函數(shù)中沒有確定采樣頻率Fs時,函數(shù)默認(rèn)為1Hz。雙線性變換法:為了克服沖激響應(yīng)不變發(fā)產(chǎn)生的頻率混疊現(xiàn)象,凱寨(Kaiser)和戈爾登(Golden)建議用一種新的有效的變換,這就是雙線性變換。雙線性變換可以認(rèn)為是基于對微分方程的積分,利用對積分的數(shù)值逼近得到的。MATLAB信號處理工具箱為實現(xiàn)雙線性變換提供了函數(shù)bilinear()[zd,Pd,Kd]=bilinear(Z,P,K,F(xiàn)s)把模擬濾波器的零點極點模型轉(zhuǎn)換成數(shù)字濾波器的零點極點模型,其中Fs是采樣頻率。[numd,dend]=bilinear(hum,den,F(xiàn)s)把模擬濾波器的傳遞函數(shù)模型轉(zhuǎn)換成數(shù)字濾波器的傳遞函數(shù)模型,其中Fs是采樣頻率。[Ad,Bd,Cd,Dd]=bilinear(A,B,C,D,F(xiàn)s)把模擬濾波器的狀態(tài)方程模型轉(zhuǎn)換成數(shù)字濾波器的狀態(tài)方程模型,其中Fs是采樣頻率。3.3FIR濾波器的MATLAB輔助設(shè)計FIR數(shù)字濾波器的設(shè)計方法主要有Fourier級數(shù)展開設(shè)計方法、窗函數(shù)法、頻率采樣法等。(1)Fourier級數(shù)展開法設(shè)所希望的數(shù)字濾波器的頻率響應(yīng)是Hd(ejω),它是頻域的周期函數(shù),周期為Hdejω=n=-∞式中hd(n)是Fourier系數(shù),當(dāng)然老也是一個單位沖激響應(yīng)序列。由Fourierhd(n)=一旦能從所希望的Hd(eHdz=n=-∞∞最終可以得到:h(n)=有限項Fourier級數(shù)是在最d,--乘意義上對理想濾波器的最佳逼近,M取值越大,逼近誤差越小。(2)窗函數(shù)法窗函數(shù)法設(shè)計的出發(fā)點是從時域開始,用窗函數(shù)截取理想的對于所期望的hd(n)的h(n),以有限長h(n)近似理想的hd(n),這樣得到的頻率響(3)頻率采樣法頻率取樣設(shè)計是從頻域出發(fā),因為有限長序列h(n)又可用其離散傅立葉變換H(k)來唯一確定,H(k)與所要求的FIR濾波器系數(shù)函數(shù)Hdz之間存在著頻率取樣關(guān)系。即Hdz在z平面單位圓上按角度等分的取樣值等于Hdk的各相應(yīng)值,就以次Hdk值作為實際FIR數(shù)字濾波器頻率特性的取樣值H(k),或者說3.3.2MATAB中FIR數(shù)字濾波器相關(guān)函數(shù)用窗函數(shù)設(shè)計方法FIR濾波器furl(),語法格式為B=firl(N,Wn),設(shè)計一個N階的FIR數(shù)字濾波器,返回的向量B為濾波器的系數(shù)?;诖昂瘮?shù)的任意響應(yīng)的FIR數(shù)字濾波器的設(shè)計fir2(),語法格式為B=fir2(N,F(xiàn),M)設(shè)計一個N階的FIR數(shù)字濾波器,其頻率響應(yīng)由向量F和M指定,濾波器的系數(shù)返回在向量中。向量F和M指定濾波器的采樣點的頻率及其幅值。用有限制條件的最小二乘逼近法設(shè)計線性相位FIR濾波器fircls(),語法格式為B=fircls(N,F(xiàn),A,UP,LP)返回的是一個長度為N+I的線性相位FIR濾波器,其期望逼近的頻率響應(yīng)為分段恒定的,由向量F和A指定,各段幅度波動的上下限由向量UP和LO給定,A中的各個元素分別為各恒定段的頻率響應(yīng)的理想幅值。用有限制條件的最小二乘逼近法設(shè)計低通和高通FIR濾波器firclsl(),語法格式為B=firclsl(N,WO,DP,DS)返回的是一個長度為N+1的線性相位低通FIR濾波器,其截止頻率為WO,通帶偏離1.0的最大值為DP,阻帶偏離0的最大值為DS。用最小二乘逼近法設(shè)計的線性相位FIR數(shù)字濾波器firls(),語法格式為B=firls(N,F(xiàn),A)返回一個長度為N+1的線性相位FIR數(shù)字濾波器,期望的頻率響應(yīng)由向量F和A確定,用這種方法設(shè)計的濾波器是最佳的最二乘逼近。升余弦FIR濾波器設(shè)計firrcos(),語法格式為B=firrcos(N,F(xiàn)0,DF,F(xiàn)s)返回一個N階低通線性有著升余弦過度頻帶的FIR濾波器。插值用FIR濾波器設(shè)計intfilt(),語法格式為B=intfilt(R,L,ALPHA)設(shè)計一線性相位FIR濾波器,用于插值時在插入零后對信號的平滑。FIR的階數(shù)估計(低通、高通、帶通、多頻帶)kaiserord,語法格式為[N,Wn,BETA,TYPE]=kaiserord(F,A,DEV,F(xiàn)s)返回的是在函數(shù)B=fir(N,Wn,TYPE,kaiser(N+1,BETA),‘noscale’)中用到的參數(shù)N。Parks.McClellan優(yōu)化等紋波FIR濾波器的設(shè)計remez(),語法格式為B=remez(N,F(xiàn),A)返回一個長度為N+I的線性相位FIR濾波器,濾波器的理想頻率響應(yīng)由F和A描述,這種濾波器是按最大絕對誤差最小化的逼近準(zhǔn)則設(shè)計的。FIR階數(shù)估計(低通、高通、帶遁、多頻帶)renezord(),語法格式為[N,F(xiàn)o,Ao,W]=remezord(F,A,DEV,F(xiàn)S)返回調(diào)用remez()函數(shù)需要給定的輸入?yún)?shù)即階數(shù)N,歸一化頻帶邊緣Fo,頻帶幅值A(chǔ)o和權(quán)值W復(fù)數(shù)非線性相位等紋波FIR濾波器的設(shè)計cremez(),語法格式為B=cremez(N,F(xiàn),‘fresp’,W)返回一個對理想頻率響應(yīng)最佳逼近的N+1階FIR濾波器Bartlett窗函數(shù)bartleet(),語法格式為bartlett(N)返回一N點Bartlett窗,結(jié)果為列向量。Blackman窗函數(shù)blackman(),語法格式為blackman(N)返回一N點Blackman窗,結(jié)果為列向量。矩形窗函數(shù)boxcar(),語法格式為boxcar(N)返回一N點矩形窗,結(jié)果為列向量。Hamming窗函數(shù)hamming(),語法格式為hamming(N)返回一N點Hamming窗,結(jié)果為列向量。Hanning窗函數(shù)harming(),語法格式為harming(N)返回一N點Hanning窗,結(jié)果為列向量。三角窗函數(shù)triang(),語法格式為triang(N)返回一N點三角窗,結(jié)果為列向量。Chebyshev窗函數(shù)chebwin(),語法格式為chebwin(N)返回一N點Chebyshev窗,其紋波為R(dB),N必須為奇數(shù)。如果N為偶數(shù),則返回的是一N+1點Chebyshev窗。Kaiser窗函數(shù)kaiser(),語法格式為kaiser(N,BETA)返回的是一N點的Kaiser窗。3.4MATLAB軟件數(shù)字濾波器仿真結(jié)果利用MATLAB軟件提供的相關(guān)函數(shù)設(shè)計了8種數(shù)字濾波器:IIR低通濾波器、IIR高通濾波器、IIR帶通濾波器、FIR帶阻濾波器、FIR低通濾波器、FIR高通濾波器、FIR帶通濾波器、FIR帶阻濾波器。IIR低通數(shù)字濾波器:截止頻率為1500HZ,阻帶的起始頻率為2500HZ,通帶內(nèi)最大衰減為O.5,阻帶內(nèi)最小衰減為60,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:wp=1500;ws=2500;rp=0.5;rs=60;fs=16000;[N,Wn]=buttord(wp/(fs/2),ws/(fs/2),rp,rs,'z');[num,den]=butter(N,Wn);[H,w]=freqz(num,den);plot(w*fs/(2*pi),abs(H));grid;xlabel('頻率/Hz');ylabel('幅值');圖3-1IIR低通數(shù)字濾波器IIR高通數(shù)字濾波器:導(dǎo)通頻率為4500HZ,阻帶的起始頻率為3500HZ,通帶內(nèi)最大衰減為1,阻帶內(nèi)最小衰減為40,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:clc;wp=3500;ws=4500;rp=1;rs=40;fs=16000;[N,Wn]=cheb1ord(wp/(fs/2),ws/(fs/2),rp,rs,'z');[num,den]=cheby1(N,rp,Wn,'high');[H,w]=freqz(num,den);plot(w*fs/(2*pi),abs(H));grid;xlabel('頻率/Hz');ylabel('幅值');3-2IIR高通數(shù)字濾波器IIR帶通數(shù)字濾波器:通帶的帶寬為2500HZ~3500Hz,阻帶的起始頻率分別為1500HZ和4500HZ,通帶內(nèi)最大衰減為O.5,阻帶內(nèi)最小衰減為60,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:wp1=2500;wp2=3500;ws1=1500;ws2=4500;rp=0.5;rs=60;fs=16000;wp=[wp1,wp2];ws=[ws1,ws2];[N,Wn]=cheb1ord(wp/(fs/2),ws/(fs/2),rp,rs,'z');[num,den]=cheby1(N,rp,Wn);[H,w]=freqz(num,den);plot(w*fs/(2*pi),abs(H));grid;xlabel('頻率/Hz');ylabel('幅值');3-3IIR帶通數(shù)字濾波器IIR帶阻數(shù)字濾波器:阻帶頻率為2500HZ-3500HZ,通帶起始頻率分別為1500HZ和4500HZ,通帶內(nèi)最大衰減為0.1,阻帶內(nèi)最小衰減為50,采樣頻率為1600CHZ,,程序代碼和仿真結(jié)果如下:wp1=1500;wp2=4500;ws1=2500;ws2=3500;rp=0.1;rs=50;fs=16000;wp=[wp1,wp2];ws=[ws1,ws2];[N,Wn]=ellipord(wp/(fs/2),ws/(fs/2),rp,rs,'z');[num,den]=ellip(N,rp,rs,Wn,'stop');[H,w]=freqz(num,den);plot(w*fs/(2*pi),abs(H));grid;xlabel('頻率/Hz');ylabel('幅值');3-4IIR帶阻數(shù)字濾波器FIR低通數(shù)字濾波器:截止頻率為1500Hz,阻帶的起始頻率為2500HZ,通帶紋波的最大允許值為0.06,阻帶紋波的最大允許值為0.1,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:fs=16000;[n,fo,mo,w]=remezord([15002500],[10],[0.060.1],16000);b=remez(n,fo,mo,w);[h,f]=freqz(b);plot(f*fs/(2*pi),abs(h));xlabel('頻率/Hz');ylabel('幅值');3-5FIR低通數(shù)字濾波器FIR高通數(shù)字濾波器:導(dǎo)通頻率為4500HZ,阻帶的起始頻率為3500HZ,通帶紋波的最大允許值為O.1,阻帶紋波的最大允許值為O.01,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:fs=16000;[n,fo,mo,w]=rcmezord([35004500],[Ol],)O.1O.01],16000);b=remez(n,fo,mo,w);[h,f]=freqz(b);plot(f+Fs/(24pi),abs(h));xlabel('頻率/Hz’);ylabel(’幅值’);3-6FIR高通數(shù)字濾波器FIR帶通數(shù)字濾波器:通帶的帶寬為2500HZ-3500HZ,阻帶的起始頻率分別為1500HZ和4500HZ,通帶紋波的最大允許值為0.1,阻帶紋波的最大允許值為O.01,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:fs=16000;[n,fo,mo,w]=remezord([1500250035004500],[010],[0.010.10.01],16000);b=remez(n,fo,mo,w);[h,f]=freqz(b);plot(f*fs/(2*pi),abs(h));xlabel('頻率/Hz');ylabel('幅值');3-7FIR帶通數(shù)字濾波器FIR帶阻數(shù)字濾波器:阻帶頻率為2500HZ-3500HZ,通帶起始頻率分FIR帶阻數(shù)字濾波器:阻帶頻率為2500HZ-3500HZ,通帶起始頻率分別為1500HZ和4500HZ,通帶紋波的最大允許值為0.1,阻帶紋波的最大允許值為O.01,采樣頻率為16000HZ。程序代碼和仿真結(jié)果如下:fs=16000;[n,fo,mo,w]=remezord([1500250035004500],[101],[0.010.10.01],16000);b=remez(n,fo,mo,w);[h,f]=freqz(b);plot(f*fs/(2*pi),abs(h));xlabel('頻率/Hz');ylabel('幅值'3-8FIR帶阻數(shù)字濾波器第4章 數(shù)字濾波器的DSP實現(xiàn)數(shù)字信號處理器(DigitalSignalProcessor)是一種適合對數(shù)字信號進(jìn)行高速實時處理的專用處理器,其主要用來實時快速地實現(xiàn)各種數(shù)字信號處理算法。在當(dāng)今的數(shù)字化時代,DSP己成為通信設(shè)備、計算機(jī)和其它電子產(chǎn)品的基礎(chǔ)器件。數(shù)字信號處理器與數(shù)字信號處理有著密不可分的關(guān)系,我們通常說的“DSP"可以指數(shù)字信號處理(DigitalSignalProcessing),也可以代表數(shù)字信號處理器(DigitalSignalProcessor)在本文里均指數(shù)字信號處理器。數(shù)字信號處理是一門包括了許多學(xué)科并應(yīng)用于很多領(lǐng)域的學(xué)科,是指利用計算機(jī)或是專用處理設(shè)備,以數(shù)字形式對信號進(jìn)行分析、采集、合成、變換、濾波、估值、壓縮、識別等處理,得到符合要求的信號形式。數(shù)字信號處理器是用于處理數(shù)字信號的器件,因此它是伴隨著數(shù)字信號處理才產(chǎn)生的。DSP發(fā)展歷程大致分為三個階段:20世紀(jì)70年代理論先行,80年代產(chǎn)品普及和90年代的突飛猛進(jìn)。在DSP出現(xiàn)之前數(shù)字信號處理只能依靠微處理器(MPU)來完成。但MPU較低的處理速度無法滿足高速實時的要求。因此,直到20世紀(jì)70年代,有人才提出了DSP的理論和算法基礎(chǔ)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,1982年世界上誕生了第一片DSP芯片。幾年后,第二代基于CMOS工藝的DSP芯片應(yīng)運而生。80年代后期,第三代DSP芯片問世。90年代DSP發(fā)展最快,相繼出現(xiàn)了第四代和第五代DSP器件。經(jīng)過20多年的發(fā)展,DSP產(chǎn)品的應(yīng)用已擴(kuò)大到人們的學(xué)習(xí)、工作和生活的各個方面,并逐漸成為電子產(chǎn)品更新?lián)Q代的決定因素4.1DSP的基本特征本課題采用的是TMS320C55x系列的TMS320C5509DSP,具有改進(jìn)的哈佛結(jié)構(gòu)、硬件乘法器、流水線結(jié)構(gòu)、高效特殊指令集等優(yōu)點,使它的處理速度和容量大大提高,為數(shù)字濾波中的復(fù)雜算法的實現(xiàn)提供了硬件的保證(1)哈佛總線結(jié)構(gòu)計算機(jī)的總線結(jié)構(gòu)可分為兩種。一種是馮·諾依曼結(jié)構(gòu),其特點是程序和數(shù)據(jù)共用一個存儲空間。統(tǒng)一編址依靠指令計數(shù)器提供的地址來區(qū)分是指令數(shù)據(jù)還是地址。由于對數(shù)據(jù)和程序進(jìn)行分時讀寫,執(zhí)行速度慢。但是半導(dǎo)體工藝的飛速發(fā)展克服了這一缺陷,同時這一結(jié)構(gòu)使計算機(jī)結(jié)構(gòu)得到簡化,并成為計算機(jī)發(fā)展的一個標(biāo)準(zhǔn)。但由于原理上的特點,這一結(jié)構(gòu)并不適合進(jìn)行具有高度實時要求的數(shù)字信號處理。哈佛結(jié)構(gòu)與馮·諾依曼結(jié)構(gòu)相比,其主要特點是程序和數(shù)據(jù)具有獨立的存儲空間,有著各自獨立的程序總線和數(shù)據(jù)總線,大大地提高了數(shù)據(jù)處理能力,非常適合于實時數(shù)字信號處理。TI公司的DSP芯片的結(jié)構(gòu)是改進(jìn)的哈佛結(jié)構(gòu),內(nèi)部采用三個并行的總線,程序讀寫總線(PAB)、讀數(shù)據(jù)總線(DABI)、寫數(shù)據(jù)總線(DAB2),每組總線連接不同的存儲器空間,使程序存儲器與數(shù)據(jù)存儲器成為獨立的兩個存儲空間,并且允許數(shù)據(jù)在程序存儲器和數(shù)據(jù)存儲器之間進(jìn)行傳遞,這種結(jié)構(gòu)允許取指令和取操作數(shù)并行進(jìn)行,增加了器件的運算速度(2)硬件乘法器在通用的計算機(jī)上,算術(shù)邏輯單元(ALU)只能完成兩個操作數(shù)的加、減及邏輯運算,而乘法(或除法)則是由加法和移位來實現(xiàn)。因此它們實現(xiàn)乘加運算就比較慢,而在數(shù)字濾波算法中需要大量的乘加運算,在TMS320C55XDSP中有一個硬件乘法器,可以在一個指令周期內(nèi)完成一次乘法和一次加法運算,可以大大提高數(shù)字濾波系統(tǒng)的運算速度。(3)流水線結(jié)構(gòu)TMS320C55xDSP采用四級流水線指令操作方式,減少了指令的執(zhí)行時間,提高了處理器的吞吐量。任何處理器執(zhí)行一條指令,總是要經(jīng)過取指令、譯碼、讀操作數(shù)和執(zhí)行指令四個階段,需要若干個機(jī)器周期才能完成。TMS320C55xDSP系列由于指令和操作數(shù)來自不同的空間,同一時刻,可以有四條指令的不同階段在并行處理,盡管每條指令執(zhí)行的時間仍然是幾個機(jī)器周期,但由于指令的流水作業(yè),實現(xiàn)了多條指令的并行執(zhí)行(4)高效指令集數(shù)字信號處理運算的特點之一就是單一運算的重復(fù)執(zhí)行,在通用的處理器中,一般采用軟件的方法來解決,基本方法是采用循環(huán)控制或指令重復(fù),循環(huán)控制除了在判斷循環(huán)次數(shù)及操作轉(zhuǎn)向上需要指令開銷外,還會因DSP流水線的頻繁中斷而造成相當(dāng)大的開銷:指令重復(fù)的代價是增加了程序代碼長度,占用更多的存儲空間。而在TMS320C54xDSP中設(shè)置了硬件循環(huán)控制電路,提供了重復(fù)指令,實現(xiàn)零開銷的循環(huán)控制。所有這些優(yōu)點使得DSP非常適合來做數(shù)字濾波器的硬件電路。4.2TMS320C55xDSP的硬件結(jié)構(gòu)TMS320C55xDSP其硬件構(gòu)成的幾個主要部分包括:總線結(jié)構(gòu)、中央處理單元、內(nèi)部存儲器及片內(nèi)外設(shè)等4.2.1總線結(jié)構(gòu)TMS320C55x具有8條16位的總線,其中包括4條程序/數(shù)據(jù)總線和4條地址總線,各條總線的作用如下:(1)程序總線PB傳輸來自程序存儲器的指令代碼和立即數(shù)。(2)--條數(shù)據(jù)總線CB、DB和EB分別與不同的單元互相連接,如中央處理單元、數(shù)據(jù)地址產(chǎn)生邏輯DAGEN、程序地址產(chǎn)生邏輯、片內(nèi)外設(shè)和數(shù)據(jù)存儲器。其中,CB和DB傳輸從程序存儲器讀來的數(shù)據(jù);EB傳輸待寫入存儲器的數(shù)據(jù)。(3)PAB,CAB,DAB和EAB這4條地址總線傳輸指令執(zhí)行所需要的地址。4.2.2中央處理單元TMS320C55x的中央處理單元可以說是DSP的核心,主要包含以下幾個部分:一個算術(shù)邏輯單元,兩個累加器,定標(biāo)移位器,乘法IDI法單元,比較選擇存儲單元(cssu)和CPU狀態(tài)和控制寄存器等。(1)算術(shù)邏輯單元(ALU)TMS320C55x利用一個40位的算術(shù)邏輯單元和兩個40位的累加器來執(zhí)行二進(jìn)制補(bǔ)碼算術(shù)運算,ALU也可以進(jìn)行布爾運算。還可以把這個40位的ALU看作為兩個16位的ALU,來同時執(zhí)行兩個16位的操作。(2)CPU狀態(tài)和控制寄存器TMS320C54x共有三個控制和狀態(tài)寄存器,對CPU的控制是通過CPU狀態(tài)和控制寄存器來完成的。分別為狀態(tài)寄存器0(ST0)、狀態(tài)寄存器1(STl)和處理器模式狀態(tài)寄存(PMST)DSP不同條件和模式下的狀態(tài)都包含ST0和STl,PMST包含存儲器設(shè)置狀態(tài)和控制信息。由于這些寄存器是存儲器映像,所以可以像對數(shù)據(jù)存儲器操作那樣對它們進(jìn)行讀出和寫入。在調(diào)用子程序或中斷服務(wù)子程序時,可以將它們保存下來,返回時再恢復(fù)。(3)累加器累加器A和B存儲來自ALU或乘法/Dil法單元的輸出;同時,它們也可以為ALU提供另一個輸入;累加器A還呵以為乘法器IDn法器單元提供輸入。每個累加器可以分為保護(hù)位(位39~位32)、高位字(位31~位16)和低位字(位15~位0)。系統(tǒng)提供的指令可以存儲保護(hù)位、高位字和低位字;累加器可以向數(shù)據(jù)存儲器讀出或?qū)懭?2位字:而且任一累加器可以作為另一個累加器的暫時存儲器。(4)定標(biāo)移位器定標(biāo)移位器的40位的輸入來自累加器或數(shù)據(jù)存儲器(通過DB或CB),其40位的輸出則通過EB傳至ALU或數(shù)據(jù)存儲器。定標(biāo)移位器可以對輸入的數(shù)據(jù)進(jìn)行0到31位的左移和0到16位的右移,具體移位數(shù)由指令中的移位字段、狀態(tài)寄存器STl中的移位數(shù)字段ASM或暫存寄存器T來提供。定標(biāo)移位器和指數(shù)編碼器可以在單周期內(nèi)對累加器中的數(shù)進(jìn)行歸一化操作。輸出的低位用零填充,高位則要看狀態(tài)寄存器STl中的符號擴(kuò)展模式位SXM來決定是用零填充還是進(jìn)行符號擴(kuò)展。另外,定標(biāo)移位器還有一些功能可以使處理器執(zhí)行數(shù)字定標(biāo)、位提取、擴(kuò)展算術(shù)運算和防溢出操作等。(5)乘法器/加法器單元TMS320C55x的乘法器iDrl法器單元包含一個17X17位的硬件乘法器,一個40位的加法器,有符號輸入/無符號輸入控制邏輯,小數(shù)控制邏輯,一個零檢測器,一個圓整器,溢出/飽和邏輯和一個16位的暫存寄存器T。乘法器有兩個輸入一個輸入來自暫存寄存器T,或一個數(shù)據(jù)存儲器操作數(shù),或者是累加器A;另一個輸入來自程序存儲器,或數(shù)據(jù)存儲器,或累加器A,或者是一個立即數(shù)。這個乘法器可以使得TMS320C55x器件進(jìn)行高效的卷積、相關(guān)和濾波操作等。此外,乘法器還可以和ALU一起在單個指令周期內(nèi)執(zhí)行乘法/累加(MAC)計算,而對ALU的操作是并行的。(6)比較選擇存儲單元CSSU比較、選擇和存儲單元可以對累加器的高位字和低位字進(jìn)行比較,使?fàn)顟B(tài)寄存器S‵I′O中的測試/控制標(biāo)志位(TC)和轉(zhuǎn)換寄存器TRN保持轉(zhuǎn)換記錄狀態(tài),并將累加器中的最大的數(shù)傳送至數(shù)據(jù)存儲器。當(dāng)選擇了合適的片內(nèi)硬件后,CSSU還可以加速維特}(Viterbi)蝶形運算。4.2.3內(nèi)部存儲器TMS320C55x共有192K堆16bit的尋址空間。這些空間被分為3個特定的存儲段:64K*16bit的程序存儲空間,64K*16bit的數(shù)據(jù)存儲空間,64K*16bit的加空間。在任何一個空間內(nèi),RAM,ROM,EPROM,EEPROM或存儲器映像外設(shè)既可以駐留在片內(nèi),也可以駐留在片外TMS320C55x具有較大的程序存儲空間,它的程序空間可達(dá)8M字節(jié),主要是通過附加的7根地址線來實現(xiàn)分頁訪問的;可以通過修改DSP的xPc(程序指針擴(kuò)展寄存器)來指定需要訪問的程序存儲空間的頁。一共可以訪問128頁,每頁64K*16bit。程序存儲空間包含待執(zhí)行的指令和執(zhí)行中需要使用的數(shù)據(jù)表格;數(shù)據(jù)存儲空間包含程序指令所用到的數(shù)據(jù):I/O空間主要用來接外圍芯片,這些外圍芯片和DSP一起完成特定的功能??梢栽谙到y(tǒng)中給這些外圍芯片分配不同的地址,DSP可以根據(jù)不同的地址來訪問這些外設(shè)。如果內(nèi)部存儲器不夠用時,I/O空間還可以作為DSP的外部數(shù)據(jù)存儲器來用。TMS320C55x其片內(nèi)存儲器的種類主要有以下幾種:雙訪問RAM(DARAM),單訪問RAM(SARAM)和ROM。Ka_M(包括DARAM和SARAM)一般映射在數(shù)據(jù)空間,但也可以映射在程序空間;ROM映射在程序空間,但也可以部分地映射在數(shù)據(jù)空間。DARAM一般由若干塊構(gòu)成,由于每塊DARAM在一個機(jī)器周期內(nèi)可以被訪問2次,中央處理單元和片內(nèi)外設(shè)在一個周期內(nèi)可以同時對其進(jìn)行一次讀和一次寫操作根據(jù)需要,通過改變處理器狀態(tài)標(biāo)志寄存器(PMST)的三個位MP/MC、OVLY和DROM來靈活地改變存儲器的配置。如,可以將ROM映射在程序存儲空間或不映射在程序存儲空間;將某段存儲器映射在片內(nèi)或片外;將RAM只映射在數(shù)據(jù)存儲空間或既映射在數(shù)據(jù)存儲空間又映射在程序存儲空間等等。對于不同型號的DSP來說,這幾個位所起的作用不完全相同。數(shù)據(jù)存儲空間還有一塊特殊的區(qū)域,OOH.80H。這塊區(qū)域包含的是存儲器映像寄存器,它包含了DSP中所有的寄存器,可以通過讀這塊存儲器來了解各個寄存器的值,或者通過寫這塊存儲器來改變寄存器的值。所以,必須注意的是,在編程時不要隨便往這個區(qū)域存儲數(shù)據(jù),除非根據(jù)需要來改變相應(yīng)寄存器的值,否則會導(dǎo)致程序運行的結(jié)果不正確4.2.4片內(nèi)外設(shè)TMS320C55x的片內(nèi)外設(shè)具有:(1)通用I/O引腳XF和BIOBIO是一個輸入引腳,可以將外圍器件的某些引腳接到BIO,DSP可以對它進(jìn)行實時監(jiān)視:XF是軟件可控制的輸出引腳,DSP可以用它作為外圍器件的控制信號(2)硬件定時器硬件定時器是一個帶4位預(yù)定標(biāo)的16位定時電路。每過一個CLKOUT周期,定時器做減1操作。當(dāng)計數(shù)減到0時,產(chǎn)生一個定時器中斷??梢酝ㄟ^設(shè)置特定的位對定時器進(jìn)行停止、重啟、復(fù)位和禁止操作。(3)時鐘發(fā)生器;時鐘發(fā)生器由一個內(nèi)部振蕩器和一個鎖相環(huán)電路組成。內(nèi)部時鐘發(fā)生器可以通過外接一晶振或直接接外部時鐘源而工作。鎖相環(huán)電路通過將外部頻率乘以一個因子而產(chǎn)生內(nèi)部CPU工作頻率。這可以使得從外部較低的時鐘頻率而產(chǎn)生較高的CPU內(nèi)部工作頻率。(4)主機(jī)接EI(HPI)HPI是一個并行接口,它提供DSP和外部主處理器的接口。DSP和主處理器通過DSP的片內(nèi)存儲器交換信息,這塊片內(nèi)存儲器既可以被DSP訪問,也可以被主處理器訪問。TMS320C54x具有8位增強(qiáng)型的主機(jī)接口(5)軟件可編程等待狀態(tài)發(fā)生器當(dāng)DSP與慢速設(shè)備接口時,就可能要用到軟件可編程等待狀態(tài)發(fā)生器。它可以將DSP的外部總線周期擴(kuò)展到7個或14個,這就使得DSP可以輕松地和各種慢速設(shè)備接口。(6)可編程存儲體切換邏輯當(dāng)訪問過程跨越程序存儲器或數(shù)據(jù)存儲器存儲體的邊界時,可編程存儲器組切換邏輯會自動插入一個周期:當(dāng)在存儲操作過程中,由程序存儲器轉(zhuǎn)向數(shù)據(jù)存儲器時,也會插入一個周期。這個額外的周期通過在其他器件開始驅(qū)動總線前允許存儲器釋放總線來避免總線競爭。轉(zhuǎn)換的存儲體的大小由存儲體轉(zhuǎn)換控制寄存器(BSCR)來確定。4.3DSP系統(tǒng)的設(shè)計與開發(fā)DSP系統(tǒng)的開發(fā)是一個復(fù)雜的過程,在系統(tǒng)的設(shè)計和調(diào)試中不但需要數(shù)字信號處理方面的理論知識,而且還要熟悉掌握各種DSP芯片、外圍硬件電路以及DSP開發(fā)工具等。4.3.1DSP系統(tǒng)的特點DSP系統(tǒng)是以數(shù)字信號處理為基礎(chǔ)的,因此不但具有數(shù)字處理的全部優(yōu)點而且還具有以下特點:(1)接121方便:DSP應(yīng)用系統(tǒng)與其他以現(xiàn)代數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容的,這樣的系統(tǒng)接口以實現(xiàn)某種功能要比模擬系統(tǒng)與這些系統(tǒng)接口要容易得多。(2)編程方便:DSP應(yīng)用系統(tǒng)中的可編程DSP芯片,能靈活方便地進(jìn)行修改和升級。(3)穩(wěn)定性好:DSP應(yīng)用系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境溫度及噪聲的影響較小、可靠性高,無器件老化現(xiàn)象。(4)精度高:16位數(shù)字系統(tǒng)可以達(dá)到10巧級的精度。(5)可重復(fù)性好:模擬系統(tǒng)的性能受元器件參數(shù)性能變化的影響比較大,而數(shù)字系統(tǒng)基本不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn)。(6)集成方便:DSP應(yīng)用系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。當(dāng)然,數(shù)字信號處理也存在一些缺點。例如,對于簡單信號處理任務(wù),若采用DSP則使成本增加。DSP系統(tǒng)中的高速時鐘可能帶來高頻干擾和電磁泄漏等問題,而且DSP系統(tǒng)消耗的功率也較大。此外,DSP技術(shù)更新速度快,對于數(shù)學(xué)知識要求高,開發(fā)和測試工具還有待進(jìn)一步完善。4.3.2DSP系統(tǒng)的設(shè)計流程一個DSP系統(tǒng)的設(shè)計過程大概要有以下幾個步驟。1.根據(jù)系統(tǒng)的任務(wù)要求,確定系統(tǒng)處理精度要求、速度要求、實時性要求等性能指標(biāo)。2.根據(jù)系統(tǒng)的要求進(jìn)行高級語言的算法模擬,比如使用MATLAB等仿真工具,驗證算法的可行性,得出最佳的處理方法。3.DSP的系統(tǒng)設(shè)計,主要分為硬件設(shè)計和軟件設(shè)計。硬件設(shè)計是指根據(jù)系統(tǒng)要求選擇合適的DSP芯片,然后設(shè)計相應(yīng)的外圍電路。軟件設(shè)計主要是指根據(jù)系統(tǒng)的要求和選用的DSP芯片編寫相應(yīng)的程序。程序的編寫可以使用匯編語言,匯編語言編寫的程序效率高,但比較煩雜;也可采用C語言,DSP的C語言基本上是標(biāo)準(zhǔn)C語言,編寫比較簡單,但效率低。在實際系統(tǒng)開發(fā)時往往是兩種語言結(jié)合編寫,在算法運算量大的地方使用匯編語言,在運算量小的地方使用C語言,這樣既能縮短軟件的開發(fā)周期,提高程序的可讀性和可移植性,又滿足了系統(tǒng)的實時性要求。本文的設(shè)計采用匯編語言編寫、設(shè)計軟件程序。4.3.3DSP系統(tǒng)的開發(fā)工具CCS,即CodeComposerStudio,是TI公司在1999年推出的一個開放、具有強(qiáng)大集成開發(fā)環(huán)境。它最初是由GODSP公司為TI的C6000系列DSP開發(fā)的。在TI收購了GODSP后,將CCS擴(kuò)展到了其他系列?,F(xiàn)在所有TI的DSP都可以使用CCS進(jìn)行開發(fā),但是其中的DSP/BIOS功能只有C5000和C6000的CCS中才提供。以前的DSP軟件開發(fā)都是在一個分散的開發(fā)環(huán)境下進(jìn)行,程序的編寫、代碼的生成以及調(diào)試等都是要通過命令來完成,類似于以前的DOS,十分煩雜。而CCS的出現(xiàn)是DSP開發(fā)軟件的一次革命性的變化。CCS主要由代碼生成工具、CCS集成開發(fā)環(huán)境、DSP/BIOS和API函數(shù)以及RTDX組成。(1)CCS主要特點:①集成可視化代碼編輯界面,可以方便地直接編寫C、匯編、.h文件、.cmd文件等。②集成代碼生成工具,包括匯編器、優(yōu)化的C編譯器和連接器等。③具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲器窗口和變量窗口、反匯編窗口等,支持在C源代碼級進(jìn)行調(diào)試。④支持多片DSP聯(lián)合調(diào)試。⑤斷點工具,支持硬件斷點、數(shù)據(jù)空間讀/寫斷點、條件斷點等。⑥探針工具,用于進(jìn)行算法仿真,數(shù)據(jù)監(jiān)視等。⑦剖析工具,用于評估代碼執(zhí)行的時間。⑧數(shù)據(jù)圖形顯示工具,可繪制時域/頻域波形、眼圖、星座圖等,并可眇自動刷新。⑨提供GEI二工具,用戶可以根據(jù)需要編寫自己的控制面板/菜單,從而方便直觀地修改變量,配置參牧。(2)DSP/BIOS和API函數(shù)以及RTDX插件DSP/BIOS(BasicInputOutputSystem)和APl(ApplicationProgramInterface)函數(shù)為CCS的主要插件之一。DSP/B]OS可以看作是一個準(zhǔn)實時操作系統(tǒng),支持TIDSP芯片的各種實時操作系統(tǒng)都是以DSP/BIOS作為底層軟件,為嵌入式應(yīng)用提供基本的運行服務(wù)。并且,它還能實時獲取目標(biāo)機(jī)的信息,并將其傳遞給主機(jī)上的BIOScope工具,對應(yīng)用程序進(jìn)行實時分析。RTDX(RealTimeDataExchange)插件是CCS中另一個十分重要的插件。實時數(shù)據(jù)交換技術(shù)為CCS提供了一個實時、連續(xù)的可視環(huán)境,開發(fā)人員可以看到DSP應(yīng)用程序工作的真實過程。RTDX允許系統(tǒng)開發(fā)者在不停止運行目標(biāo)應(yīng)用程序的情況下在計算機(jī)和DSP芯片之間傳輸數(shù)據(jù),同時還可以在主機(jī)上利用對象鏈接嵌/X.(OLE)技術(shù)分析和觀察數(shù)據(jù)。RTDX可以在DSP/BIOS中使甩,也可以脫離DSP/BIOS使用。由于CCS中的Simulator不支持RTDX,所以必須在連接有硬件仿真器或目標(biāo)板的Emulator下使用4.4FIR濾波器的DSP實現(xiàn)DSP的實現(xiàn)過程主要包括:對MATLAB設(shè)計的系數(shù)進(jìn)行量化、在CCS環(huán)境下進(jìn)行匯編語言編程調(diào)試和程序的下載。CCS環(huán)境中的工程文件如圖4——1所示圖4-1CCS工作環(huán)境4.4.1FIR數(shù)字濾波器原理及流程圖通帶邊緣頻率10kHz,阻帶邊緣頻率22kHz,阻帶衰減75dB,采樣頻率50kHz過渡帶寬度=阻帶邊緣頻率-通帶邊緣頻率=22-10=12kHz采樣頻率:f1Ω理想低通濾波器脈沖響應(yīng):h1n=sinnΩ根據(jù)要求選擇布萊克曼窗,窗函數(shù)長度為:N=5.98fs過渡帶寬度選擇N=25,窗函數(shù)為:wn=0.42+0.5濾波器脈沖響應(yīng)為:hn=h1nw[n]h[n]=0|n|>12(4-5)根據(jù)上面計算,各式計算出h[n],然后將脈沖響應(yīng)值移位為因果序列。完成的濾波器的差分方程為:y程序流程圖如下:4-2FIR濾波器流程圖4.4.2DSP程序即CCS仿真結(jié)果#include"myapp.h"#include"ICETEK-VC5509-EDU.h"#include"scancode.h"#include<math.h>#defineFIRNUMBER25#defineSIGNAL1F1000#defineSIGNAL2F4500#defineSAMPLEF10000#definePI3.1415926floatInputWave();floatFIR
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年建筑工程施工現(xiàn)場安全管理考試題
- 口腔門診前臺培訓(xùn)課件
- 后勤安全教育培訓(xùn)試題及答案
- 2025年醫(yī)院信息安全意識試題及答案
- 高致病性動物病原微生物實驗個人防護(hù)裝備穿脫細(xì)則
- 足球教練培訓(xùn)課件
- 口腔知識課件培訓(xùn)
- 2026年上半年黑龍江事業(yè)單位聯(lián)考工程學(xué)院招聘14人備考題庫(含答案詳解)
- 2026四川遂寧市船山區(qū)第一批城鎮(zhèn)公益性崗位安置崗位信息29人備考題庫及參考答案詳解
- 2026年福建泉州紡織服裝職業(yè)學(xué)院招聘備考題庫及一套完整答案詳解
- 糖尿病基礎(chǔ)知識培訓(xùn)2
- DL∕T 448-2016 電能計量裝置技術(shù)管理規(guī)程
- 2023年人教版六年級上冊語文期末考試卷(A4打印版)
- JTG-D40-2002公路水泥混凝土路面設(shè)計規(guī)范-PDF解密
- 《雅思閱讀精講》
- 產(chǎn)前檢查的操作評分標(biāo)準(zhǔn)
- GB/T 22176-2023二甲戊靈乳油
- 50年同學(xué)聚會邀請函(十二篇)
- GB/T 28046.4-2011道路車輛電氣及電子設(shè)備的環(huán)境條件和試驗第4部分:氣候負(fù)荷
- 臨時用水施工方案
- 初中體育《正確跑姿勢》教學(xué)課件
評論
0/150
提交評論