




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DSP課程實(shí)驗(yàn)報(bào)告 利用DSP實(shí)現(xiàn)實(shí)時(shí)信號(hào)譜分析學(xué)院:電子信息工程學(xué)院 指導(dǎo)老師:高海林 學(xué)生:目錄1、設(shè)計(jì)任務(wù)書22、設(shè)計(jì)內(nèi)容33、設(shè)計(jì)方案33、1整體思路33.2信號(hào)的實(shí)時(shí)采集與傳輸33.3 FFT算法43.4 “ping-pong”存儲(chǔ)方式84、實(shí)驗(yàn)步驟85、實(shí)驗(yàn)結(jié)果及分析96、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法97、實(shí)驗(yàn)感想101、設(shè)計(jì)任務(wù)書在信息處理中,可以對(duì)信號(hào)進(jìn)行時(shí)域分析,也可以對(duì)信號(hào)進(jìn)行變換域分析,在頻域?qū)π盘?hào)進(jìn)行頻譜分析是最常見(jiàn)的分析之一。利用DSP可以實(shí)時(shí)地對(duì)信號(hào)進(jìn)行頻譜分析快速傅立葉變換(FFT)。本設(shè)計(jì)要求利用DSP的DMA方式進(jìn)行信號(hào)采集和信號(hào)輸出,同時(shí)對(duì)外部輸入的信號(hào)進(jìn)行頻
2、譜分析?;静糠郑?1) 設(shè)計(jì)譜分析算法,或調(diào)用DSPLIB中 FFT函數(shù),實(shí)現(xiàn)對(duì)信號(hào)的頻譜分析。(2) 在DMA中斷服務(wù)程序中,實(shí)現(xiàn)信號(hào)的實(shí)時(shí)譜分析(3) 利用CCS信號(hào)分析工具分析信號(hào)的頻譜成分, 對(duì)FFT算法結(jié)果進(jìn)行驗(yàn)證。 發(fā)揮部分: (1)信號(hào)頻譜數(shù)據(jù)實(shí)時(shí)輸出到Headphone輸出接口,并在示波器上進(jìn)行顯示; (2)在實(shí)驗(yàn)板的Line in輸入端接入正弦信號(hào),分左右聲道分別采集,并分別進(jìn)行頻譜分析;(3)利用CCS的Profiler工具計(jì)算FFT算法所需要的時(shí)間,并根據(jù)實(shí)時(shí)性要求進(jìn)行必要的算法優(yōu)化。2、設(shè)計(jì)內(nèi)容(1)掌握CCS的安裝、設(shè)置,工程的建立、工程設(shè)置、編譯運(yùn)行和調(diào)試方法(2
3、)編寫C語(yǔ)言程序?qū)崿F(xiàn)設(shè)計(jì)要求,并在CCS集成開(kāi)發(fā)環(huán)境下調(diào)試通過(guò),實(shí)現(xiàn)設(shè)計(jì)所要求的各項(xiàng)功能。(3)按要求撰寫課程設(shè)計(jì)報(bào)告。3、設(shè)計(jì)方案3、1整體思路首先利用DSP的DMA方式對(duì)外部信號(hào)進(jìn)行實(shí)時(shí)采集,外部模擬信號(hào)先進(jìn)行A/D轉(zhuǎn)換,利用MCBSP的接收寄存器接收數(shù)據(jù),并將數(shù)據(jù)存放到DSP存儲(chǔ)區(qū)中。設(shè)計(jì)FFT算法或調(diào)用DSPLIB中的rfft或cfft頻譜分析函數(shù),對(duì)信號(hào)進(jìn)行快速傅立葉變換。頻譜數(shù)據(jù)利用DMA方式送到D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬信號(hào)在示波器上顯示。3.2信號(hào)的實(shí)時(shí)采集與傳輸DMA控制器可以在不影響CPU的情況下完成數(shù)據(jù)的傳輸,因此數(shù)據(jù)傳輸速度快,在要求信號(hào)實(shí)時(shí)采集和處理的系統(tǒng)中常采用DMA方
4、式進(jìn)行信號(hào)傳輸。本設(shè)計(jì)中輸入信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換成數(shù)字信號(hào)后,將DMA通道4的源地址設(shè)為串口的接收寄存器,利用DMA通道4進(jìn)行傳輸;而將DMA通道5的目的地址設(shè)置為串口的發(fā)送寄存器,將信號(hào)頻譜利用DMA5通道進(jìn)行傳輸,此步驟需要對(duì)AIC23、McBSP、DMA通道4和DMA通道5進(jìn)行初始化配置。處理流圖如圖3.2.1所示。 圖3.2.1信號(hào)實(shí)時(shí)采集和頻譜分析流程圖3.3 FFT算法 FFT(FastFourierTransformation),即為快速傅氏變換,是離散傅氏變換(DFT)的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。(1) 離散傅里葉
5、變換DFTN點(diǎn)DFT的正變換公式為: 式中,WN=e-j*2/N,稱為旋轉(zhuǎn)因子或蝶形因子。從DFT的定義可以看出,在x(n)為復(fù)數(shù)序列的情況下,對(duì)某個(gè)k值,直接按(1)式計(jì)算X(k)只需要N次復(fù)數(shù)乘法和(N-1)次復(fù)數(shù)加法。因此,對(duì)所有N個(gè)k值,共需要N2次復(fù)數(shù)乘法和N(N-1)次復(fù)數(shù)加法。對(duì)于一些相當(dāng)大有N值(如1024點(diǎn))來(lái)說(shuō),直接計(jì)算它的DFT所需要的計(jì)算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制。(2)快速傅里葉變換FFT旋轉(zhuǎn)因子WN有如下的特性:對(duì)稱性:WNk+N/2=-WNk周期性:WNn(N-k)=WNk(N-n)=WN-nk利用這些特性,既可以使DFT中有些項(xiàng)合并,減少了
6、乘法積項(xiàng),又可以將長(zhǎng)序列的DFT分解成幾個(gè)短序列的DFT。FFT就是利用了旋轉(zhuǎn)因子的對(duì)稱性和周期性來(lái)減少運(yùn)算量的。一般而言,F(xiàn)FT算法分為按時(shí)間抽取的FFT(DITFFT)和按頻率抽取的FFT(DIFFFT)兩大類。DIFFFT算法是在時(shí)域內(nèi)將每一級(jí)輸入序列依次按奇偶分成個(gè)短序列進(jìn)行計(jì)算。而DIFFFT算法是在頻域內(nèi)將每一級(jí)輸入序列依次奇偶分成個(gè)短序列進(jìn)行計(jì)算。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,得算法是一樣的。在DIFFFT算法中,旋轉(zhuǎn)因子出現(xiàn)在輸入端,而在DIFFFT算法中它出現(xiàn)在輸入端。假定序列x(n)的點(diǎn)數(shù)N是2的冪,按照DIFFFT算法可將其分為偶序列和奇序列。偶序列:x(2r)=x
7、1(r)奇序列:x(2r+1)=x2(r)其中:r=0,1,2,N/2-1則x(n)的DFT表示為: 式中,x1(k)和x2(k)分別為x1(r)和x2(r)的N/2的DFT。由于對(duì)稱性,WNk+N/2=-WNk。因此,N點(diǎn)DFT可分為兩部分: 前半部分:x(k)=x1(k)+WkNx2(k)(1) 后半部分:x(N/2+k)=x1(k)-WkNx2(k)k=0,N/2-1 (2)從式(1)和式(2)可以看出,只要求出0N/2-1區(qū)間x1(k)和x2(k)的值,就可求出0N-1區(qū)間x(k)的N點(diǎn)值。以同樣的方式進(jìn)行抽取,可以求得N/4點(diǎn)的DFT,重復(fù)抽取過(guò)程,就可以使N點(diǎn)的DFT用上組2點(diǎn)的D
8、FT來(lái)計(jì)算,這樣就可以大減少運(yùn)算量?;? DIF FFT的蝶形運(yùn)算如圖3.3.1所示。設(shè)蝶形輸入為X1(k)和X2(K),輸出為x(k)和x(N/2+K),則有x(k)=x1(k)+WkNx2(k)(6)x(N/2+k)=x1(k)-WkNx2(k)(7)在基數(shù)為2的FFT中,設(shè)N=2M,共有M級(jí)運(yùn)算,每級(jí)有N/2個(gè)2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有MN/2個(gè)蝶形運(yùn)算。 圖3.3.1基2DIFFFT的蝶形運(yùn)算例如:基數(shù)為2的FFT,當(dāng)N=8時(shí),共需要3級(jí),12個(gè)基2DITFFT的蝶形運(yùn)算。其信號(hào)流程如圖3.3.2所示。圖3.3.2從圖可以看出,輸入是經(jīng)過(guò)比特反轉(zhuǎn)的倒位序列,稱為位碼倒置
9、,其排列順序?yàn)閤(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7),輸出是按自然順序排列,其順序?yàn)閤(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7).在本設(shè)計(jì)中,信號(hào)的頻譜通過(guò)FFT算法得出,F(xiàn)FT算法可以自己編寫,也可以調(diào)用55xdsp.lib庫(kù)rfft或cfft函數(shù)。調(diào)用庫(kù)函數(shù)的需要在工程中添加庫(kù)文件55xdsp.lib,并且在程序中包含頭文件dsplib.h。調(diào)用的時(shí)候入口參數(shù)是時(shí)域信號(hào)地址,返回處理后的FFT信號(hào),注意返回值不包含求模過(guò)程,而是交替返回實(shí)部和虛部。本實(shí)驗(yàn)采用自己編寫的基2頻率抽取法計(jì)算FFT。3.4 “ping-po
10、ng”存儲(chǔ)方式Ping-pong存儲(chǔ)方式在內(nèi)存開(kāi)辟四塊存儲(chǔ)區(qū),分別是gBufferRcvPing、gBufferRcvPong、gBufferXmtPing、gBufferXmtPong,其中前兩塊用于DMA接收,后兩塊用于DMA發(fā)送。目的是將正在接收或發(fā)送的區(qū)域與正在處理的區(qū)域分離開(kāi)。這個(gè)過(guò)程通過(guò)變量“pingpong”控制,以進(jìn)入中斷時(shí)pingpong=0為例,進(jìn)入終端后將其值改為1,將DMA接收目的區(qū)改為gBufferRcvPong,處理gBufferRcvPing的數(shù)據(jù),并將處理的數(shù)據(jù)發(fā)往gBufferXmtPing,而同時(shí)DMA發(fā)送源是gBufferXmtPong,這樣發(fā)送和接收都不
11、沖突。本實(shí)驗(yàn)中g(shù)BufferRcvPing/gBufferRcvPong接收到的數(shù)據(jù)是左右聲道交替的,因此要將接收回來(lái)的數(shù)據(jù)根據(jù)左右兩聲道分成兩個(gè)數(shù)組存放,再將每一個(gè)聲道的實(shí)部和虛部存到DDataBufferi.real/ DDataBufferi.imag當(dāng)中,做256點(diǎn)FFT變換后求模值得到幅度譜,再將經(jīng)過(guò)防溢出處理的數(shù)據(jù)存入gBufferRcvPing/gBufferRcvPong中。重復(fù)循環(huán)上述過(guò)程即可實(shí)現(xiàn)實(shí)時(shí)信號(hào)譜的分析。4、實(shí)驗(yàn)步驟(1)新建工程,正確設(shè)置工程選項(xiàng)(buildoption),設(shè)置工程的存儲(chǔ)器模式、頭文件路徑及庫(kù)文件路徑等,注意工程存放路徑不能有中文名;(2)編寫工程
12、所需的所有實(shí)驗(yàn)源程序,實(shí)驗(yàn)程序包括c文件、h文件、cmd文件、GEL文件、中斷向量s55文件等,并添加進(jìn)工程;(3)將仿真器等硬件正確連接上,注意音頻輸入輸出方向是否正確。將音頻立體聲輸入J5接電腦耳機(jī)輸出口,將J7接電腦語(yǔ)音錄入口;(4)按F7鍵編譯連接生成obj文件(無(wú)錯(cuò)誤時(shí)),若程序有錯(cuò)誤則查看錯(cuò)誤信息,雙擊錯(cuò)誤處光標(biāo)自動(dòng)跳轉(zhuǎn)到錯(cuò)誤處,直到排除所有錯(cuò)誤;(5)點(diǎn)擊file菜單下loadprogram載入程序,將程序下載在DSP芯片中,點(diǎn)擊“run”或按鍵F5全速運(yùn)行;(6)使用變量觀察圖形觀察窗等工具觀察分析輸入輸出信號(hào)是否與預(yù)期效果相同;(7)系統(tǒng)調(diào)試、代碼優(yōu)化等;(8)確定最終方案,
13、撰寫設(shè)計(jì)報(bào)告。5、實(shí)驗(yàn)結(jié)果及分析圖1為左右聲道分別輸入頻率為2kHz和5kHz的正弦信號(hào),示波器輸出圖像:圖1圖2為信號(hào)源輸入情況顯示: 圖2圖3和圖4分別是ccs工具得出的結(jié)果,左聲道輸入為2kHz,右聲道輸入為5kHz,采樣頻率為32kHz,左右聲道分別采256個(gè)點(diǎn):32k/2k=16 32k/5k=6.4圖3圖4圖5顯示的是ccs同時(shí)對(duì)捕獲到的左右兩聲道信號(hào)進(jìn)行FFT處理,圖中顯示的兩個(gè)峰值分別代表左右聲道的頻率,坐標(biāo)軸0-255表示左聲道,256-512表示右聲道,由圖可知左聲道的頻率大概為2kHz,右聲道的頻率大概為5kHz,基本和輸入頻率相吻合。 圖5圖7和圖8分別為左右聲道輸入對(duì)
14、應(yīng)頻域波形圖: 圖7 圖8從實(shí)驗(yàn)結(jié)果來(lái)看還有一些失真,但總體實(shí)現(xiàn)了預(yù)期效果。6、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法(1)實(shí)驗(yàn)運(yùn)行程序的過(guò)程中,改變輸入信號(hào)的頻率,示波器時(shí)而有圖像時(shí)而無(wú)顯示,只顯示雜波。只有重新加載程序才可以輸出波形。此實(shí)驗(yàn)的進(jìn)行與硬件密切相關(guān),要保證硬件狀態(tài)完好。(2)在創(chuàng)建工程時(shí)遇到困難,總是在步驟完成后不能運(yùn)行程序。最后只能先在老師原有的工程文件下進(jìn)行代碼粘貼并改錯(cuò),才可以運(yùn)行成功。(3)對(duì)于DMA的理解不夠透徹,對(duì)中斷的設(shè)置不夠熟練,導(dǎo)致實(shí)驗(yàn)初始階段出現(xiàn)了一系列的理解問(wèn)題,經(jīng)查閱相關(guān)資料即組內(nèi)討論后解決了問(wèn)題。(4)開(kāi)始運(yùn)行代碼時(shí)發(fā)現(xiàn)示波器和GRAPH中的顯示總有一個(gè)是倒過(guò)來(lái)的
15、,后來(lái)修改代碼,發(fā)現(xiàn)溢出部分的寫法有問(wèn)題,修改后一切正常。7、實(shí)驗(yàn)感想祖健文: 首先,我覺(jué)得DSP是一門比較難的課程,可是這門課程的理論學(xué)時(shí)卻只有短短的8學(xué)時(shí),而且老師上課講課速度比較快,我也沒(méi)有認(rèn)真做什么筆記,所以,理論課上基本只學(xué)到了CCS一些非常基本的使用方法,DSP的原理掌握的又是皮毛中的皮毛,這都導(dǎo)致后來(lái)的課程設(shè)計(jì)中理論知識(shí)的儲(chǔ)備嚴(yán)重不足。這次的課程設(shè)計(jì),基本就是實(shí)踐中去驗(yàn)證一些老師課上或課件中的一些知識(shí),比如我們所選的題目是“利用DSP實(shí)現(xiàn)信號(hào)的實(shí)時(shí)譜分析”,其實(shí)這算是一個(gè)比較簡(jiǎn)單的題目,理論上就是將例程中的DMA實(shí)時(shí)信號(hào)采集程序和FFT譜分析程序結(jié)合在一起就可以。雖然說(shuō)起來(lái)簡(jiǎn)單,
16、但實(shí)際操作中確實(shí)問(wèn)題重重,比如在新建工程時(shí)由于頭文件和Build Option中的配置不符而出現(xiàn)的編譯錯(cuò)誤;還有實(shí)驗(yàn)箱和線材的問(wèn)題,有時(shí)會(huì)導(dǎo)致實(shí)驗(yàn)始終沒(méi)有結(jié)果。再后來(lái)調(diào)試程序,發(fā)現(xiàn)DMA程序運(yùn)行的并不是很穩(wěn)定,有時(shí)可能會(huì)不輸出任何數(shù)據(jù),而View Graph中卻顯示一切正常,有時(shí)甚至只能重新啟動(dòng)CCS才能解決問(wèn)題。關(guān)于程序的設(shè)計(jì),我們本打算按照實(shí)驗(yàn)的要求,在DMA中斷服務(wù)程序中調(diào)用dsplib中的rfft函數(shù)進(jìn)行信號(hào)的譜分析,但經(jīng)過(guò)多次修改后,仍沒(méi)有實(shí)現(xiàn)rfft的正確調(diào)用。后來(lái)我們利用老師所給的BJTU_FFT例程中的fft256函數(shù),通過(guò)修改入口參數(shù),成功實(shí)現(xiàn)了對(duì)輸入信號(hào)的FFT計(jì)算。本次實(shí)
17、驗(yàn)對(duì)我來(lái)說(shuō),難度是挺大的,但是通過(guò)和小組成員的交流和溝通,確實(shí)弄清楚了很多問(wèn)題。所以我覺(jué)得本次實(shí)驗(yàn)收獲最大的就是和小組成員間通力合作,發(fā)現(xiàn)問(wèn)題,分析問(wèn)題,解決問(wèn)題;并且在每一次的交流、探討、實(shí)踐中,加深了對(duì)DSP以及程序的理解,并且最終實(shí)現(xiàn)了任務(wù)要求。吳楚婷:這次的DSP實(shí)驗(yàn)做的題目是信號(hào)實(shí)時(shí)譜分析,其實(shí)最開(kāi)始沒(méi)有打算選擇這個(gè)題目,因?yàn)樽约簩?duì)于信號(hào)與系統(tǒng)還有DSP課程的掌握程度不夠好,不過(guò)也正是因?yàn)檫@樣才在這次實(shí)驗(yàn)中收獲了更多的東西,通過(guò)實(shí)踐驗(yàn)證了理論的正確性,也同時(shí)重新溫習(xí)了一下理論知識(shí),算是一舉兩得。還有關(guān)于DMA的部分是我在學(xué)習(xí)微機(jī)原理的時(shí)候就非常好奇的一部分,通過(guò)這次實(shí)驗(yàn)熟悉了DMA的實(shí)際工作方式和流程,很是收益。CCS對(duì)于我們來(lái)說(shuō)都是一款完全沒(méi)有接觸過(guò)的開(kāi)發(fā)軟件,以前也沒(méi)有任何關(guān)于DSP處理的經(jīng)驗(yàn),所以之前的很多時(shí)間都花在看老師的課件和參考相關(guān)資料上面,只有先把基礎(chǔ)的部分搞懂才能做后面的發(fā)揮。雖然每次看都會(huì)多懂很多知識(shí),不過(guò)要等到所有的都弄清楚再開(kāi)始顯然是不可能的,因?yàn)橹R(shí)太多又太陌生,所以后來(lái)就索性摸索著來(lái)了,邊做邊熟悉功能和流程。其實(shí)我們組去實(shí)驗(yàn)室的次數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 老王說(shuō)課課件教學(xué)
- 2025年白蘭地市場(chǎng)專項(xiàng)調(diào)研及投資前景預(yù)測(cè)報(bào)告
- 農(nóng)業(yè)科技園區(qū)廠區(qū)智能化管理與物業(yè)服務(wù)協(xié)議
- 《企業(yè)股權(quán)激勵(lì)計(jì)劃與員工持股管理協(xié)議書》
- 知識(shí)產(chǎn)權(quán)運(yùn)營(yíng)財(cái)務(wù)擔(dān)保合同負(fù)債風(fēng)險(xiǎn)控制與服務(wù)合同
- 特定礦區(qū)采礦權(quán)抵押擔(dān)保貸款合同
- 水上公園草坪除草與水上活動(dòng)保障合同
- 財(cái)務(wù)顧問(wèn)公司合伙人聘用合同
- 電力設(shè)備鈑金外殼制造與防火噴漆服務(wù)合同
- 建筑施工安全管理?xiàng)l例
- 股份分配與業(yè)績(jī)對(duì)賭協(xié)議合同
- 2025至2030中國(guó)合規(guī)行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 【人教版】河北石家莊2024-2025學(xué)年 四年級(jí)下學(xué)期期末數(shù)學(xué)試題【一】有解析
- 2025年衛(wèi)生系統(tǒng)招聘考試《職業(yè)能力傾向測(cè)試》新版真題卷(附詳細(xì)解析)
- 國(guó)家職業(yè)技能標(biāo)準(zhǔn)-半導(dǎo)體分立器件和集成電路裝調(diào)工
- 數(shù)據(jù)中心運(yùn)維服務(wù)投標(biāo)方案
- 施工導(dǎo)流圍堰工程實(shí)例講義課件(117頁(yè)配圖豐富)
- 排水系統(tǒng)PLC控制及組態(tài)設(shè)計(jì)說(shuō)明書
- 自考西方政治制度復(fù)習(xí)重點(diǎn)筆記資料整理(共30頁(yè))
- 清溪1井溢流事件壓封井搶險(xiǎn)分析
- 大型活動(dòng)報(bào)備申請(qǐng)表(樣本)
評(píng)論
0/150
提交評(píng)論