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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、波器設(shè)計(jì)。具體方法如下:(1) 輸入fdatool,彈出濾波器設(shè)計(jì)窗口。輸入設(shè)計(jì)指標(biāo),令采樣頻率為20000Hz,開始衰減的頻率為2500Hz截止頻率為4600Hz,衰減為50db,軟件自動(dòng)完成設(shè)計(jì)。(2)點(diǎn)擊File>Export,選擇參數(shù),導(dǎo)出濾波器系數(shù),再由導(dǎo)出的參數(shù)乘32768后取整數(shù)部分轉(zhuǎn)換為十六進(jìn)制數(shù),即為設(shè)計(jì)的十六進(jìn)制系數(shù)。設(shè)計(jì)的系數(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é)果是一個(gè)16階的FIR低通濾波器。3、 濾波器系數(shù)驗(yàn)證濾波器的系數(shù)驗(yàn)證及軟件仿真選用MATLAB的sptool功能實(shí)現(xiàn)。Sptool是MATLAB信號(hào)處理工具箱中自帶的交互式圖形用戶界面工具,它包含了信號(hào)處理箱中的大部分函數(shù),可以方便快捷地自動(dòng)完成對(duì)信號(hào)、濾波器及頻譜的分析、設(shè)計(jì)和瀏覽。本實(shí)驗(yàn)中具體步驟如下:(1)在MATLAB命令窗口中輸入以下命令,生成混頻信號(hào),信號(hào)中包含了低頻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)入輸入信號(hào)in,采樣頻率Fs,命名sig1,在Filter下的選項(xiàng)中選擇New新建濾波器,方法與二相同,點(diǎn)擊Apply,生成輸出信號(hào),命名為output。、(3)在Signals的View下觀察輸入、輸出的時(shí)域波形 輸入時(shí)域波形 輸出時(shí)域波形(4) 在Spectra下點(diǎn)擊creat,選擇FFT方式,Apply生成頻域波形 輸入信號(hào)頻譜 輸出信號(hào)頻譜由仿真可看出,濾波器使信號(hào)中500Hz的低頻分量通過,抑制了8000Hz的高頻分量,實(shí)現(xiàn)了低通濾波,濾波器設(shè)計(jì)正確。4、 DSP實(shí)時(shí)濾波器代碼合成過程程序設(shè)計(jì)的總體思路是:?jiǎn)?dòng)AD模

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

8、成框圖及核心代碼陳述中斷服務(wù)程序開始讀取A/D轉(zhuǎn)換結(jié)果啟動(dòng)A/D轉(zhuǎn)換進(jìn)行濾波運(yùn)算轉(zhuǎn)換結(jié)果有效?運(yùn)算結(jié)果送D/A轉(zhuǎn)換器返回主程序YN主程序開始等待定時(shí)中斷堆棧設(shè)置 寄存器設(shè)置啟動(dòng)A/D轉(zhuǎn)換定時(shí)器初始化開中斷 1、定時(shí)器初始化代碼如下,設(shè)置中斷頻率prd為00C7h即十進(jìn)制199,tcr為082Eh即令TDDR第四位為14,十進(jìn)制為15,由中斷周期計(jì)算公式公式TINT頻率=算出,其中為時(shí)鐘周期,DSP中的時(shí)鐘頻率為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ù)程序如下,每處理一個(gè)數(shù)據(jù)調(diào)用一次jump子程序,由a逐次-1計(jì)數(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、 實(shí)時(shí)濾波器結(jié)果展示 低頻輸入輸出波形 高頻輸入輸出波形示波器通道一接A/D輸入端,通道2接D/A輸出端,由信號(hào)發(fā)生器在輸入端輸入正弦信號(hào),改變輸入頻率觀察實(shí)際濾波結(jié)果。實(shí)際濾波結(jié)果如下:開始衰減頻率:2.2kHz截至衰減頻率:3.8kHz結(jié)果顯示2.2kHz之前信號(hào)幾乎無衰減,3.8kHz之后信號(hào)基本衰減到0,故實(shí)際過渡帶為2.2kHz3.8kHz。 用軟件方法從CCS上查看濾波程序運(yùn)行后的結(jié)果,方法為點(diǎn)擊ViewGraphTime/Frequency,按圖12所示填入相應(yīng)參數(shù),看頻域圖要把Display type選擇為FFT Magnitude。輸入信號(hào)和濾波后輸出信號(hào)的時(shí)域圖和頻域圖如圖13所示。 觀測(cè)信號(hào)波形的屬性設(shè)置7、 誤差分析設(shè)計(jì)的濾波器開始到截止的波段為2.5kHz4.6kHz,實(shí)際開始衰減的頻率為2.2kHz偏低;實(shí)際截止頻率為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論