利用DSP實現(xiàn)數(shù)字濾波器_第1頁
利用DSP實現(xiàn)數(shù)字濾波器_第2頁
利用DSP實現(xiàn)數(shù)字濾波器_第3頁
利用DSP實現(xiàn)數(shù)字濾波器_第4頁
利用DSP實現(xiàn)數(shù)字濾波器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 DSP技術(shù)及應(yīng)用課程設(shè)計報告 課設(shè)名稱:利用DSP實現(xiàn)數(shù)字濾波器 學(xué) 院:信息工程 專 業(yè):通信工程 班 級:2012159 學(xué) 號:201215925 姓 名:高亮 輔導(dǎo)老師:李珺 陳俊峰 時 間:2015年12月29目 錄一. 緒論.11.1設(shè)計背景.11.2設(shè)計要求.11.3設(shè)計思路簡介.1二. 系統(tǒng)開發(fā)平臺與環(huán)境. 11.1 CCS開發(fā)環(huán)境.1三 . FIR濾波器設(shè)計過程. 23.1 FIR濾波器基本理論 .23.2 FIR濾波器的MATLAB實現(xiàn) .4四FIR濾波器的DSP實現(xiàn).10五. CCS仿真圖及結(jié)果. .12六. 總結(jié) .14七.參考文獻.15一. 緒論1.1設(shè)計背景在信號

2、處理中,濾波占有十分重要的地位。數(shù)字濾波是數(shù)字信號處理的基本方法。數(shù)字濾波與模擬濾波相比有很多優(yōu)點,它除了可避免模擬濾波器固有的電壓漂移、溫度漂移和噪聲等問題外,還能滿足濾波器對幅度和相位的嚴格要求。低通有限沖激響應(yīng)濾波器(低通FIR濾波器)有其獨特的優(yōu)點,因為FIR系統(tǒng)只有零點,因此,系統(tǒng)總是穩(wěn)定的,而且容易實現(xiàn)線性相位和允許實現(xiàn)多通道濾波器。DSP(數(shù)字信號處理器)與一般的微處理器相比有很大的區(qū)別,它所特有的系統(tǒng)結(jié)構(gòu)、指令集合、數(shù)據(jù)流程方式為解決復(fù)雜的數(shù)字信號處理問題提供了便利,本文選用TMS320C54X作為DSP處理芯片,通過對其編程來實現(xiàn)FIR濾波器。對數(shù)字濾波器而言,從實現(xiàn)方法上,

3、有FIR濾波器和無限沖激響應(yīng)(IIR)濾波器之分。由于FIR濾波器只有零點,因此這一類系統(tǒng)不像IIR系統(tǒng)那樣易取得比較好的通帶與阻帶衰減特性。但是FIR系統(tǒng)有自己突出的優(yōu)點:系統(tǒng)總是穩(wěn)定的;易實現(xiàn)線性相位;允許設(shè)計多通帶(阻帶)濾波器。其中后兩項是IIR系統(tǒng)不易實現(xiàn)的。1.2設(shè)計要求利用C語言在CCS環(huán)境中編寫一個FIR濾波器程序,并能利用已設(shè)計好的濾波器對常用信號進行濾波處理。1.3設(shè)計思路簡介在TMS320C54x系統(tǒng)開發(fā)環(huán)境CCS(Code Composer Studio)下對FIR濾波器的DSP實現(xiàn)原理進行討論。利用C語言設(shè)計相應(yīng)的濾波器,通過實驗仿真,從輸入信號和輸出信號的時域和頻域

4、曲線可看出在DSP上實現(xiàn)的FIR濾波器能完成預(yù)定的濾波任務(wù)。二 系統(tǒng)開發(fā)平臺與環(huán)境1.1 CCS開發(fā)環(huán)境CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實時、嵌入式信號處理程序的編制和測試,它能夠加速開發(fā)進程,提高工作效率。CCS提供了基本的代碼生成工具,它們具有一系列的調(diào)試、分析能力。CCS支持如下圖1.1所示的開發(fā)周期的所有階段。圖 1.1三 . FIR濾波器設(shè)計過程3.1 FIR濾波器基本理論(1)FIR濾波器的特點數(shù)字濾波器的功能,就是把輸入序列通過一定的運算變換成輸出序列。它的實現(xiàn)方法有很多,其中比較常用到的是無限長脈沖響應(yīng)濾波器 IIR和有限長脈沖響應(yīng)濾波器FIR兩種。在

5、計算量相等的情況下,IIR數(shù)字濾波器比FIR濾波器的幅頻特性優(yōu)越,頻率選擇性也好。但是,它有著致命的缺點,其相位特性不好控制。它的相位特性是使頻率產(chǎn)生嚴重的非線性的原因。但是在圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中都越來越多的要求信道具有線性的相位特性。在這方面 FIR濾波器具有它獨特的優(yōu)點,設(shè)FIR濾波器單位脈沖響應(yīng)h(n)長度為N,其系統(tǒng)函數(shù)H(z)為H(z)是的(N-1)次多項式,它在z平面上有(N-1)個零點,原點z=0是(N-1)階重極點。因此,H(z)永遠穩(wěn)定,它可以在幅度特性隨意設(shè)計的同時,保證精確、嚴格的線性相位。(2)FIR濾波器的基本結(jié)構(gòu) 數(shù)字濾波是將輸入的信號序列,按規(guī)定的算

6、法進行處理,從而得到所期望的輸出序列,F(xiàn)IR濾波器的差分方程為: 對上式進行Z變換得到FIR濾波器的傳遞函數(shù)為: 由上式可以看出,H(z)是的N-1次多項式,它在z平面內(nèi)有N-1個零點,同時在原點處有N-1個重極點。N階濾波器通常采用N個延遲單元、N個加法器與N+1個乘法器,取圖中(a)、(b)兩種結(jié)構(gòu)。圖 FIR濾波器的一般結(jié)構(gòu)因為FIR濾波器的單位抽樣響應(yīng)是有限長的,所以它永遠是穩(wěn)定的。另外,若對 h(n)提出一些約束條件,那么可以很容易地使 H(z)具有線性相位,這在信號處理的很多領(lǐng)域是非常重要的。FIR濾波器的設(shè)計任務(wù),是要決定一個轉(zhuǎn)移函數(shù)H(z),使它的頻率響應(yīng)滿足給定的要求。這里所

7、說的要求,除了通帶頻率、阻帶頻率及兩個帶上的最大和最小衰減和外,很重要的一條是保證H(z)具有線性相位。(3)Chebyshev逼近法窗函數(shù)法和頻率采樣法設(shè)計出的濾波器的頻率特性都是在不同意義上對所給理想頻率特性的逼近。由數(shù)值逼近理論可知,對某個函數(shù)f(x)的逼近一般有以下三種方法:插值法(Interpolating Way)最小平方逼近法(Least Square Approaching Way)一致逼近法(Consistent Approaching Way)切比雪夫最佳一致逼近的基本思想是,對于給定區(qū)間a,b上的連續(xù)函數(shù),在所有n次多項式的集合中,尋找一個多項式 p(x),使它在a,b上

8、對的偏差和其它一切屬于的多項式 p(x)對f(x)的偏差相比是最小的,即 切比雪夫逼近理論,這樣的多項式是存在的,且是唯一的,并指出了構(gòu)造這種最佳一致逼近多項式的方法,就是有名的“交錯點組定理”。切比雪夫逼近理論解決了p(x)的存在性、唯一性和如何構(gòu)造等問題。J.H.McClellan、T.W.Parks、L.R.Rabiner 等人應(yīng)用切比雪夫逼近理論提出了一種設(shè)計FIR濾波器的計算機輔助算法。這種算法由于是在一致意義上對作最佳逼近,因而獲得了較好的通帶和阻帶性能,并能準確地指定通帶和阻帶的邊緣。但它的效率依賴于初始極值頻率點的估計,且通帶和阻帶內(nèi)波紋數(shù)較多,這是Chebyshev方法的兩個

9、主要缺點。3.2 FIR濾波器的MATLAB實現(xiàn)MATLAB輔助DSP 實現(xiàn)FIR ,其總體過程為在DSP中編寫處理程序,在MATLAB中利用濾波器設(shè)計、分析工具( FDATOOL) ,根據(jù)指定的濾波器性能快速設(shè)計一個FIR ,再把濾波器系數(shù)以頭文件形式導(dǎo)入CCS 中,頭文件中MATLAB 輔助DSP 實現(xiàn)FIR 數(shù)字濾波器含濾波器階數(shù)和系數(shù)數(shù)組,在MATLAB中調(diào)試、運行DSP 程序并顯示、分析處理后的數(shù)據(jù)。使用該方法,便于采用匯編語言來實現(xiàn)程序。頭文件名不變,當(dāng)MATLAB中設(shè)計的濾波器系數(shù)改變時,相應(yīng)頭文件中系數(shù)也改變,方便程序調(diào)試、仿真。(1)輸入信號的產(chǎn)生首先利用Matlab產(chǎn)生導(dǎo)入

10、CCS的dat文件,具體實現(xiàn)如下代碼所示sl=1000;%有效信號ns1=3000;%高頻噪聲fs=20000;%采樣頻率N=500;T=1/fs;n=0:N; signal=sin(2*pi*sl*n*T); noise1=0.7*sin(2*pi*ns1*n*T);x=(signal+noise1);%待濾波信號figure(1)plot(x)figure(2) y=abs(fft(x);%待濾波頻譜 df=n*(fs/N);plot(df,y)figure(3)plot(signal)figure(4) ysignal=abs(fft(signal);%濾波后頻譜df=n*(fs/N);

11、plot(df,ysignal) %濾波數(shù)據(jù)導(dǎo)出 xout=x/max(x); %歸一化xto_css=round(32767*xout);%數(shù)據(jù)取整 xoutcss=xto_css; fid=fopen('C:UserszhaoyongweiDesktopmyprojectsinput.dat','w'); %打開文件 fprintf(fid,'1651 1 0 0 0n');%輸出文件頭 fprintf(fid,'%dn',xoutcss); %輸出fclose(fid);產(chǎn)生的時域波形如圖所示:圖 輸入信號波形圖 輸入頻譜經(jīng)

12、過濾波器后的預(yù)期時域波形如圖:圖 輸出時域波形頻譜如圖所示圖 輸出頻譜(2) 濾波器的設(shè)計MATLAB集成了一套功能強大的濾波器設(shè)計工具FDATool(Filter Design & Analysis Tool),可以完成多種濾波器的設(shè)計、分析和性能評估。a.打開Filter Design & Analysis Tool單擊MATLAB主窗口下方的“Start”按鈕,選擇菜單“ToolBox” “Filter Design” “Filter Design & Analysis Tool(FDATool)”命令,打開FDATool,如圖所示。圖 fadatool的啟動b.

13、產(chǎn)生濾波器階數(shù)為81階,這里應(yīng)填80,比階數(shù)少1。窗函數(shù)選擇切比雪夫型(chebyshev),采樣頻率為20000Hz,通帶截止頻率為750Hz。圖 濾波器的幅頻特性圖 濾波器的相位特性c.產(chǎn)生濾波器系數(shù)和頭文件圖 濾波器系數(shù)圖 頭文件的產(chǎn)生最后將產(chǎn)生的頭文件中的濾波器系數(shù)數(shù)組放入編寫好的濾波器函數(shù)中,并在進行CCS中進行調(diào)試與測試。四 FIR濾波器的DSP實現(xiàn)(1)DSP中濾波器的算法實現(xiàn)FIR濾波器的輸出表達式為式中,為濾波器系數(shù);x(n)表示濾波器在n時刻的輸入;y(n)為n時刻的輸出。它的基本算法是一種乘法-累加運算,即不斷地輸入樣本x(n),經(jīng)過延時后,再進行乘法-累加,最后輸出濾波

14、結(jié)果y(n)。線性緩沖區(qū)法:線性緩沖區(qū)法又稱延遲線法,其特點:對于N級的FIR濾波器,在數(shù)據(jù)存儲器中開辟一個N單元的緩沖區(qū)(滑窗),用來存放最新的N個輸入樣本;從最老樣本開始取數(shù),每取一個樣本后,將此樣本向下移位;讀完最后一個樣本后,輸入最新樣本存入緩沖區(qū)的頂部。循環(huán)緩沖區(qū)法:循環(huán)緩沖區(qū)法的特點如下:對于N級FIR濾波器,在數(shù)據(jù)存儲器中開辟一個N單元的緩沖區(qū)(滑窗),用來存放最新的N個輸入樣本;從最新樣本開始取數(shù);讀完最后一個樣本(最老樣本)后,輸入最新樣本來代替最老樣本,而其他數(shù)據(jù)位置不變;用片內(nèi)BK(循環(huán)緩沖區(qū)長度)寄存器對緩沖區(qū)進行間接尋址,使循環(huán)緩沖區(qū)地址首尾相鄰。本次設(shè)計的FIR濾波

15、器所采用的就是循環(huán)緩沖區(qū)法。C語言實現(xiàn)FIR采用C語言算法在DSP平臺上實現(xiàn)了FIR低通數(shù)字濾波器,C語言算法相比于匯編算法可移植性很強。這里是在TMS320VC5510DSP為平臺編寫的C語言算法, 此算法可以稍加改動用在其他DSP芯片上, 而匯編算法則不然。這種方法具有以下優(yōu)點:(a) 程序的入口和出口由C語言自動管理,不必手工編寫匯編程序?qū)崿F(xiàn)。(b) 程序結(jié)構(gòu)清晰,可讀性強。(c) 程序調(diào)試方便。由于C程序中的變量全部由C語言來定義,因此采用C源碼調(diào)試器可以方便地觀察C語言變量。(d) 可移植性較強,通用性較好。具體代碼如下:#include"stdio.h"#inc

16、lude"fdacoefs.h" /頭文件包含濾波器的系數(shù)#define N 81 /定義濾波器的階數(shù)為81階#define Length 200 /定義緩沖區(qū)數(shù)組大小為200long yn;int inputLength; /存放輸入數(shù)據(jù)int outputLength; /存放輸出數(shù)據(jù)void main()int m,n; int *x;for(n=0;n<Length-1;n+) /循環(huán)導(dǎo)入數(shù)據(jù) x=&inputn; /指針指向每次導(dǎo)入的數(shù)據(jù) yn=0; /每做完一次乘累加后,把值賦給output數(shù)組后,從新歸0 for(m=0;m<N-1;m+)

17、yn+=Bm*(*(x+); /做N次的乘累加 outputn=yn; 把值賦給output數(shù)組 while(1); /做完濾波后使程序保持在本循環(huán)中五. CCS仿真圖及結(jié)果CCS 是TI 推出的用于開發(fā)其DSP 芯片的繼承開發(fā)調(diào)試工具, 集編輯、編譯、鏈接、軟件仿真、硬件調(diào)試及實時跟蹤等功能于一體, 極大地方便了DSP 程序的設(shè)計與開發(fā), 此外還提供圖形顯示功能, 方便用戶觀察特定地址的波形。此外, 還需向工程中添加Link. cmd文件(源碼見附錄)。在CCSV3.3中建立工程,把c源代碼和.cmd文件導(dǎo)入后,外加rts. lib文件,它是TI提供的運行時支持庫, 如果是C代碼寫的源程序,

18、 必須要包含該庫,該庫由TI公司做好放在CCS cgtools lib中, 源代碼TI網(wǎng)站可以下載。添加完成后,編譯通過后,下載.out文件,導(dǎo)入.dat文件后運行程序。采用CCS 的圖形顯示功能, 分別觀察輸入信號x ( n)、輸出信號y ( n)的時域波形和頻域波形, 輸入信號波形如圖所示。圖 濾波前時域波形圖 濾波前頻譜圖經(jīng)過濾波后,觀察輸出波形如下圖 濾波后時域波形圖 濾波后頻譜圖為了更加直觀的觀察濾波器的性能和濾波效果,把濾波前后的時域波形和頻譜圖進行對比和分析,具體如下:圖 濾波前后對比時域和頻譜綜上分析,濾波器實現(xiàn)濾除高頻噪聲,而且保證原信息信號基本不失真的功能,濾波效果較好,性能優(yōu)越。6 總結(jié) 剛開始面對的時候,我們不知從哪里入手,盡管做過實驗。對于題目,具體需要做什么,能不能做出來,我們并不清楚。但當(dāng)時間一天天過去后,我們開始認真起來了。從復(fù)習(xí)課本,再到復(fù)習(xí)實驗,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論