基于DSP的IIR數(shù)字濾波器的設(shè)計(jì)_第1頁
基于DSP的IIR數(shù)字濾波器的設(shè)計(jì)_第2頁
基于DSP的IIR數(shù)字濾波器的設(shè)計(jì)_第3頁
基于DSP的IIR數(shù)字濾波器的設(shè)計(jì)_第4頁
基于DSP的IIR數(shù)字濾波器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 高通IIR濾波器的設(shè)計(jì)及DSP實(shí)現(xiàn)1緒論1.1基于DSP的IIR濾波器設(shè)計(jì)課題背景 隨著集成電路技術(shù)的發(fā)展,各種新型的大規(guī)模和超大規(guī)模集成電路不斷涌現(xiàn),集成電路技術(shù)與計(jì)算機(jī)技術(shù)結(jié)合在一起,使得數(shù)字信號(hào)處理系統(tǒng)的功能越來越強(qiáng)。數(shù)字信號(hào)處理技術(shù)逐漸發(fā)展成為一門主流技術(shù),數(shù)字信號(hào)處理技術(shù)就是基于 VLSI 技術(shù)和計(jì)算機(jī)技術(shù)發(fā)展起來的一門重要技術(shù)。DSP 技術(shù)已在通信、控制、信號(hào)處理、儀器儀表、醫(yī)療、家電等很多領(lǐng)域得到了越來越廣泛的應(yīng)用。數(shù)字濾波器在各種數(shù)字信號(hào)處理中發(fā)揮著十分重要的作用,用數(shù)字濾波器設(shè)計(jì)一直是信號(hào)處理領(lǐng)域的重要研究課題。常用的數(shù)字濾波器有IIR濾波器和FIR濾波器,其中IIR濾波器

2、因具有結(jié)構(gòu)簡單、占用存儲(chǔ)空間少、運(yùn)算速度快、較高的計(jì)算精度和能夠用較低的階數(shù)實(shí)現(xiàn)、較好的選頻特性等優(yōu)點(diǎn),得到了廣泛應(yīng)用。1.2 本設(shè)計(jì)主要研究內(nèi)容與方法主要是在學(xué)習(xí)信號(hào)分析與處理的基礎(chǔ)知識(shí)后,應(yīng)用MATLAB軟件、CCS軟件結(jié)合來設(shè)計(jì)基于DSP的IIR濾波器設(shè)計(jì)。應(yīng)用MATLAB軟件設(shè)計(jì)IIR數(shù)字濾波器:應(yīng)用MATLAB中的工具FDATOOL工具設(shè)計(jì)濾波器的系數(shù);在MATLAB中編譯M文件,產(chǎn)生輸入數(shù)據(jù)。應(yīng)用DSP芯片的匯編語言與C語言進(jìn)行編寫程序,應(yīng)用DSP集成軟件開發(fā)環(huán)境CCS調(diào)試匯編程序與C程序,并用TMS320C54結(jié)合軟件開發(fā)環(huán)境CCS來實(shí)現(xiàn)了IIR數(shù)字濾波的仿真。2 IIR數(shù)字濾波

3、器的設(shè)計(jì) 2.1 IIR數(shù)字濾波器的基本概念無限脈沖響應(yīng)濾波器是數(shù)字濾波器的一種,簡稱IIR數(shù)位濾波器(infinite impulse response filter)。由于無限脈沖響應(yīng)濾波器中存在反饋回路,因此對于脈沖輸入信號(hào)的響應(yīng)是無限延續(xù)的。iir濾波器有以下幾個(gè)特點(diǎn) 1 IIR數(shù)字濾波器的系統(tǒng)函數(shù)可以寫成封閉函數(shù)的形式。 2 IIR數(shù)字濾波器采用遞歸型結(jié)構(gòu),即結(jié)構(gòu)上帶有反饋環(huán)路。iir濾波器運(yùn)算結(jié)構(gòu)通常由延時(shí)、乘以系數(shù)和相加等基本運(yùn)算組成,可以組合成直接型、正準(zhǔn)型、級(jí)聯(lián)型、并聯(lián)型四種結(jié)構(gòu)形式,都具有反饋回路。由于運(yùn)算中的舍入處理,使誤差不斷累積,有時(shí)會(huì)產(chǎn)生微弱的寄生振蕩。3 IIR數(shù)

4、字濾波器在計(jì)上可以借助成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現(xiàn)成的設(shè)計(jì)數(shù)據(jù)或圖表可查,其設(shè)計(jì)工作量比較小,對計(jì)算工具的要求不高。在設(shè)計(jì)一個(gè)iir數(shù)字濾波器時(shí),我們根據(jù)指標(biāo)先寫出模擬濾波器的公式,然后通過一定的變換,將模擬濾波器的公式轉(zhuǎn)換成數(shù)字濾波器的公式。 4 IIR數(shù)字濾波器的相位特性不好控制,對相位要求較高時(shí),需加相位校準(zhǔn)網(wǎng)絡(luò)。 5 IIR單位響應(yīng)為無限脈沖序列fir單位響應(yīng)為有限的 6 IIR幅頻特性精度很高,不是線性相位的,可以應(yīng)用于對相位信息不敏感的音頻信號(hào)上; FIR幅頻特性精度較之于iir低,但是線性相位,就是不同頻率分量的信號(hào)經(jīng)過FIR濾波器后他們的時(shí)間

5、差不變。這是很好的性質(zhì)。 無限脈沖響應(yīng)濾波器的缺點(diǎn):(1)脈沖響應(yīng)為無限長:造成當(dāng)輸入數(shù)位訊號(hào)為有限長的時(shí)候,輸出數(shù)位訊號(hào)會(huì)變成無限長。(2)比有限脈沖響應(yīng)濾波器較不易最佳化。(3)不一定是穩(wěn)定的:因?yàn)閆轉(zhuǎn)換后所有的極點(diǎn)不一定都在單位圓內(nèi)2.2 IIR濾波器的結(jié)構(gòu)IIR數(shù)字濾波器的單位脈沖響應(yīng)h(n)是無限長的,結(jié)構(gòu)上有輸出到輸入的反饋(頻率采樣結(jié)構(gòu)除外),是遞歸型。濾波器的系統(tǒng)函數(shù)為: (2.1)由傳遞函數(shù)可知,用兩個(gè)向量就可以對一個(gè)IIR濾波器進(jìn)行表征。實(shí)現(xiàn)IIR濾波器可以采用直接形式、級(jí)聯(lián)形式和并聯(lián)形式3種結(jié)構(gòu)。直接型直接型:IIR濾波器的系統(tǒng)函數(shù) (2.3)對應(yīng)的差分方程為從上式可以看

6、出,是有兩部分相加構(gòu)成的:第一部分是一個(gè)對輸入信號(hào)的節(jié)延時(shí)結(jié)構(gòu),每節(jié)延時(shí)抽頭后加權(quán)相加,這是一個(gè)實(shí)現(xiàn)零點(diǎn)的橫向結(jié)構(gòu)網(wǎng)絡(luò);第二部分是一個(gè)對的延時(shí)結(jié)構(gòu),每級(jí)延時(shí)抽頭后加權(quán)相加,因此是一個(gè)反饋網(wǎng)絡(luò)。直接型:IIR濾波器的系統(tǒng)函數(shù)又可寫為 可視為分子多項(xiàng)式與分母多項(xiàng)式的倒數(shù)所構(gòu)成的兩個(gè)子系統(tǒng)函數(shù)的乘積,這相應(yīng)與子系統(tǒng)級(jí)聯(lián)。第一個(gè)子系統(tǒng)實(shí)現(xiàn)零點(diǎn),第二個(gè)子系統(tǒng)實(shí)現(xiàn)極點(diǎn),而且已知一個(gè)線性時(shí)不變系統(tǒng),如果交換其子系統(tǒng)的次序,系統(tǒng)函數(shù)不發(fā)生改變。這種結(jié)構(gòu)形式稱為直接型。級(jí)聯(lián)型 將IIR濾波器的系統(tǒng)函數(shù)的分子分母表達(dá)為因子的形式,即 由于系統(tǒng)函數(shù)的系數(shù)都是實(shí)系數(shù),故零、極點(diǎn)只有兩種情況:或者是實(shí)根,或者是共軛復(fù)根

7、。式中A為歸一化常數(shù), , ,表示實(shí)零點(diǎn),表示實(shí)極點(diǎn),每一對共軛因子合并起來,就可以構(gòu)成一個(gè)實(shí)系數(shù)的二階因子。因此,任意系統(tǒng)均可由一階和二階子系統(tǒng)級(jí)聯(lián)構(gòu)成。級(jí)聯(lián)結(jié)構(gòu)的一個(gè)重要的優(yōu)點(diǎn)是存儲(chǔ)單元比較少,用硬件實(shí)現(xiàn)時(shí),可以用一個(gè)二階進(jìn)行分時(shí)復(fù)用。級(jí)聯(lián)結(jié)構(gòu)的另一個(gè)特點(diǎn)是,其每一個(gè)基本節(jié)都關(guān)系到濾波器的一對極點(diǎn)和一對零點(diǎn)。 并聯(lián)型將IIR濾波器的系統(tǒng)函數(shù)展成部分分式之和,即式中,由于系統(tǒng)函數(shù)的系數(shù)都是實(shí)系數(shù),故,如果M<N,則上式不包括項(xiàng);如果M=N,則項(xiàng)變?yōu)?。一般IIR系統(tǒng)皆滿足MN的條件。當(dāng)M=N時(shí),上式變?yōu)榭傁到y(tǒng)函數(shù)為各部分悉數(shù)函數(shù)之和時(shí),則表示其為各相應(yīng)子系統(tǒng)的并聯(lián)。所以上式可理解為一階和

8、二階系統(tǒng)的并聯(lián)組合。顯然,并聯(lián)結(jié)構(gòu)速度快,也可以單獨(dú)調(diào)整極點(diǎn)位置,但不能像級(jí)聯(lián)那樣直接調(diào)整零極點(diǎn),因?yàn)椴⒙?lián)型各二階網(wǎng)絡(luò)的零點(diǎn),并非整個(gè)系統(tǒng)函數(shù)的零點(diǎn)。因此,當(dāng)要求準(zhǔn)確傳輸零點(diǎn)時(shí),以采用級(jí)聯(lián)型為宜。另外,并聯(lián)型各基本節(jié)的誤差互不影響。3信號(hào)產(chǎn)生程序設(shè)計(jì)應(yīng)用說明:例:設(shè)計(jì)內(nèi)容及要求:要求設(shè)計(jì)一個(gè)基于DSP的IIR高通濾波器,把f11濾掉,保留f12。IIR高通濾波器的系數(shù)由Matlab中的fdatool產(chǎn)生,信號(hào)也由Matlab產(chǎn)生已知x1(n)=sin(2*pi*f11*n*T);X2(n)=0.5*sin(2*pi*f12*n*T);x(n) = x1(n)+ x2(n)其中:f11=500H

9、z; f12=4000Hz; fs=10000Hz 。 程序:f11=500; %/Hzf12=4000; %/Hzfs=10000; %/采樣HzN=1000 %數(shù)據(jù)個(gè)數(shù)T=1/fs; %采樣周期n=0:N;x11=sin(2*pi*f11*n*T);x12=0.5*sin(2*pi*f12*n*T);x_base=(x11+x12);%待濾波信號(hào)波形figure(1)plot(x_base)%待濾波信號(hào)頻譜figure(2)yff=abs(fft(x_base)df=n*(fs/N)plot(df,yff)xout=x_base/max(x_base);%歸一化xto_ccs=round(

10、32767*xout)fid=fopen('input.dat','w');%打開文件fprintf(fid,'1651 1 0 0 0n');%輸出文件頭fprintf(fid,'%dn',xto_ccs);%輸出fclose(fid);頻譜圖和時(shí)域圖分別如下圖:4.IIR高通濾波器濾波程序設(shè)計(jì)#include "stdio.h" #include "C:MATLAB6p5externincludetmwtypes.h"#define LEN 200 /待濾波的數(shù)據(jù)長度#define II

11、RORDER 2 float yn; float yb;float ya;int inputLEN; /輸入緩沖,在仿真時(shí)將從內(nèi)存載入float outputLEN; /輸出緩沖,直接存放在內(nèi)存中float bIIRORDER+1= 1.0000,-2.0000,1.0000;float aIIRORDER+1= 1.0000, 1.0622,0.3786;void main() int j,i; for(i=0;i<IIRORDER;i+) outputi = inputi; for(j=IIRORDER;j<LEN;j+) yb=0; ya=0;for(i=0;i<=II

12、RORDER;i+) yb+= bi*(float)inputj-i;for(i=0;i<=(IIRORDER-1);i+) ya+= ai+1*(float)outputj-i-1;yn= yb-ya; outputj = yn; while(1);5 DSP、 CCS和MATLAB的有關(guān)介紹5.1 DSP特點(diǎn)數(shù)字信號(hào)處理器與數(shù)字信號(hào)處理有著密不可分的關(guān)系,我們通常說的“DSP”可以指信號(hào)處理(digital signal processing),也可以代表數(shù)字信號(hào)處理器(digital signal processor),本文中均指數(shù)字信號(hào)處理器。DSP是一種獨(dú)特的微處理器是以數(shù)字信

13、號(hào)來處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。 DSP已經(jīng)成為信號(hào)處理技術(shù)的主流。因?yàn)榕c早期的模擬信號(hào)相比,數(shù)字信號(hào)處理有著巨大的優(yōu)勢。早期的模擬信號(hào)處理主要通過運(yùn)算放大電路進(jìn)行不同的電阻組配實(shí)現(xiàn)算術(shù)運(yùn)算,通過電阻、電容的組配實(shí)現(xiàn)濾波處理等,其中有一個(gè)很明顯的問題是不靈活、不穩(wěn)定,參數(shù)修改困

14、難,需要采用多種阻值、容值的電阻、電容,并通過電子開關(guān)選通才能修改處理參數(shù);而且對周圍環(huán)境變化的敏感性強(qiáng),溫度、電路噪聲等都會(huì)造成處理結(jié)果的改變而數(shù)字信號(hào)處理可以通過軟件修改處理參數(shù),因此具有很大的靈活性。由于數(shù)字電路采用廠二值邏輯,只要環(huán)境溫度、電路噪聲的變化不造成電路邏輯的翻轉(zhuǎn),數(shù)字電路都可以不受影響地完成工作,因此具有很好的穩(wěn)定性。5.2 DSP在本設(shè)計(jì)中的運(yùn)用 本設(shè)計(jì)是基于DSP的FIR濾波器的設(shè)計(jì),是在DSP芯片上實(shí)現(xiàn)的,在模擬DSP芯片上進(jìn)行仿真,需要用到DSP芯片的匯編語言,及地址分配,和處理數(shù)據(jù)精度等方面的知識(shí),總之,DSP是本設(shè)計(jì)的基礎(chǔ)。5.3 CCS特點(diǎn)CCS,即code

15、composer studio,是TI公司在1999年推出的一個(gè)開放、具有強(qiáng)大集成開發(fā)環(huán)境,它最初是由GO DSP公司為TI的C6000系列DSP開發(fā)的。在TI收購了GO DSP后,將CCS擴(kuò)展到了其他系列?,F(xiàn)在所有TI犯人DSP都可以使用CCS進(jìn)行開發(fā),但是其中的DSP/BIOS功能只有C5000和C6000的CCS中才提供。以前的DSP軟件開發(fā)都是在一個(gè)分散的開發(fā)環(huán)境新進(jìn)行,程序的編寫、代碼的生成以及調(diào)試等都是通過命令來完成,類似于以前的Dos,十分煩雜。而CCS的出現(xiàn)是DSP開發(fā)軟件的一個(gè)革命性的變化,CCS主要有代碼生成工具,CCS集成開發(fā)環(huán)境、DSP/BIOS和API函數(shù)以及RTDX

16、組成。5.5 MATLAB的有關(guān)介紹與應(yīng)用20世紀(jì)70年代,美國新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān),用FORTRAN編寫了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場。到20世紀(jì)90年代,MATLAB已成為國際控制界的標(biāo)準(zhǔn)計(jì)算軟件MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,運(yùn)用于算法開發(fā)、數(shù)據(jù)分析、數(shù)據(jù)可視化以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simuli

17、nk兩大部分。5.5.1 MATLAB在本文中應(yīng)用在本文中運(yùn)用到MATLAB的地方主要有三處:(1)在MATLAB中編譯M文件,并保存,產(chǎn)生輸入數(shù)據(jù)(在節(jié)中有詳解)(2)運(yùn)用MATLAB中的fdatool工具,根據(jù)濾波器指標(biāo)要求,設(shè)計(jì)濾波器,并保存,以頭文件的形式導(dǎo)入ccs編譯過程(在節(jié)中有詳細(xì)介紹)(3)在CCS編譯成功,生成.out文件后,導(dǎo)入MATLAB中的產(chǎn)生的數(shù)據(jù)。6仿真結(jié)果6.1 在MATLAB中啟動(dòng)FDATOOL及設(shè)置FDATOOL點(diǎn)擊桌面上的,啟動(dòng)MATLAB,在MATLAB的左下角點(diǎn)擊“Start”,選擇“ToolsboxesFilter designFilter Desig

18、n &Analyis Tool (FDATOOL)”,啟動(dòng)FDATOOL,如圖5-2所示。圖5-2 FDATOOL界面6.2 使用MATLAB生成輸入數(shù)據(jù)點(diǎn)擊桌面上的,啟動(dòng)MATLAB,生成輸入數(shù)據(jù)的方法有兩種。(一)直接在MATLAB界面中直接輸入程序,在輸完程序后點(diǎn)擊回車,將會(huì)產(chǎn)生設(shè)計(jì)所需的輸入文件,并保存在程序中所設(shè)定的文件中,本設(shè)計(jì)設(shè)定的是“input文件”。(二)編譯M文件,在M文件中直接運(yùn)行和修改,按程序產(chǎn)生所需輸入文件,保存在程序中所指定的文件中。第一種方法簡單直觀,運(yùn)行方便但修改麻煩,第二種方法容易修改,運(yùn)行方便。本設(shè)計(jì)中采用編譯M文件,M文件在附錄中。6.3通過CCS

19、查看濾波結(jié)果查看濾波結(jié)果步驟如下:步驟一:打開“ViewGraphTime/Frequency”,彈出圖形屬性對話框(Graph Property Dialog)。其中包括Display Type(顯示類型)、Graph Title(圖形名稱)、Start Address(開始地址)、Page、Acquisition Buffer Size(采樣緩沖器大?。?、Display Data Size(顯示數(shù)據(jù)多少)、DSP Data Size(DSP數(shù)據(jù)類型)等。步驟二:查看濾波前的輸入數(shù)據(jù)的時(shí)域波形。打開圖形對話框后,各屬性設(shè)置如圖所示,點(diǎn)擊“OK”后出現(xiàn)如圖所示的輸入數(shù)據(jù)的時(shí)域波形圖6-13 圖

20、形屬性對話框圖6-14 時(shí)域波形圖步驟三:查看輸入數(shù)據(jù)的頻域波形圖,打開圖形對話框后,各屬性設(shè)置如圖6-15 所示;點(diǎn)擊“OK”后出現(xiàn)出現(xiàn)如圖 所示的輸入數(shù)據(jù)的頻域波形圖所示。圖6-15 圖形屬性對話框圖6-16 頻域波形圖步驟四:重復(fù)步驟一到步驟三,在步驟二和步驟三中把“Start Address”由“input”改為“output”,把“Graph Title”由“input”改為“output”,顯示的濾波后的時(shí)域和頻域波形如圖6-17和圖6-18 所示。圖6-17和6-18及為經(jīng)過濾波后的波形。圖6-17 時(shí)域波形圖圖6-18 頻域波形圖7 結(jié)論本設(shè)計(jì)是基于DSP的FIR濾波器設(shè)計(jì),當(dāng)下濾波器設(shè)計(jì)技術(shù)已相當(dāng)成熟,在前人的基礎(chǔ)上,本設(shè)計(jì)采用的分塊處理的方法。一共將設(shè)計(jì)的整天分為了三大部分部分:MATLAB產(chǎn)生輸入數(shù)據(jù)、由FDATOOL產(chǎn)生濾波器系數(shù)、由CCS進(jìn)行仿真濾波?;贒SP的FIR濾波器的設(shè)計(jì)只是一個(gè)計(jì)算過程,可靠性高,并且不存在阻抗匹配、特性波動(dòng)、非一致性等問題。由FDATOOL產(chǎn)生濾波器系數(shù)且可修改,所以只要適當(dāng)改變?yōu)V波器設(shè)計(jì)有關(guān)參數(shù),就能方便的改變?yōu)V波特性,因此數(shù)字濾波使用時(shí)方便靈活。DSP運(yùn)算速度快,具有可編程特性和接口靈活的特點(diǎn),所以只要改變數(shù)字濾波程序有關(guān)參數(shù),便可快速實(shí)現(xiàn)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論