




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、DSP課程考核論文 課程名稱:DSP原理與應(yīng)用教程題 目:基于DSP的卷積算法的實現(xiàn) 專 業(yè): 電子信息工程 班 級: 08級1班 目錄摘要.3緒論.3課程設(shè)計方案及原理.3課程設(shè)計步驟及過程.10總結(jié).17參考文獻.17基于DSP的卷積算法的實現(xiàn)摘要:卷積和(簡稱卷積)是信號處理中常用的算法之一。數(shù)字卷積運算通常采用兩種方法:線性卷積和圓卷積。為了能使卷積運算在C54x系列DSP上的實現(xiàn)方法,首先要對數(shù)字卷積的基本概念作深入了解。使大家從根本上掌握卷積的實現(xiàn)方法,我們以模擬信號的卷積和數(shù)字信號的卷積為主,以及他們在C54x系列DSP上的實現(xiàn)方法。緒論:在通信和信號處理中,常用的運算,如卷積,
2、自相關(guān),濾波和快速傅里葉交換等。都具有較高的密度性和復雜性,而這些運算中所用到的最基本的是乘法-累加運算。C54x的硬件及軟件設(shè)計使其具有快速的進行乘法-累加運算功能,并具有豐富的軟件資源為這些算法的實施提供有力的條件。因此,這種芯片在通信及信號處理等領(lǐng)域得到廣泛的應(yīng)用。本節(jié)主要介紹卷積算法在DSP原理中的應(yīng)用。課程設(shè)計方案及原理一、實驗?zāi)康?掌握用窗函數(shù)法設(shè)計卷積算法的原理和方法;2熟悉卷積算法特性;3了解各種窗函數(shù)對卷積算法的影響。二、實驗設(shè)備計算機,Code Composer Studio 2.0 for C5000系統(tǒng)。三、實驗原理1卷積的基本原理和公式 卷集和:對離散系統(tǒng)“卷積和”也
3、是求線性時不變系統(tǒng)輸出響應(yīng)(零狀態(tài)響應(yīng))的主要方法。 卷積和的運算在圖形表示上可分為四步: Y(n)=X(m)h(nm)=X(n)*h(n)m=1)翻褶 先在啞變量坐標M上作出x(m)和h(m),將m=0的垂直軸為軸翻褶成h(-m)。2)移位 將h(-m)移位n,即得h(n-m)。當n為正整數(shù)時,右移n位。當n為負整數(shù)時,左移n位。3)相乘 再將h(n-m)和x(m)的相同m值的對應(yīng)點值相乘。 4)相加 把以上所有對應(yīng)點的乘積疊加起來,即得y(n)值。依上法,取n=,-2,-1,0,1,2,3,各值,即可得全部y(n)值。3程序的自編函數(shù)及其功能 (1)processing1(int *inp
4、ut2, int *output2) 調(diào)用形式:processing1(int *input2, int *output2) 參數(shù)解釋:intput2、output2為兩個整型指針數(shù)組。 返回值解釋:返回了一個“TREN”,讓主函數(shù)的while循環(huán)保持連續(xù)。 功能說明:對輸入的input2 buffer波形進行截取m點,再以零點的Y軸為對稱軸進行翻褶,把生成的波形上的各點的值存入以O(shè)UTPUT2指針開始的一段地址空間中。 (2)processing2(int *output2, int *output3) 調(diào)用形式:processing2(int *output2, int *output3)
5、 參數(shù)解釋:output2、output3為兩個整型指針數(shù)組。 返回值解釋:返回了一個“TREN”,讓主函數(shù)的while循環(huán)保持連續(xù)。 功能說明:對輸出的output2 buffer波形進行作n點移位,然后把生成的波形上的各點 的值存入以O(shè)UTPUT3指針開始的一段地址空間中。 (3)processing3(int *input1,int *output2,int *output4) 調(diào)用形式:processing3(int *input1,int *output2,int *output4) 參數(shù)解釋:output2、output4、input1為三個整型指針數(shù)組。 返回值解釋:返回了一個“
6、TREN”,讓主函數(shù)的while循環(huán)保持連續(xù)。 功能說明:對輸入的input2 buffer波形和輸入的input1 buffer作卷積和運算,然后把 生成的波形上的各點的值存入以O(shè)UTPUT4指針開始的一段地址空間中。 (4)processing4(int *input2,int *output1) 調(diào)用形式:processing4(int *input2,int *output1) 參數(shù)解釋:output1、input2為兩個整型指針數(shù)組。 返回值解釋:返回了一個“TREN”,讓主函數(shù)的while循環(huán)保持連續(xù)。 功能說明:對輸入的input2 buffer波形截取m點,然后把生成的波形上的
7、各點的值存 入以O(shè)UTPUT1指針開始的一段地址空間中。源程序如下:#include #include volume.h/* Global declarations */int inp1_bufferBUFSIZE;int inp2_bufferBUFSIZE; /* processing data buffers */int out1_bufferBUFSIZE;int out2_bufferBUFSIZE;int out3_bufferBUFSIZE;int out4_bufferBUFSIZE*2;int size = BUFSIZE;int ain = MINGAIN;int zhy=
8、0;int sk=64; /*sk代表所開的bufsize的大小,需修改它.輸入文件sine.dat為32點,sine11.dat, sin22.dat,sin33.dat,sin44.dat為64點的輸入波形.*/ /* volume control variable */unsigned int processingload = 1; /* processing routine /load value */* Functions */extern void load(unsigned int loadValue);static int processing1(int *output1, i
9、nt *output2);static int processing2(int *output2, int *output3); static int processing3(int *input1,int *output2,int *output4);static int processing4(int *input2, int *output1);static void dataIO1(void);static void dataIO2(void);/* * = main = */void main() int *input1 = &inp1_buffer0; int *input2 =
10、&inp2_buffer0; int *output1 = &out1_buffer0; int *output2 = &out2_buffer0; int *output3 = &out3_buffer0; int *output4 = &out4_buffer0; puts(volume example startedn); /* loop forever */ while(TRUE) /* * Read input data using a probe-point connected to a host file. * Write output data to a graph conne
11、cted through a probe-point. */ dataIO1(); dataIO2(); /* apply gain */ processing4(input2,output1); processing1(output1, output2); processing2(output2, output3); processing3(input1,output2,output4) ; /* * = processing = * * FUNCTION: apply signal processing transform to input signal. * * PARAMETERS:
12、address of input and output buffers. * * RETURN VALUE: TRUE. */static int processing4(int *input2,int *output1) int m=sk; for(;m=0;m-) *output1+ = *input2+ * ain; for(;(size-m)0;m+) output1m=0; /load(processingload); return(TRUE); static int processing1(int *output1,int *output2) int m=sk-1; for(;m0
13、;m-) *output2+ = *output1+ * ain; /* additional processing /load */ /load(processingload); return(TRUE);static int processing2(int *output2, int *output3) int n=zhy; size=BUFSIZE; for(;(size-n)0;n+) *output3+ = output2n; /* for (;n0;n-) *output3+ = 0; */ /load(processingload); return(TRUE); static i
14、nt processing3(int *input1,int *output2,int *output4) int m=sk; int y=zhy; int z,x,w,i,f,g; for(;(m-y)0;) i=y; x=0; z=0; f=y; for(;i=0;i-) g=input1z*output2f; x=x+g; z+; f-; *output4+ = x; y+; m=sk; y=sk-1; w=m-zhy-1; for(;m0;m-) y-; i=y; z=sk-1; x=0; f=sk-y; for(;i0;i-,z-,f+) g=input1z*output2f; x=
15、x+g; out4_bufferw=x; w+; /load(processingload); return(TRUE); /* * = dataIO = * * FUNCTION: read input signal and write processed output signal. * * PARAMETERS: none. * * RETURN VALUE: none. */static void dataIO1() /* do data I/O */ return;static void dataIO2() /* do data I/O */ return;課程設(shè)計步驟及過程 1實驗
16、準備 (1)連接設(shè)備關(guān)閉計算機和實驗箱電源。如使用PP型仿真器則用附帶的并口連線連接計算機并口和仿真器相應(yīng)接口。檢查ICETEK-VC5416-A板上DIP開關(guān)MP/MC的位置,應(yīng)設(shè)置在“OFF”位置(靠近 復位按鈕),即設(shè)置DSP工作在MP方式。關(guān)閉實驗箱上三個開關(guān)。 (2)開啟設(shè)備打開計算機電源。打開實驗箱電源開關(guān),如使用USB型仿真器用附帶的USB電纜連接計算機和仿真器相應(yīng)接口,注意仿真器上 兩個指示燈均亮。 (3)設(shè)置Code Composer Studio為Simulator方式: 參見“Code Composer Studio入門實驗”之四.2。2打開工程,瀏覽程序,工程目錄為C:
17、ICETEK-VC5416-EDULabLab20-Convolve3編譯并下載程序 4設(shè)置輸入數(shù)據(jù)文件 請在c程序中的如下兩行上設(shè)置probe point:dataIO1();1 dataIO2(); 設(shè)置方法是把光標指示到這一行上,按鼠標右鍵,從顯示的菜單上分別選擇probe point。 在c程序的“dataIO1();”行上設(shè)置break point。5打開觀察窗口-選擇菜單“View”、“Graph”、“Time/Frequency”進行如下設(shè)置: -選擇菜單“View”、“Graph”、“Time/Frequency”進行如下設(shè)置: -在彈出的三個圖形窗口中單擊鼠標右鍵,選擇“Cl
18、ear Display”。6. 設(shè)置波形輸入文件 -選擇“File”菜單中的“File I/O”,打開“File I/O”窗口;單擊“Add File”按鈕,在“FileInput”窗口中選擇C:ICETEK-VC5416-EDULabLab20-Convolve目錄下的sin.dat文件,單擊“打開”按鈕;在“Address”項中輸入inp1_buffer,在“Length”項中輸入32,在“Warp Around”項前加上選擇標記,單擊“Add Probe Point”按鈕; -在“Break/Probe/Profile Points”窗口中單擊“Probe Point”列表中的“Conv
19、olve.c line52 NoConnection”,再單擊“Connect”項尾部的展開按鈕,在顯示的展開式列表中選擇列表末尾的“”,單擊“Replace”按鈕,單擊“確定”按鈕。 -在“File I/O”窗口中單擊“確定”,完成設(shè)置。 -選擇“File”菜單中的“File I/O”,打開“File I/O”窗口;單擊“Add File”按鈕,在“FileInput”窗口中選擇C:ICETEK-VC5416-EDULabLab20-Convolve目錄下的sin.dat文件,單擊“打開”按鈕;在“Address”項中輸入inp2_buffer,在“Length”項中輸入32,在“Warp
20、Around”項前加上選擇標記,單擊“Add Probe Point”按鈕; -在“Break/Probe/Profile Points”窗口中單擊“Probe Point”列表中的“Convolve.c line53 NoConnection”,再單擊“Connect”項尾部的展開按鈕,在顯示的展開式列表中選擇列表末尾的“”,單擊“Replace”按鈕,單擊“確定”按鈕。 -在“File I/O”窗口中單擊“確定”,完成設(shè)置。7運行程序,觀察結(jié)果 -按F5鍵運行程序,待程序停留在軟件斷點;觀察剛才打開的三個圖形窗口,其中顯示的是輸入和輸出的時域波形; -觀察頻域波形:在各圖形窗口中單擊鼠標右鍵,選擇“Properties”,在“Graph Property Dialog”中的第1項“Display Type”項中選擇“FFT Magnitude”,單擊“OK”完成;這 時圖形窗口中顯示波形的頻域圖。(也可再打開顯示頻域圖的窗口) -驗算結(jié)果:在各頻域窗口中的波形上單擊鼠標左鍵,將光標停到統(tǒng)一的位置(通過觀察窗口狀態(tài)欄中的第1個浮點數(shù)表示其坐標值),讀取狀態(tài)欄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚具店雇傭合同范本
- 個人工作年度總結(jié)自我鑒定
- 保密協(xié)議 合同范本
- 醫(yī)療設(shè)備抵押合同范例
- 工業(yè)鍋爐司爐題庫與參考答案
- 賣車轉(zhuǎn)讓合同范本
- 一年級新生入學家長會的發(fā)言稿
- 《雨》閱讀理解訓練題及答案
- 東南亞企業(yè)合同范本
- 《長方形和正方形的周長》教學反思
- 超高分子量聚乙烯纖維發(fā)展前景分析
- 腦梗死伴發(fā)高血壓的護理
- 派出所開展小學安全教育講座
- 2024年全國公務(wù)員考試公共基礎(chǔ)知識C類真題及解析
- 2016-2023年南京科技職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 助產(chǎn)健康宣教課件
- 機房運維報告
- 離婚協(xié)議書完整版Word模板下載
- 雪花勇闖天涯XPARTY活動策劃方案
- 2023年汽車修理工(高級)考試試題庫附答案
- 混凝土配合比全自動計算書
評論
0/150
提交評論