




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ADSP技術(shù)與應(yīng)用 實驗報告班級 學(xué)號 姓名實驗一:VISUAL DSP+的使用入門實驗?zāi)康氖煜ISUAL DSP+的開發(fā)環(huán)境。針對ADSP-21065L SHARC DSP,利用幾個用 C、C+和匯編語言寫成的簡單例子來描述VISUAL DSP +十編程環(huán)境和調(diào)試器 (debugger)的主要特征和功能。對于運行在其它類型SHARC處理器的程序只需對其鏈接描述文件(.LDF) 做一些小的變化,就可用于ADSP-21065L的硬件仿真。實驗內(nèi)容練習(xí)一:啟動Visual DSP+,建立一個用C源代碼的工程(Project),同時用調(diào) 試器來評估用C語言所編寫代碼的性能;練習(xí)二:創(chuàng)立一個新的工程
2、,修改源碼來調(diào)用一個匯編(asm)程序,重新編譯 工程,用調(diào)試器來評估用匯編語言所寫程序的性能;練習(xí)三:利用調(diào)試器的繪圖(plot)功能來圖形顯示一個卷積算法中的多個數(shù)據(jù) 的波形;練習(xí)四:利用調(diào)試器的性能統(tǒng)計功能(Statistical profile來檢查練習(xí)三中卷積算法 的效率。利用所收集到的性能統(tǒng)計數(shù)據(jù)就能看出算法中最耗時的地方。實驗步驟練習(xí)一 C代碼例子Step l 進入 Visual DSP +十并打開一個工程(Project);進入 Visual DSP + +,顯 示 Visual DSP+ 的集成 開發(fā)和調(diào)試環(huán)境窗口(Integrated Development and Deb
3、ugger Environment,簡稱 IDDE)。選擇菜單 File 中 Open 打開文件:Step 2 編譯dotprodc工程;在菜單Project中選擇Build Project來對工程進行 編譯。此時,輸出窗口顯示程序編譯時的各種狀態(tài)信息(包括出錯和編譯進程信 息)。當編譯檢測到錯誤時,將在輸出窗口出現(xiàn)相應(yīng)的出錯信息,用鼠標雙擊它, 編譯器將自行打開源文件。這時可對源文件編輯、修改錯誤,再次進行編譯。當 編譯不再有錯時,輸出窗口將顯示“ Build completed successfully”。Step 3運行VsualDSP+調(diào)試器;在編譯完成后,環(huán)境將自動進入調(diào)試狀態(tài),對
4、于初次進入debugger,將顯示對象選擇對話框,在其中指定對象和處理器信息。Step 4 運行dotprod.c;從Debug菜單中選擇Run項,程序?qū)⒈粓?zhí)行,其輸出 結(jié)果在Output window中顯示。Step 5評估函數(shù)a_doc_c的性能(profile); Profile用來分析程序的運行時間特 性,通過Profile可以找到最耗時的程序段,這可能就是需要進一步優(yōu)化性能的 程序段。練習(xí)二:運行C和匯編混合程序Step l創(chuàng)建一個新的工程(project)從Project菜單中選取New項,在彈出的工程 保存對話框中工程名定義為dot_product_asm.dpj,并保存 在DS
5、P_expunit_1dot_product_asm 目錄下。Step 2 向 dot_product 工程中添加文件;選取菜單 ProjectAdd to Projectfile(s). 項,按住 Ctrl 鍵來同時選中 dotprod_main.c, dotprod.c, dotprod_func. asm 和 dotprodasm.ldf文件,點擊“Add”將這幾個文件加到工程中。Step 3修改工程源文件Step 4 修改鏈接描述文件dotprodasm. LdfStep5編譯和運行dot_product;先選取菜單ProjectHuild Project項來編譯工程;再選取菜單Deb
6、ug Run項來運行程序。Step 6 評估a_dot_asm的效率練習(xí)三:數(shù)據(jù)繪圖(Plotting)Step l將算法程序調(diào)入Debugger環(huán)境Step 2 打開繪圖窗口并設(shè)定參數(shù);選擇菜單ViewDebug WindowsPlotNew. 項,將出現(xiàn)Plot參數(shù)設(shè)置窗口。Step 3運行程序并在圖形窗口中觀察數(shù)據(jù);接 F5運行程序,當程序Halt (SHIFT-F5)后,Plot窗口中將出現(xiàn)數(shù)據(jù)曲線。圖中的三條曲線分別代表Table、Input和Output三個數(shù)組的值練習(xí)四:性能統(tǒng)計(Statistical Profiling)Step l 調(diào)用 convolution 程序Step
7、2打開統(tǒng)計特性選項Step 3收集和檢查統(tǒng)計特性數(shù)據(jù)實驗要求練習(xí)一:記錄profile窗口中的程序執(zhí)行時間數(shù)據(jù),分析程序的執(zhí)行時間 練習(xí)二:記錄profile窗口中的程序執(zhí)行時間數(shù)據(jù),將結(jié)果與練習(xí)一進行比較 練習(xí)四:記錄statistical profiling results窗口中的數(shù)據(jù),分析耗時最多的程序段, 并且說明原因?qū)嶒灁?shù)據(jù)及結(jié)果Histogram幻Execution Unit0 . S彩-c019 - c02e0 . S彩a_dot_b(doub1e*, doub1e*)0 . S彩a_dot_c(doub1e*, doub1e*)10 .-8000 - 3ffffff0 . 6驅(qū)
8、pad0 . 21primIO0 . gmodsi 30 . 7彩float_divide0 .知_PRIMITIVE_URITE21. 67Xf flush0 . 17dev_write0 . 58a_dot_b(doub1e*, doub1e*)0 . 58a_dot_c(doub1e*, doub1e*)0 . ma_dot_d(doub1e*, doub1e*)15 . 12theputchar3 . 21put_string.10 . 62doprnt_3217 . 98print_float_322 . 41年print_f ised14 . 87年parse_f ormat1.
9、67年parse_f ield1. 10long_to_string1. 10flushwritebuf匚 H IJHistogram.XExecution UnitXLine.E:floatunit ldot product asmd.otprod f unc. asm0.35%日c057 - cOGb1/.0.33%_a_do t-_c_asifL ()2/| 10.日?8000 - 3ffffff3/ FILE : dot-prod_f unc. asm0.10%ex i t4/0.61%pad5/ A handtuned assembly version of a_dot_c0.19%
10、pr i Til 106/0.34%mods i :37/.0.73%f 1 口日.t. divide80.53%_PRIMITIE_URITE29# i nc 1 uds 匚1.56%f flush100.16%dev_wri te11#define N 2011.58%divsi3120.33%_a_do t-_c_asm ()13.SECTIONzPMpm_code2;4.07%a._dot_b(doubLe*. doub 1 e*)14.GLOBAL _a_dot_c_asjh2 . S3%a_dot_d(doubLe*._ doub 1 e*)154.79%t- heput char
11、ie._a._dot-_c_asin:3.00%pu t strinq179.9 4%doprnt_3218entry;17.4 7%pr i n t_ f loa. t._ 3 2192.26%pr i n t f ised0.01%20puts=Rll;14.56%para:B_ f orma t0.01%21puts=R15;1.56%parsB_f isld0.01%22puts=18;1.03%Ion g_ t-o_st r i n g0.01%23R15=10;1.03%f1ushwritebuf0.01%24puts=R15;14.69%do_output250.51%prmt-
12、f0.01%2&L0 = 0;32.27%fputc0.01%27L8 = 0;12.26%s t rl etiD280.54%_ma11oc0.015;2910 = R4;5.10%ud i v0.01%3018 = R8;0.2 4%1ib_get_heap_info31匚3.35%1 i b_se tup_env i ronmen t-0.015;32F15 = F15 - F15, F4 = DM(I0,M6), F0 = PM(I8,M14);0.06%Lib setup c0.01%33Fll = F0 * F4. F4 = DM (10 . M6 ) . F0 = PM (18
13、.Ml 4)0.17%_L ib _:setup_ _ar-g:s340.67%getargv0.01%35LCNTR = N - 2, DO dploop UNTIL LCE;0.79%Lib setup processor360.77%matin。0 .13%37dploop: Fll = F0 * F4, F15 = Fll + F15, F4 = DM(I0,M6), F0 = PM(I8,M14);380.01%39Fll = F0 * F4, F15 = Fll + F15;0.01%40F0 = Fl 5 + Fll;410.015;42R15 =gsts( 1)0.01%431
14、0 =R15;0.01%4418 =getsi:; 2)府新功能提醒0.01%45R15 =gets(3);0.01%46Rll =gets( 4)QQ有以下X個新】公支持同手用4748_a._dot-_c_asin. end :490.05%50bk i tW 專持同手機5152量訊麗我45354暑期新版舛|Liiiear Profiling: ADSF-21065L PrograaF)eoiy 1Total Samples: 15396|Elapsed Time:0:00:)0夔埴查贈uI Linear Profilinj: ADSP-21065LProgram (PI) leBory 1
15、HistogramXEsecution UnitXLine.E:f1oa tun i t_1Xconvo1u t i onConvo1u t i on.epp383.7:孩:CalculateOutputPulse(const floa.744 . 33%udiv75void Genera telnpu t Pu1se( const float Table, float Input, size_.3.84%_co:sf0.00%762.49囂Genera tel n.pu t Pu 1 se (cons t float .0.02:-J:77for( int i=l; i=10; i+ )2.
16、45Xdivsicl781. 41%I n i t i a. 1 i z eS i neTab 1 b ( f 1 oa t *, un .1.皿79for( int j =0; jnSize/10; j+ )11.float divide800.22XIni tia 1 izebineTab 1 b(. f 1 oat *, un .1.40XEllInputj*i = Table(j*i)/i);0.17%GenBra.teliiipuIsbCdbf f :s(. const f lo .820.11%lib :sb tup env i ronriiBn t830.02%1 i h_5:B
17、 t up_proc:Bssor-0. OOX840.01%esi t850.01%iiia i n (_ _)86/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z.0.01%1 i h_5:B tup_args87/ void GenerateImpu1seCoeffs( const float, float, size_t )0.00%_at-BH:i t88/.0.00%geta.r-gw890.00%pr-ocBss_nBeded_dest rue t i ons_F v90void Genera telmpu1seCoe f f s( const float Tablet float
18、 Impulse,.0.00%1 i b_:se tup_c0.00%910.00%PC0h80050.08:-::92for( int i = 0; inSize; i+ )0.00%FCQu8089930.00%PC0 x808d0.09X94Impulsei = Table(i*10);0.00%PC0h8 0a3950.00%PC0 x808a0. OOX960.00%PC0 x82f0970.00%PC 0is8 2ef 98/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z/Z.0.00%PCClH82f 199/ void CalculateOutputPulse( const flo
19、at, size_t, const float.0.00%PC0 x82f2100/.0.00%PCCiH8 2f 31010.00%PCClH82f 4102void CalculateOutput?ulse( const float Input, size_t nlnputSize,0.00%PCClH82f 5103const float Impulse, size_t nlmpulseSize,0.00%PCCiH8 09d104f loat Uutput :i0.00%PC0 x809c0.00%1050.00%PC0 x809b0.74X106for-1 int i = lJicn
20、lnputbize; i+ 】0.00%PC0h8 OaO1070.00%PCClH809f 27.12X108for( int j =0; jnImpulseSize; j+ )0.00%PC 0 x80.3.21090.00:;:PCCiH80al55.07110Outputi+j = Outputi+j + (Inputi * Impulsej);0.00%PC0 x809a1110.00%PCQu80991120.00:;:PC0 x80980.001130.00%PC0 x809e1140.00%PC0h80971150.00:;:PC0 x80961160.00%FCQu80951
21、170.00%PC0 x808c1180.00:;:PCCiH80Sb119Total Samples: 487161Elapsed Time: 00:00:03|Enabled.分析:耗時最多的程序段含循環(huán)體較多實驗二:用SIMULATOR模擬實現(xiàn)數(shù)字信號處理實驗?zāi)康谋緦嶒炛饕ㄟ^四個練習(xí)來了解如何SIMULATOR實現(xiàn)基本的信號處理方法。實驗內(nèi)容練習(xí)一:時域卷積運算練習(xí)二:DFT運算練習(xí)三:時域相關(guān)運算練習(xí)四:利用相關(guān)函數(shù)計算信號的功率譜實驗步驟1時域卷積運算程序中一個輸入序列X指定到數(shù)組inputx中,另一個輸入序列Y指定到數(shù)組 inputy中,卷積的輸出指定到數(shù)組output中。根據(jù)卷
22、積原理,兩個輸入序列長 度為M=N=64,輸出序列長度為M+N-1=127。Step1調(diào)入程序:啟動運行VisualDSP+,運行菜單命令ProjectNew來新建一 個工程,工程名稱自定義,正確設(shè)置工程的各個選項,將DSP_expunit_2Conv 目錄下的源文件加入到工程中,同時建立數(shù)據(jù)文件x.dat和y.dat,以及初始化文 件 zeros.datoStep2選擇輸入數(shù)據(jù)文件Step3編譯程序:分析、理解源程序,在此基礎(chǔ)上再編譯運行程序??赏ㄟ^點擊按鈕命令或選擇菜單命令ProjectBuild Project來完成編譯。Step4 觀察結(jié)果:按F5運行程序,然后執(zhí)行菜單命令ViewDe
23、bug WindowsPlot命令, 分別作出輸入數(shù)據(jù)inputx和inputy與輸出數(shù)據(jù)output的圖形。Step5改變數(shù)據(jù)再運行DFT計算1)調(diào)入程序2)選擇輸入數(shù)據(jù)文件3)編譯程序4)觀察結(jié)果5)改變數(shù)據(jù)再運行時域相關(guān)計算1)調(diào)入程序2)選擇輸入數(shù)據(jù)文件3)編譯程序4)觀察結(jié)果5)改變數(shù)據(jù)再運行4利用相關(guān)函數(shù)計算功率譜1)調(diào)入程序2)選擇輸入數(shù)據(jù)文件3)編譯程序4)觀察結(jié)果5)改變數(shù)據(jù)再運行實驗要求(實驗二的練習(xí)一)利用plot功能,觀察各種輸入數(shù)據(jù)、輸出數(shù)據(jù)的的波形;按照實驗步驟完成實驗,比較給定的幾種數(shù)據(jù)的卷積結(jié)果,說明幾種信號 卷積的差別。在實驗報告中記錄pulse4和sin64
24、d卷積的輸入和輸出數(shù)據(jù)及其波形,并利 用數(shù)字信號處理課程所學(xué)知識分析結(jié)果。(實驗二的練習(xí)二)1利用plot功能,觀察輸入數(shù)據(jù)x、輸出數(shù)據(jù)的實部real、輸出數(shù)據(jù)的虛部 imag和求模后的modul的波形;觀察各種波形的DFT運算和求模運算的結(jié)果,比較并且說明不同輸入數(shù) 據(jù)對應(yīng)的DFT運算輸出和求模運算輸出的結(jié)果;在實驗報告中記錄square64的DFT輸入和輸出數(shù)據(jù)及其波形,并利用 數(shù)字信號處理課程所學(xué)知識分析結(jié)果。(實驗二的練習(xí)三)利用plot功能,觀察各種輸入數(shù)據(jù)、輸出數(shù)據(jù)的的波形;按照實驗步驟完成實驗,觀察和比較自相關(guān)和互相關(guān)的計算結(jié)果,說明它 們的差別。說明輸入序列和輸出序列的長度之間
25、的關(guān)系;在實驗報告中記錄trig64的自相關(guān)、它與sin64的互相關(guān)輸入和輸出數(shù)據(jù) 及其波形、并利用數(shù)字信號處理課程所學(xué)知識分析結(jié)果。(實驗二的練習(xí)四)利用plot功能,觀察各種輸入數(shù)據(jù)、輸出數(shù)據(jù)的的波形;按照實驗步驟完成實驗,觀察和比較自相關(guān)譜和互相關(guān)譜的計算結(jié)果, 說明它們的差別。在實驗報告中記錄square32的自相關(guān)譜、它與trig32的互相關(guān)譜的輸入 和輸出數(shù)據(jù)及其波形、并利用數(shù)字信號處理課程所學(xué)知識分析結(jié)果實驗數(shù)據(jù)及結(jié)果練習(xí)練習(xí)2練習(xí)3互相關(guān)自相關(guān)實驗四自相關(guān)互相關(guān)實驗三利用ADSP-21065L EZ-KIT板實現(xiàn)數(shù)字信號處理實驗器材實驗的硬件資源包括:多功能信號發(fā)生器一臺;示波
26、器一臺;ADSP21065L-EZ-KIT 板一套,含 EZ-KIT 穩(wěn)壓電源;微型計算機一臺;RS232串口電纜一根。音頻三通轉(zhuǎn)接器一只;視頻連接轉(zhuǎn)換器2只;音頻連接電纜3根實驗原理調(diào)節(jié)信號源可以產(chǎn)生的各種波形的信號,該信號被送到EZ-KIT板的輸入端; 經(jīng)過板內(nèi)置的CODEC的ADC采樣后,轉(zhuǎn)換成數(shù)字信號;該數(shù)字信號經(jīng)過 ADSP-21065L完成各種運算處理后,經(jīng)過板內(nèi)置的CODEC的DA變換轉(zhuǎn)換成模擬 信號,送給示波器觀察。VisualDSP的軟件環(huán)境設(shè)置注意選擇正確的會話類型,本實驗sessions的有關(guān)參數(shù)應(yīng)該設(shè)置為:DebugTarget 選擇 EZ-KIT 21065LPlan
27、tform 選擇 EZ-KIT LiteProcessor 選擇 ADSP-21065L實驗內(nèi)容數(shù)據(jù)采集與譜分析信號自相關(guān)的計算實驗?zāi)康睦斫怆x散傅立葉變化的原理,掌握DFT的快速算法和相關(guān)性運算,同時了解連 續(xù)信號的采后的頻譜,加深對數(shù)字信號處理理論的理解。實驗步驟1)連接硬件:斷開所有電源,連接好信號源,EZ-KIT板,微機,示波器等。檢 查EZ-KIT板上的跳線位置是否正確,按照硬件連接圖檢查確保正確連接各個硬件 設(shè)備。2)加電和啟動程序檢查無誤后,分別打開PC機、信號源、評估板和示波器的電源,啟動VisualDSP+, 新建一個工程,工程名稱自定義,正確設(shè)置工程的各個選項,將DSP_ex
28、punit_3Fft目錄下的源文件3)選擇或者建立正確的會話類型:按照要求選擇或者建立EZ-KIT類型的會話,4)編譯鏈接運行程序5)改變信號再觀察6)改變窗函數(shù)再觀察:修改源程序中main()函數(shù)中的windows變量的值,分 別讓其等于1或2觀察、記錄實驗結(jié)果,對實驗結(jié)果作出比較,并得出結(jié)論。實驗要求練習(xí)一利用plot功能,在程序中設(shè)置斷點,觀察各種波形的采樣數(shù)據(jù)、輸出數(shù)據(jù)的 的波形;按照實驗步驟完成實驗,連續(xù)運行程序,觀察示波器的波形,說明它們的差 別。在實驗報告中記錄方波和三角波的采樣數(shù)據(jù)和FFT結(jié)果數(shù)據(jù),描繪其波形。并利用數(shù)字信號處理課程所學(xué)知識分析結(jié)果。練習(xí)二利用plot功能,在程
29、序中設(shè)置斷點,觀察各種波形的采樣數(shù)據(jù)、輸出數(shù) 據(jù)的的波形。按照實驗步驟完成實驗,連續(xù)運行程序,觀察示波器的波形,說明它們的 差別。在實驗報告中記錄正弦波和三角波的采樣數(shù)據(jù)和自相關(guān)結(jié)果數(shù)據(jù),描繪其 波形。并利用數(shù)字信號處理課程所學(xué)知識分析結(jié)果。實驗數(shù)據(jù)及結(jié)果10,000.05,000.0加窗三角波FFT結(jié)果數(shù)據(jù)30.020.010.00.00.0100.0200.0300.0Line Plot加窗方波采樣教據(jù)加窗方波采樣數(shù)據(jù)30.0加窗方波FFT結(jié)果數(shù)據(jù)三角波FFT結(jié)果數(shù)據(jù)24.0Line Plot方波方波FFT結(jié)果數(shù)據(jù)28.016.0100.0200.0300.0三角波采樣數(shù)據(jù)10,000.0-10,000.0100.0200.0300.020.0波采律教括方波采樣數(shù)據(jù)10,000.01
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 促進自主創(chuàng)新與合作計劃
- 培養(yǎng)幼兒觀察能力的探索計劃
- 2025年無菌包裝用包裝材料項目建議書
- 制定戰(zhàn)略合作伙伴關(guān)系計劃
- 可視化工作計劃的應(yīng)用案例
- 2025年酶法生產(chǎn)海藻糖項目建議書
- 2025年分級設(shè)備地礦勘測設(shè)備:鉆探機項目建議書
- 2025年漲緊輪項目合作計劃書
- 2025年面板檢測系統(tǒng)合作協(xié)議書
- 2025年酶標記制劑項目發(fā)展計劃
- (2024年)校園及學(xué)生安全事故典型案例及分析
- GB/T 22076-2024氣動圓柱形快換接頭
- 中央空調(diào)操作規(guī)程詳細版
- 薄膜沉積速率與均勻性研究
- 腹腔鏡腎上腺腫瘤切除術(shù)查房護理課件
- 《鋼鐵是怎樣煉成的》選擇題(含答案)
- 影視鑒賞-第六章-影視藝術(shù)的鑒賞與評論
- 丘腦出血的護理查房
- 檢測實驗室發(fā)展規(guī)劃方案
- 閑置廢舊物資管理與處置辦法培訓(xùn)課件
- 建設(shè)工程質(zhì)量檢測方案-技術(shù)標部分
評論
0/150
提交評論