DSP實(shí)驗(yàn)六FIR數(shù)字濾波器的實(shí)驗(yàn)報(bào)告_第1頁
DSP實(shí)驗(yàn)六FIR數(shù)字濾波器的實(shí)驗(yàn)報(bào)告_第2頁
DSP實(shí)驗(yàn)六FIR數(shù)字濾波器的實(shí)驗(yàn)報(bào)告_第3頁
DSP實(shí)驗(yàn)六FIR數(shù)字濾波器的實(shí)驗(yàn)報(bào)告_第4頁
DSP實(shí)驗(yàn)六FIR數(shù)字濾波器的實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

FIR數(shù)字濾波器試驗(yàn)?zāi)康臄?shù)字濾波的作用是濾除信號(hào)中某一局部頻率重量。信號(hào)經(jīng)過濾波處理,就相當(dāng)于信號(hào)頻譜與濾波器的頻率響應(yīng)相乘的結(jié)果。從時(shí)域來看,就是輸入信號(hào)與濾波器的沖激響應(yīng)作卷積和。數(shù)字濾波器在各種領(lǐng)域由廣泛的應(yīng)用,例如數(shù)字音響、音樂和語音合成、躁聲消退、數(shù)據(jù)壓縮、頻率合成、諧波消退、過載檢測(cè)、相關(guān)檢測(cè)等。本試驗(yàn)主要學(xué)習(xí)數(shù)字濾波器的DSP實(shí)現(xiàn)原理和C54X編程技巧,并通過CCS的圖形顯示工具觀看輸入/輸出信號(hào)波形以及頻譜的變化。該試驗(yàn)應(yīng)當(dāng)安排在串口和定時(shí)器操作試驗(yàn)之后進(jìn)展。試驗(yàn)要求該試驗(yàn)涉及到DSP的串口、中斷響應(yīng)等簡(jiǎn)潔操作,應(yīng)當(dāng)在完成前面的串口和定時(shí)器試驗(yàn)后完成。本試驗(yàn)重點(diǎn)爭(zhēng)論FIR濾波器的DSP試驗(yàn)方法,沒有爭(zhēng)論FIR濾波器的設(shè)計(jì)原理和方法。你可以使用數(shù)字濾波器關(guān)心設(shè)計(jì)軟件包或自行計(jì)算FIR濾波器的系數(shù)。本試驗(yàn)例子利用DES320PP-U評(píng)估板的模擬信號(hào)輸出通道產(chǎn)生一個(gè)1KHz的方波,然后利用信號(hào)輸入通道對(duì)產(chǎn)生的方波進(jìn)展低通濾波,得到一個(gè)1KHz的正弦信號(hào),并使用CCS的圖形顯示工具顯示輸入和輸出的波形。這里我們使用的是一個(gè)38階的對(duì)稱構(gòu)造的FIR低通濾波器,其采樣頻率Fs為25KHZ,通帶截止頻率1.2KHZ,阻帶截止頻率為2.8KHZ,阻帶衰減為-40dB。試驗(yàn)原理FIR濾波器的實(shí)現(xiàn)假設(shè)FIR濾波器的沖激響應(yīng)為h(0),h(1),...,h(N-1)。X(n)表示濾波器在n時(shí)刻的輸入,則n時(shí)刻的輸出為:y(n)=h(0)x(n)+h(1)x(n-1〕+...+h(N-1)x[n-(N-1)]DES320PP-U數(shù)字信號(hào)處理仿真/教學(xué)試驗(yàn)系統(tǒng)使用與試驗(yàn)指導(dǎo)“://dspsolution/“dspsolution73使用MAC或FIRS指令可以便利地實(shí)現(xiàn)上面的計(jì)算。圖6-1說明白使用循環(huán)尋址實(shí)現(xiàn)FIR濾波器的方法。為了能正確使用循環(huán)尋址,必須先初始化BK,塊長(zhǎng)為N。同時(shí),數(shù)據(jù)緩沖區(qū)和沖激響應(yīng)〔FIR濾波器的系數(shù)〕的開頭地址必需是大于N的2的最小冪的倍數(shù)。例如,N=11,大于N的最小2的冪為16,那么數(shù)據(jù)緩沖區(qū)的第一個(gè)地址應(yīng)是16的倍數(shù),因此循環(huán)緩沖區(qū)起始地址的最低4位必需是0。圖6-1FIR濾波器存儲(chǔ)器里的數(shù)據(jù)存儲(chǔ)方式在圖6-1中,濾波系數(shù)指針初始化時(shí)指向h(N-1),經(jīng)過一次FIR濾波計(jì)算后,在循環(huán)尋址的作用下,照舊指向h(N-1)。而數(shù)據(jù)緩沖區(qū)指針指向的是需要更的數(shù)據(jù),如x(n)。在寫入數(shù)據(jù)并完成FIR運(yùn)算后,該指針指向x(n-(N-1))。所以,使用循環(huán)尋址可以便利地完成濾波窗口數(shù)據(jù)的自動(dòng)更.使用帶MAC指令的循環(huán)尋址模式實(shí)現(xiàn)FIR濾波器,程序片段如下:(輸入數(shù)據(jù)在AL中,濾波結(jié)果在AH中)STM#1,AR0;AR0=1STM#N,BK;BK=N,循環(huán)尋址BUFFER大小為NSTLA,*FIR_DATA_P+%;更濾波窗口中的采樣數(shù)據(jù)RPTZA,#(N-1);重復(fù)MAC指令N次,先將A清零MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;完成濾波計(jì)算。留意FIR濾波系數(shù)存放在;數(shù)據(jù)存儲(chǔ)區(qū)另一種方法是利用C54x系列芯片的供給的FIRS指令來實(shí)現(xiàn)FIR濾波器。圖6-2為一種有限單位沖激響應(yīng)呈現(xiàn)對(duì)中心點(diǎn)對(duì)稱的FIR濾波器。長(zhǎng)度為N的線性相位FIR濾波器的輸出表達(dá)式為:Σ?==?+???/210()()[()((1))]NkynhkxnkxnNk圖6-2N階均衡FIR濾波器框圖要利用FIRS指令,需要將輸入數(shù)據(jù)緩沖分成兩個(gè),循環(huán)緩沖區(qū)大小存放器的值設(shè)為N/2。圖6-3顯示了輸入序列在兩個(gè)循環(huán)緩沖器里的存儲(chǔ)狀況。設(shè)關(guān)心存放器AR2指到緩沖區(qū)1〔Buffer1〕的頂部,AR3指到緩沖區(qū)2〔Buffer2〕的底部。每次進(jìn)展濾波之前,應(yīng)先將緩沖區(qū)1頂部的數(shù)據(jù)移到緩沖區(qū)2的底部,來的一個(gè)樣本存儲(chǔ)到緩沖區(qū)1中時(shí),并對(duì)緩沖區(qū)1指針AR2加1(使用循環(huán)尋址)。處理器然后使用FIRS指令進(jìn)展乘加運(yùn)算,即h(0){x(0)+x(-N+1)。固然,在使用FIRS指令前,需要預(yù)先計(jì)算一次求和,以初始化A。在RPTZ重復(fù)指令和循環(huán)尋址的協(xié)作下,完成FIR濾波.濾波完成后,需要對(duì)兩個(gè)數(shù)據(jù)緩沖的指針進(jìn)展修正,以便對(duì)下一個(gè)點(diǎn)進(jìn)展處理。將Buffer1的指針減1和Buffer2的指針減2,使他們指向各自緩沖的數(shù)據(jù)隊(duì)列的最終。圖6-316點(diǎn)FIRS濾波數(shù)據(jù)存放使用帶FIRS指令的循環(huán)尋址模式實(shí)現(xiàn)FIR濾波器,程序片段如下:(輸入數(shù)據(jù)在AL中,濾波結(jié)果在B中)STM#1,AR0;AR0=1STM〔N/2〕,BKBK=N/2,循環(huán)尋址BUFFER大小為NMVDD*ar2,*ar3;更Buffer2STLA,*ar2+%;更濾波窗口中的采樣數(shù)據(jù)ADD*ar2+0%*ar3+0%;初始化ARPTZB,#(N/2-1);重復(fù)FIRS指令N/2次,先將BDES320PP-U數(shù)字信號(hào)處理仿真/教學(xué)試驗(yàn)系統(tǒng)使用與試驗(yàn)指導(dǎo)“://dspsolution/“dspsolution76FIRS*ar2+0%,*ar3+0%,filter_coff+N/2;完成濾波計(jì)算。留意FIR濾波系數(shù)存放在程序;存貯區(qū),filter_coff為系數(shù)起始地址MAR*ar2-%;修改Buffer1MAR*+ar3(-2)%;修改Buffer2指針AC01的初始化DSE320PP-U使用AC01作為模擬信號(hào)接口。AC01供給一個(gè)14bit的D/A和一個(gè)14bit的A/D通道。AC01與VC5402通過串口0連接。DSP通過串口可以把握AC01的采樣頻率、增益、低通/高通濾波器的截止頻率等參數(shù)。這一步是通過讀寫AC01的存放器來實(shí)現(xiàn)的。下面是初始化AC01的代碼,有關(guān)AC01的具體介紹請(qǐng)參考AC01的技術(shù)手冊(cè)。; ;ThefollowingcodesareinitalizedAC01,ALLAC01setupsame!; idle1;初始化AC01時(shí)僅僅翻開串口0的發(fā)送中斷,而且中斷效勞idle1;程序中簡(jiǎn)潔地將A存放器的值寫入到串口0發(fā)送存放器。idle1;開頭初始化時(shí),將A存放器設(shè)置為0!idle1ld#600h,aidle1;waitforint.....ld#3,aidle1;send#3,AC01的1號(hào)存放器為采樣率把握存放器ld#00105h,a;fs=10M/2/A/B=25k,采樣率設(shè)置為25KHz;flp=10M/2/40/A=25k(allpass);fhp=fs/200=125Hz(notuse!);A=05,B=40(0x28)idle1;send1thregs->05hld#3,aidle1;send#3ld#00228h,aidle1;send2thregs->28hld#3,aidle1;send#3ld#00300h,aidle1;send3thregs->00hld#3,aidle1;send#3ld#00405h,aidle1;send4thregs->05h(AD&DA0dB)ld#3,aidle1;send#3ld#00505h,aidle1;send5thregs->05h(highpassfilterdisable)ld#3,aidle1;send#3ld#00600h,aidle1;send6thregs->00hld#3,aidle1;send#3ld#00700h,aidle1;send7thregs->0ld#3,aidle1;send#3ld#800h,aidle1;send8thregs->0ld#0h,a; ;初始化AC01完成!利用AC01的D/A通道產(chǎn)生一個(gè)1KHz的方波,作為FIR濾波器的輸入信號(hào)。由于串口發(fā)送中斷將每0.04ms〔25KHz〕產(chǎn)生一次,所以我們將一個(gè)周期的方波信號(hào)分25次送出,這樣經(jīng)D/A變化后便可得到1KHz的方波。產(chǎn)生方波的數(shù)據(jù)參見如下:;************************************************************************;Thefollowingdataisusedbymakewave!whenusing,mustcopytowavebuffer;************************************************************************wave_data:;freqabout1kHz.word03ffch;+2volt.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word03ffch.word0c000h;-2volt.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h.word0c000h4) 串口的初始化和串口中斷效勞程序本試驗(yàn)通過DSP的串口0輸入/輸出數(shù)據(jù)。在串口通訊中,數(shù)據(jù)時(shí)鐘和幀同步信號(hào)都由AC01產(chǎn)生,所以VC5402將使用外部時(shí)鐘和幀同步信號(hào)。串口設(shè)置代碼如下,具體介紹請(qǐng)參見串口操作試驗(yàn):;******************************************************************;ThefollowingcodesareusedtoinitalizeMcBSP0!;******************************************************************stm#0,spsa0;chooseSPCR10stm#2023h,spcr10;receivesign_extendinDRRstm#1,spsa0;chooseSPCR20stm#0c0h,spcr20;fs->int!stm#2,spsa0;chooseRCR10stm#40h,39hstm#3,spsa0;chooseRCR20stm#0,39hstm#4,spsa0;chooseXCR10stm#40h,xcr10stm#5,spsa0;chooseXCR20stm#0,39hstm#0eh,spsa0;choosePCR0stm#0dh,pcr0;fsislowactive,riseedgeofclkx,fallingedge;ofclkrstm#7h,spsa0stm#8000h,39hrpt#0ffffhnopstm#00h,dxr10ldm22h,astm#1,38hstm#0c1h,39h;startMcBSP0send!完成串口設(shè)置后,還需要修改中斷向量表以便正確響應(yīng)串口0的接收和發(fā)送中斷請(qǐng)求。本試驗(yàn)中使用發(fā)送中斷產(chǎn)生方波信號(hào)和完成對(duì)AC01的初始化;使用接收中斷存貯輸入的數(shù)據(jù),并設(shè)置數(shù)據(jù)到達(dá)標(biāo)志。主循環(huán)在檢測(cè)到該標(biāo)志后,調(diào)用FIR濾波程序,XF為高和低。所以,在濾波程序正常運(yùn)行時(shí),你會(huì)看到D2在不停地閃耀。試驗(yàn)內(nèi)容本試驗(yàn)需要使用‘C54X匯編語言實(shí)現(xiàn)FIR濾波器,并通過CCS的圖形顯示工具觀看輸入/輸出信號(hào)波形以及頻譜的變化。試驗(yàn)分以下幾步完成:短接JP12,使得DES320PP-U的模擬信號(hào)輸出通道與模擬信號(hào)輸入通道相連。啟動(dòng)CCS,在Project選項(xiàng)中翻開fir5402.pjt文件。使用Build選項(xiàng)完成編譯、連接,然后使用File菜單中的LoadProgram將OUT文件裝入。按F5鍵啟動(dòng)程序運(yùn)行,假設(shè)有示波器,可以觀看DSE320PP-U板上的JP12的引腳輸出的1KHz的方波。DES320PP-U數(shù)字信號(hào)處理仿真/教學(xué)試驗(yàn)系統(tǒng)使用與試驗(yàn)指導(dǎo)“://dspsolution/“dspsolution81圖6-4圖形顯示窗口請(qǐng)使用Debug->Halt暫停程序的執(zhí)行。在Project治理欄中翻開fir5402.asm文件,并在ccs_show〔在fir子程序中〕行后的nop語句處上增加一個(gè)斷點(diǎn)。添加斷點(diǎn)的方法是先用鼠標(biāo)單擊某行,將光標(biāo)移動(dòng)到需要增加斷點(diǎn)的行上,然后選擇工具欄的手狀圖標(biāo)。當(dāng)該行被設(shè)置了一個(gè)斷點(diǎn)后,可以看到紅色的圓點(diǎn)。選擇View->Graph->Time/Frequency菜單翻開一個(gè)圖形顯示窗口,參見圖6-4。將“StartAddress”項(xiàng)改為地址0x1800,將“DisplayDataSize”項(xiàng)設(shè)置為128,將“DSPDataType”改為“16-bitsignedinteger”。這樣,將在圖形顯示窗口中顯示從0x1800〔信號(hào)輸入緩沖〕開頭的128個(gè)點(diǎn)的16位有符號(hào)整數(shù)。再翻開一個(gè)圖形窗口,顯示從地址0x1020〔濾波信號(hào)輸出緩沖〕開頭的128點(diǎn)的16位有符號(hào)整數(shù)。選擇Debug->Animate項(xiàng)運(yùn)行程序。Animate運(yùn)行和Run運(yùn)行根本全都,只是使用Run運(yùn)行時(shí),假設(shè)遇到斷點(diǎn),將停下來,直到用戶再次使用Run命令才恢復(fù)運(yùn)行。而使用Animate運(yùn)行時(shí),假設(shè)遇到斷點(diǎn),CCS刷全部的顯示窗口,如存放器、CPU、MEM、圖形顯示等,然后自動(dòng)恢復(fù)運(yùn)行。所以,你能看到連續(xù)更的濾波輸出。思考題請(qǐng)說明下

溫馨提示

  • 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)論