dsp實(shí)驗(yàn)報(bào)告_實(shí)時(shí)信號譜分析_第1頁
dsp實(shí)驗(yàn)報(bào)告_實(shí)時(shí)信號譜分析_第2頁
dsp實(shí)驗(yàn)報(bào)告_實(shí)時(shí)信號譜分析_第3頁
dsp實(shí)驗(yàn)報(bào)告_實(shí)時(shí)信號譜分析_第4頁
dsp實(shí)驗(yàn)報(bào)告_實(shí)時(shí)信號譜分析_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余11頁可下載查看

下載本文檔

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

文檔簡介

1、DSP課程實(shí)驗(yàn)報(bào)告利用DSF實(shí)現(xiàn)實(shí)時(shí)信號譜分析學(xué)院:電子信息工程學(xué)院指導(dǎo)老師:高海林學(xué)生:目錄1、設(shè)計(jì)任務(wù)書 32、設(shè)計(jì)內(nèi)容 33、設(shè)計(jì)方案 43、1 整體思路 43.2 信號的實(shí)時(shí)采集與傳輸 43.3 FFT 算法 53.4 “ping-pong ”存儲方式 84、實(shí)驗(yàn)步驟 95、實(shí)驗(yàn)結(jié)果及分析 106、實(shí)驗(yàn)中遇到的問題及解決方法 137、實(shí)驗(yàn)感想 131、設(shè)計(jì)任務(wù)書在信息處理中,可以對信號進(jìn)行時(shí)域分析,也可以對信號進(jìn)行變換域分析,在頻域?qū)π盘栠M(jìn)行頻譜分析是最常見的分析之一。 利用DSP可以實(shí)時(shí)地對信號進(jìn) 行頻譜分析一快速傅立葉變換(FFT)。本設(shè)計(jì)要求利用DSP的 DMA方式進(jìn)行信 號采集

2、和信號輸出,同時(shí)對外部輸入的信號進(jìn)行頻譜分析?;静糠郑海?)設(shè)計(jì)譜分析算法,或調(diào)用DSPLIB中FFT函數(shù),實(shí)現(xiàn)對信號的頻譜分析。(2)在DMA中斷服務(wù)程序中,實(shí)現(xiàn)信號的實(shí)時(shí)譜分析(3)利用CCS信號分析工具分析信號的頻譜成分,對FFT算法結(jié)果進(jìn)行驗(yàn)證。發(fā)揮部分:(1)信號頻譜數(shù)據(jù)實(shí)時(shí)輸出到 HeadPhOne輸出接口,并在示波器上進(jìn)行顯示;( 2)在實(shí)驗(yàn)板的 Line in 輸入端接入正弦信號,分左右聲道分別采集,并分 別進(jìn)行頻譜分析 ;(3)利用CCS的Profiler工具計(jì)算FFT算法所需要的時(shí)間,并根據(jù)實(shí)時(shí)性要 求進(jìn)行必要的算法優(yōu)化。2、設(shè)計(jì)內(nèi)容(1)掌握CCS的安裝、設(shè)置,工程的建

3、立、工程設(shè)置、編譯運(yùn)行和調(diào)試方法(2)編寫C語言程序?qū)崿F(xiàn)設(shè)計(jì)要求,并在 CCS集成開發(fā)環(huán)境下調(diào)試通過,實(shí)現(xiàn) 設(shè)計(jì)所要求的各項(xiàng)功能。( 3)按要求撰寫課程設(shè)計(jì)報(bào)告。3、設(shè)計(jì)方案3、 1整體思路首先利用DSP的DMA方式對外部信號進(jìn)行實(shí)時(shí)采集,外部模擬信號先進(jìn)行 A/D轉(zhuǎn)換,利用MCBS的接收寄存器接收數(shù)據(jù),并將數(shù)據(jù)存放到 DSP存儲區(qū)中。 設(shè)計(jì)FFT算法或調(diào)用DSPLIB中的rfft或Cfft頻譜分析函數(shù),對信號進(jìn)行快速 傅立葉變換。頻譜數(shù)據(jù)利用DMA方式送到D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬信號在示波器上示 O3.2信號的實(shí)時(shí)采集與傳輸DMA控制器可以在不影響CPU勺情況下完成數(shù)據(jù)的傳輸,因此數(shù)據(jù)傳輸速度

4、 快,在要求信號實(shí)時(shí)采集和處理的系統(tǒng)中常采用DM/方式進(jìn)行信號傳輸。本設(shè)計(jì)中輸入信號經(jīng)過A/D轉(zhuǎn)換成數(shù)字信號后,將DMAS道4的源地址設(shè)為串口的接收 寄存器,利用DMAI道4進(jìn)行傳輸;而將DMAS道5的目的地址設(shè)置為串口的發(fā) 送寄存器,將信號頻譜利用 DMA5S道進(jìn)行傳輸,此步驟需要對 AIC23、MCBSP DMAS道4和DMAS道5進(jìn)行初始化配置。處理流圖如圖 3.2.1所示。主程序中斷服務(wù)程序圖3.2.1信號實(shí)時(shí)采集和頻譜分析流程圖3.3 FFT算法FFT (FaSt FOUrier TranSfOrmatiOn ),即為快速傅氏變換,是離散傅氏 變換(DFT)的快速算法,它是根據(jù)離散傅

5、氏變換的奇、偶、虛、實(shí)等特性,對離 散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。(1) 離散傅里葉變換DFTN點(diǎn)DFT的正變換公式為:X (k) = Ix(H)咔疔HrjEM=C式中,WN=e-j*2 /N ,稱為旋轉(zhuǎn)因子或蝶形因子。從 DFT的定義可以看出, 在x(n)為復(fù)數(shù)序列的情況下,對某個(gè)k值,直接按(1)式計(jì)算X(k)只需要N 次復(fù)數(shù)乘法和(N-1)次復(fù)數(shù)加法。因此,對所有N個(gè)k值,共需要N2次復(fù)數(shù)乘 法和N(N-I)次復(fù)數(shù)加法。對于一些相當(dāng)大有 N值(如1024點(diǎn))來說,直接計(jì)算 它的DFT所需要的計(jì)算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制。(2) 快速傅里葉變換FFT旋轉(zhuǎn)因子WN

6、有如下的特性:對稱性:WNk+N2=-WNk周期性:WNn(N-k)=WNk(N-n)=WN-nk利用這些特性,既可以使DFT中有些項(xiàng)合并,減少了乘法積項(xiàng),又可以將長 序列的DFT分解成幾個(gè)短序列的DFT FFT就是利用了旋轉(zhuǎn)因子的對稱性和周期 性來減少運(yùn)算量的。一般而言,F(xiàn)FT算法分為按時(shí)間抽取的FFT(DIT FFT)和按頻率抽取的FFT(DIF FFT)兩大類。DIF FFT算法是在時(shí)域內(nèi)將每一級輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。而 DlF FFT算法是在頻域內(nèi)將每一級輸入序列依 次奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。 兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,得 算法是一樣的。在DIF

7、FFT算法中,旋轉(zhuǎn)因子出現(xiàn)在輸入端,而在DIFFFT算法 中它出現(xiàn)在輸入端。假定序列x(n)的點(diǎn)數(shù)N是2的幕,按照DIFFFT算法可將其 分為偶序列和奇序列。偶序列:x(2r)=x1(r)奇序列:x(2r+1)=x2(r) 其中:r=0,1,2, , ,N/2-1則 x(n)的 DFT表示為:.v-.V-y-J(町二工工(M)R二工工(M)Jr乎+三工fl=QK奇數(shù).V2-lM3、二Y工(2尸艸嚴(yán)+藝工(2廠+ 1)眉嚴(yán)W= -r2-1*-V2-1rk=Y可0)(昭)+叭工E(>)(叫)FM)0Ar2-1U=悶(尸尸& +呎衍()V 2 r.0r>0= T1()÷

8、 FF ()匚 k=0 丄N/2_l式中,x1(k)和x2(k)分別為x1 (r)和x2(r)的N/2的DFT由于對稱性, WNk+N2=-WNk因此,N點(diǎn)DFT可分為兩部分:前半部分:x(k)=x1(k)+WkNx2(k)(1)后半部分:x(N2+k)=x1(k)-WkNx2(k)k=0, ,N2-1(2)從式(1)和式(2)可以看出,只要求出0N2-1區(qū)間x1(k)和x2(k)的值, 就可求出0N-1區(qū)間x(k)的N點(diǎn)值。以同樣的方式進(jìn)行抽取,可以求得 N/4點(diǎn) 的DFT重復(fù)抽取過程,就可以使 N點(diǎn)的DFT用上組2點(diǎn)的 DFT來計(jì)算,這樣就可以大減少運(yùn)算量?;? DlF FFT的蝶形運(yùn)算如

9、圖331所示。設(shè)蝶形輸入為X1(k)和X2(K),輸出為x(k)和x(N2+K),則有x(k)=x1(k)+WkNx2(k)x(N2+k)=x1(k)-WkNx2(k)(6)N/2個(gè)2點(diǎn)FFT蝶BCA-SC在基數(shù)為2的FFT中,設(shè)N=2M共有M級運(yùn)算,每級有 形運(yùn)算,因此,N點(diǎn)FFT總共有MN/2個(gè)蝶形運(yùn)算圖3.3.1 基2 DIF FFT的蝶形運(yùn)算例如:基數(shù)為2的FFT,當(dāng)N=8時(shí),共需要3級,12個(gè)基2 DIT FFT的蝶 形運(yùn)算。其信號流程如圖3.3.2所示-1-1-IP圖 3.3.2從圖可以看出,輸入是經(jīng)過比特反轉(zhuǎn)的倒位序列,稱為位碼倒置,其排列順 序?yàn)閤(O),x,x(2),x(6)

10、,x(1),x(5),x(3),x,輸出是按自然順序排列,其順序?yàn)?x(O),x(1),x(2),x(3),x,x(5),x(6),x(7).在本設(shè)計(jì)中,信號的頻譜通過FFT算法得出,F(xiàn)FT算法可以自己編寫,也可 以調(diào)用55xdsp.lib 庫rfft或Cfft函數(shù)。調(diào)用庫函數(shù)的需要在工程中添加庫文 件55xdsp.lib ,并且在程序中包含頭文件 dsplib.h。調(diào)用的時(shí)候入口參數(shù)是時(shí) 域信號地址,返回處理后的FFT信號,注意返回值不包含求模過程,而是交替返 回實(shí)部和虛部。本實(shí)驗(yàn)采用自己編寫的基2頻率抽取法計(jì)算FFT。3.4 “ Ping-POng ”存儲方式Ping-pong存儲方式在內(nèi)

11、存開辟四塊存儲區(qū),分別是 gBufferRcvPing、 gBufferRcvPong、gBufferXmtPing、gBufferXmtPong,其中前兩塊用于 DMA接收, 后兩塊用于DMA發(fā)送。目的是將正在接收或發(fā)送的區(qū)域與正在處理的區(qū)域分離開。這個(gè)過程通過變量“ pingpong ”控制,以進(jìn)入中斷時(shí) pingpong=0 為例,進(jìn) 入終端后將其值改為1 ,將DMA接收目的區(qū)改為gBufferRcvPong ,處理gBufferRcvPing 的數(shù)據(jù),并將處理的數(shù)據(jù)發(fā)往 gBufferXmtPing ,而同時(shí)DMA發(fā) 送源是gBufferXmtPong,這樣發(fā)送和接收都不沖突。本實(shí)驗(yàn)中

12、 gBufferRcvPing/gBufferRcvPong 接收到的數(shù)據(jù)是左右聲道交替 的,因此要將接收回來的數(shù)據(jù)根據(jù)左右兩聲道分成兩個(gè)數(shù)組存放, 再將每一個(gè)聲 道的實(shí)部和虛部存到 DDataBufferi.real/ DDataBufferi.imag 當(dāng)中 ,做 256 點(diǎn) FFT 變 換 后 求 模 值 得 到 幅 度 譜 , 再 將 經(jīng) 過 防 溢 出 處 理 的 數(shù) 據(jù) 存 入 gBufferRcvPing/gBufferRcvPong 中。重復(fù)循環(huán)上述過程即可實(shí)現(xiàn)實(shí)時(shí)信號譜的 分析。4、實(shí)驗(yàn)步驟( 1 )新建工程,正確設(shè)置工程選項(xiàng)( build option ),設(shè)置工程的存儲器

13、 模式、頭文件路徑及庫文件路徑等,注意工程存放路徑不能有中文名;(2) 編寫工程所需的所有實(shí)驗(yàn)源程序,實(shí)驗(yàn)程序包括C文件、h文件、Cmd 文件、GEL文件、中斷向量s55文件等,并添加進(jìn)工程;(3)將仿真器等硬件正確連接上,注意音頻輸入輸出方向是否正確。將音 頻立體聲輸入 J5 接電腦耳機(jī)輸出口,將 J7 接電腦語音錄入口;( 4)按 F7 鍵編譯連接生成 obj 文件(無錯(cuò)誤時(shí)),若程序有錯(cuò)誤則查看錯(cuò) 誤信息,雙擊錯(cuò)誤處光標(biāo)自動跳轉(zhuǎn)到錯(cuò)誤處,直到排除所有錯(cuò)誤;(5)點(diǎn)擊file菜單下Ioad PrOgram載入程序,將程序下載在DSP芯片中, 點(diǎn)擊“ run ”或按鍵F5全速運(yùn)行;( 6)使

14、用變量觀察圖形觀察窗等工具觀察分析輸入輸出信號是否與預(yù)期效 果相同;( 7)系統(tǒng)調(diào)試、代碼優(yōu)化等;(8)確定最終方案,撰寫設(shè)計(jì)報(bào)告5、實(shí)驗(yàn)結(jié)果及分析圖1為左右聲道分別輸入頻率為2kHz和5kHz的正弦信號,示波器輸出圖像:圖1圖2為信號源輸入情況顯示:電溫幵關(guān)萬用表頻率計(jì)I信號源圖3和圖4分別是CCS工具得出的結(jié)果,左聲道輸入為2kHz,右聲道輸入為5kHz,采樣頻率為32kHz,左右聲道分別采 256個(gè)點(diǎn):32k2k=16 32k5k=6.4L圖5顯示的是CCS同時(shí)對捕獲到的左右兩聲道信號進(jìn)行 FFT處理,圖中顯示的兩 個(gè)峰值分別代表左右聲道的頻率,坐標(biāo)軸 0-255表示左聲道,256-51

15、2表示右聲 道,由圖可知左聲道的頻率大概為 2kH z,右聲道的頻率大概為5kHz,基本和輸入 頻率相吻合。圖5圖7和圖8分別為左右聲道輸入對應(yīng)頻域波形圖:圖8從實(shí)驗(yàn)結(jié)果來看還有一些失真,但總體實(shí)現(xiàn)了預(yù)期效果。6、實(shí)驗(yàn)中遇到的問題及解決方法(1)實(shí)驗(yàn)運(yùn)行程序的過程中,改變輸入信號的頻率,示波器時(shí)而有圖像時(shí)而無 顯示,只顯示雜波。 只有重新加載程序才可以輸出波形。 此實(shí)驗(yàn)的進(jìn)行與硬件密 切相關(guān),要保證硬件狀態(tài)完好。(2)在創(chuàng)建工程時(shí)遇到困難,總是在步驟完成后不能運(yùn)行程序。最后只能先在 老師原有的工程文件下進(jìn)行代碼粘貼并改錯(cuò),才可以運(yùn)行成功。(3)對于DMA勺理解不夠透徹,對中斷的設(shè)置不夠熟練,導(dǎo)

16、致實(shí)驗(yàn)初始階段出 現(xiàn)了一系列的理解問題,經(jīng)查閱相關(guān)資料即組內(nèi)討論后解決了問題。(4)開始運(yùn)行代碼時(shí)發(fā)現(xiàn)示波器和 GRAP中的顯示總有一個(gè)是倒過來的,后來 修改代碼,發(fā)現(xiàn)溢出部分的寫法有問題,修改后一切正常。7、實(shí)驗(yàn)感想祖健文:首先,我覺得DSP是一門比較難的課程,可是這門課程的理論學(xué)時(shí)卻只有短 短的 8 學(xué)時(shí),而且老師上課講課速度比較快,我也沒有認(rèn)真做什么筆記,所以, 理論課上基本只學(xué)到了 CCS-些非常基本的使用方法,DSP的原理掌握的又是皮 毛中的皮毛,這都導(dǎo)致后來的課程設(shè)計(jì)中理論知識的儲備嚴(yán)重不足。這次的課程設(shè)計(jì),基本就是實(shí)踐中去驗(yàn)證一些老師課上或課件中的一些知 識,比如我們所選的題目是

17、“利用 DSP實(shí)現(xiàn)信號的實(shí)時(shí)譜分析”,其實(shí)這算是一 個(gè)比較簡單的題目,理論上就是將例程中的 DMA實(shí)時(shí)信號采集程序和FFT譜分 析程序結(jié)合在一起就可以。 雖然說起來簡單, 但實(shí)際操作中確實(shí)問題重重, 比如 在新建工程時(shí)由于頭文件和 Build Option 中的配置不符而出現(xiàn)的編譯錯(cuò)誤;還有 實(shí)驗(yàn)箱和線材的問題,有時(shí)會導(dǎo)致實(shí)驗(yàn)始終沒有結(jié)果。再后來調(diào)試程序,發(fā)現(xiàn) DMA程序運(yùn)行的并不是很穩(wěn)定,有時(shí)可能會不輸出任何數(shù)據(jù),而 VieW GraPh中 卻顯示一切正常,有時(shí)甚至只能重新啟動 CCS才能解決問題。關(guān)于程序的設(shè)計(jì),我們本打算按照實(shí)驗(yàn)的要求,在 DMA 中斷服務(wù)程序中調(diào) 用 dsplib 中的

18、 rfft 函數(shù)進(jìn)行信號的譜分析,但經(jīng)過多次修改后,仍沒有實(shí)現(xiàn) rfft 的正確調(diào)用。后來我們利用老師所給的 BJTU_FFT例程中的fft256函數(shù),通過修 改入口參數(shù),成功實(shí)現(xiàn)了對輸入信號的 FFT計(jì)算。本次實(shí)驗(yàn)對我來說, 難度是挺大的, 但是通過和小組成員的交流和溝通, 確 實(shí)弄清楚了很多問題。 所以我覺得本次實(shí)驗(yàn)收獲最大的就是和小組成員間通力合 作,發(fā)現(xiàn)問題,分析問題,解決問題;并且在每一次的交流、探討、實(shí)踐中,加 深了對DSP以及程序的理解,并且最終實(shí)現(xiàn)了任務(wù)要求。吳楚婷:這次的DSP實(shí)驗(yàn)做的題目是信號實(shí)時(shí)譜分析,其實(shí)最開始沒有打算選擇這個(gè) 題目,因?yàn)樽约簩τ谛盘柵c系統(tǒng)還有 DSP課程的掌握程度不夠好,不過也正是因 為這樣才

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論