DSP實時濾波器_第1頁
DSP實時濾波器_第2頁
DSP實時濾波器_第3頁
DSP實時濾波器_第4頁
DSP實時濾波器_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、 摘要在信號處理中,濾波占有十分重要的地位。數(shù)字濾波是數(shù)字信號處理的基本方法。數(shù)字濾波與模擬濾波相比有很多優(yōu)點。它除了可避免模擬濾波器固有的電壓漂移、溫度漂移和噪聲等問題外,還能滿足濾波器對幅度和相位的嚴(yán)格要求DSP芯片實現(xiàn)數(shù)字濾波具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點。數(shù)字濾波器分為有限沖激響應(yīng)濾波器FIR和無限沖激響應(yīng)濾波器IIR,由于FIR是全零點的濾波器,因而系統(tǒng)總是穩(wěn)定的。這對于系統(tǒng)綜合是很重要的。本實驗采用TI公司的TMS320C5409型號的DSP芯片實現(xiàn)具有線性相位的FIR低通數(shù)字濾波。2、 利用Matlab獲取濾波器系設(shè)h(n)(n=0,1,2,N一1)為濾波器的沖激

2、響應(yīng),輸入信號為x(n),則FIR濾波器就是要實現(xiàn)下列差分方程:上式就是FIR濾波器的差分方程。FIR濾波器的最主要的特點是沒有反饋回路,因此它是無條件穩(wěn)定系統(tǒng)。它的單位脈沖響應(yīng)h(n)是一個有限長序列。由上面的方程可見,F(xiàn)IR濾波箅法實際上足一種乘法累加運(yùn)算,它不斷地輸入樣本x(n),經(jīng)延時做乘法累加,再輸出濾波結(jié)果y(n)。FIR濾波器的一個分支的延時線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。結(jié)構(gòu)如圖1所示,它由一條均勻間隔的延遲線上對抽失信號進(jìn)行加權(quán)求和構(gòu)成。x(n)h(0)h(1)h(2)h(N-1)y(n) FIR濾波器的直接型結(jié)構(gòu)圖本實驗用MATLAB的fdatool功能實現(xiàn)濾

3、波器設(shè)計。具體方法如下:(1) 輸入fdatool,彈出濾波器設(shè)計窗口。輸入設(shè)計指標(biāo),令采樣頻率為20000Hz,開始衰減的頻率為2500Hz截止頻率為4600Hz,衰減為50db,軟件自動完成設(shè)計。(2)點擊File>Export,選擇參數(shù),導(dǎo)出濾波器系數(shù),再由導(dǎo)出的參數(shù)乘32768后取整數(shù)部分轉(zhuǎn)換為十六進(jìn)制數(shù),即為設(shè)計的十六進(jìn)制系數(shù)。設(shè)計的系數(shù)如下:0.0042058395684075245 0089H-0.0075151837349766307 -00F5H-0.035418063175322867 -0487H-0.059588974025311756 -079DH-0.0359

4、94625237031161 -0498H 0.062526635535184144 0800H 0.20563298596047033 1A51H 0.31249419559483949 27FCH 0.31249419559483949 27FCH 0.20563298596047033 1A51H 0.062526635535184144 0800H-0.035994625237031161 -0498H-0.059588974025311756 -079DH-0.035418063175322867 -0487H-0.0075151837349766307 -00F5H 0.00420

5、58395684075245 0089H得出的結(jié)果是一個16階的FIR低通濾波器。3、 濾波器系數(shù)驗證濾波器的系數(shù)驗證及軟件仿真選用MATLAB的sptool功能實現(xiàn)。Sptool是MATLAB信號處理工具箱中自帶的交互式圖形用戶界面工具,它包含了信號處理箱中的大部分函數(shù),可以方便快捷地自動完成對信號、濾波器及頻譜的分析、設(shè)計和瀏覽。本實驗中具體步驟如下:(1)在MATLAB命令窗口中輸入以下命令,生成混頻信號,信號中包含了低頻500Hz和高頻8000Hz。 Fs=20000; t=(1:100)/Fs; in=sin(2*pi*t*500)+sin(2*pi*t*8000);(2)在命令窗口

6、中輸入sptool,進(jìn)入仿真界面,在File>Import中導(dǎo)入輸入信號in,采樣頻率Fs,命名sig1,在Filter下的選項中選擇New新建濾波器,方法與二相同,點擊Apply,生成輸出信號,命名為output。、(3)在Signals的View下觀察輸入、輸出的時域波形 輸入時域波形 輸出時域波形(4) 在Spectra下點擊creat,選擇FFT方式,Apply生成頻域波形 輸入信號頻譜 輸出信號頻譜由仿真可看出,濾波器使信號中500Hz的低頻分量通過,抑制了8000Hz的高頻分量,實現(xiàn)了低通濾波,濾波器設(shè)計正確。4、 DSP實時濾波器代碼合成過程程序設(shè)計的總體思路是:啟動AD模

7、塊對輸入的模擬信號進(jìn)行模數(shù)轉(zhuǎn)換,每采集到一個數(shù)據(jù)就送人DSP濾波運(yùn)算,運(yùn)算結(jié)果送DAC轉(zhuǎn)換為模擬量。不斷地重復(fù)上述過程,在DAC7625的輸出端就得到濾波后的模擬信號。為了精確地控制ADS7864的采樣率,使用DSP內(nèi)部的定時器控制采樣時間間隔T,設(shè)置定時器的定時時間等于采樣時間間隔T,并讓它工作在中斷方式,則定時器每過T時間就向CPU發(fā)出中斷請求,CPU響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,在中斷服務(wù)程序中讀取A/D轉(zhuǎn)換結(jié)果,對轉(zhuǎn)換結(jié)果進(jìn)行濾波運(yùn)算,并將運(yùn)算結(jié)果送D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬量。因此,程序分為A/D轉(zhuǎn)換、定時器中斷、中斷服務(wù)程序、D/A轉(zhuǎn)換等幾個模塊。5、 實時濾波器軟件流程和硬件組

8、成框圖及核心代碼陳述中斷服務(wù)程序開始讀取A/D轉(zhuǎn)換結(jié)果啟動A/D轉(zhuǎn)換進(jìn)行濾波運(yùn)算轉(zhuǎn)換結(jié)果有效?運(yùn)算結(jié)果送D/A轉(zhuǎn)換器返回主程序YN主程序開始等待定時中斷堆棧設(shè)置 寄存器設(shè)置啟動A/D轉(zhuǎn)換定時器初始化開中斷 1、定時器初始化代碼如下,設(shè)置中斷頻率prd為00C7h即十進(jìn)制199,tcr為082Eh即令TDDR第四位為14,十進(jìn)制為15,由中斷周期計算公式公式TINT頻率=算出,其中為時鐘周期,DSP中的時鐘頻率為60MHz,由此算的采樣頻率Fs=20000Hz。 stm #0010h,tcr ;TSS置1,便于接下來的設(shè)置 stm #00C7h,prd ;置位prd以設(shè)置中斷頻率,十進(jìn)制為199

9、 stm #082Eh,tcr ;tcr初始化,令TDDR的低四位為14,10進(jìn)制為152、中斷服務(wù)程序如下,每處理一個數(shù)據(jù)調(diào)用一次jump子程序,由a逐次-1計數(shù)。 jump: SUB #1h,arsbx xfrpt #5nopportr 07fffh,*ar2 rpt #5nopssbx xfnopportr 0ffffh,*ar5nopnopstl a,*ar5;暫存累加器A的值nop nopcall filter_startnop nopld *ar5,anopnopportw *ar2,0bfffhnopnopRete(2)濾波程序如下,由A/D轉(zhuǎn)換來的數(shù)據(jù)存在寄存器ar2中,經(jīng)公式

10、處理后生成濾波后的數(shù)據(jù)存放在寄存器ar3中,送到D/A轉(zhuǎn)換。filter_start: LD *ar2,A nop nop nop nop SFTA A,6 nop nop nop nop stlA,*ar3 nop nop nop nop RPT #K_A-1-1 MAR *ar3-0% MPY *ar3+0%,#f15,B LD B,A MPY *ar3+0%,#f14,B ADD B,A MPY *ar3+0%,#f13,B ADD B,A MPY *ar3+0%,#f12,B ADD B,A MPY *ar3+0%,#f11,B ADD B,A MPY *ar3+0%,#f10,B A

11、DD B,A MPY *ar3+0%,#f9,B ADD B,A MPY *ar3+0%,#f8,B ADD B,A MPY *ar3+0%,#f7,B ADD B,A MPY *ar3+0%,#f6,B ADD B,A MPY *ar3+0%,#f5,B ADD B,A MPY *ar3+0%,#f4,B ADD B,A MPY *ar3+0%,#f3,B ADD B,A MPY *ar3+0%,#f2,B ADD B,A MPY *ar3+0%,#f1,B ADD B,A MPY *ar3+0%,#f0,B ADD B,A SFTA A,-4 STH A,*ar2 NOPfilter_en

12、d: RET6、 實時濾波器結(jié)果展示 低頻輸入輸出波形 高頻輸入輸出波形示波器通道一接A/D輸入端,通道2接D/A輸出端,由信號發(fā)生器在輸入端輸入正弦信號,改變輸入頻率觀察實際濾波結(jié)果。實際濾波結(jié)果如下:開始衰減頻率:2.2kHz截至衰減頻率:3.8kHz結(jié)果顯示2.2kHz之前信號幾乎無衰減,3.8kHz之后信號基本衰減到0,故實際過渡帶為2.2kHz3.8kHz。 用軟件方法從CCS上查看濾波程序運(yùn)行后的結(jié)果,方法為點擊ViewGraphTime/Frequency,按圖12所示填入相應(yīng)參數(shù),看頻域圖要把Display type選擇為FFT Magnitude。輸入信號和濾波后輸出信號的時域圖和頻域圖如圖13所示。 觀測信號波形的屬性設(shè)置7、 誤差分析設(shè)計的濾波器開始到截止的波段為2.5kHz4.6kHz,實際開始衰減的頻率為2.2kHz偏低;實際截止頻率為

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論