




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于DSP的FFT實(shí)現(xiàn)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)
基于DSP的FFT實(shí)現(xiàn)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)課程設(shè)計(jì)(論文)題目名稱基于DSP的FFT的實(shí)現(xiàn)課程名稱專業(yè)課程設(shè)計(jì)Ⅱ?qū)W生姓名學(xué)號(hào)系專業(yè)信息工程系通信工程指導(dǎo)教師2014年4月27日摘要隨著計(jì)算機(jī)和微電子技術(shù)的飛速發(fā)展,基于數(shù)字信號(hào)處理的頻譜分析已經(jīng)應(yīng)用到各個(gè)領(lǐng)域并且發(fā)揮著重要作用。信號(hào)處理方法是當(dāng)前機(jī)械設(shè)備故障診斷中重要的技術(shù)基礎(chǔ)之一,分析結(jié)果的精確程度是診斷成功與否的關(guān)鍵因素。研究頻譜分析是當(dāng)前主要的發(fā)展方向之一.數(shù)字信號(hào)處理基本上從兩個(gè)方面來解決信號(hào)的處理問題:一個(gè)是時(shí)域方法,即數(shù)字濾波;另一個(gè)是頻域方法,即頻譜分析.
本文主要介紹了離散傅里葉變換以及快速傅里葉變換,通過對(duì)DFT以及FFT算法進(jìn)行研究,從基礎(chǔ)深入研究和學(xué)習(xí),掌握FFT算法的關(guān)鍵。通過對(duì)DSP芯片工作原理以及開發(fā)環(huán)境的學(xué)習(xí),掌握CCS的簡(jiǎn)單調(diào)試和軟件仿真,在DSP芯片上實(shí)現(xiàn)對(duì)信號(hào)的實(shí)時(shí)頻譜分析。關(guān)鍵字:DSP;CCS仿真軟件;FFT目錄TO(shè)C\o”1-3"\t”"\h\z\u第1章緒論P(yáng)AGEREF_Toc37211.1DSP簡(jiǎn)介PAGEREF_Toc117411HYPERLINK\l_Toc101351。2設(shè)計(jì)目的PAGEREF_Toc1013511。3設(shè)計(jì)內(nèi)容PAGEREF_Toc1752911.4設(shè)計(jì)原理PAGEREF_Toc314401HYPERLINK\l_Toc284851.5FFT算法的DSP實(shí)現(xiàn)過程PAGEREF_Toc284852第2章硬件實(shí)現(xiàn)PAGEREF_Toc205224HYPERLINK\l_Toc93762.1系統(tǒng)的硬件設(shè)計(jì)PAGEREF_Toc937642。2原理圖的設(shè)計(jì)PAGEREF_Toc276485第3章軟件設(shè)計(jì)PAGEREF_Toc23147HYPERLINK\l_Toc215323.1FFT運(yùn)算及存儲(chǔ)分配PAGEREF_Toc2153273.2設(shè)計(jì)流程圖PAGEREF_Toc228578第4章系統(tǒng)仿真PAGEREF_Toc286119HYPERLINK\l_Toc283514.1FFT實(shí)現(xiàn)的方法194.2程序運(yùn)行結(jié)果PAGEREF_Toc197779HYPERLINK\l_Toc30538第5章總結(jié)PAGEREF_Toc3053812致謝PAGEREF_Toc2475213參考文獻(xiàn)PAGEREF_Toc139214HYPERLINK\l_Toc28169附錄源程序PAGEREF_Toc2816915第1章緒論1.1DSP簡(jiǎn)介數(shù)字信號(hào)處理(DigitalSignalProcessing,簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字的形式對(duì)信號(hào)進(jìn)行分析、采集、合成、變換、濾波、估算、壓縮、識(shí)別等加工處理,以便提取有用的信息并進(jìn)行有效的傳輸與應(yīng)用。數(shù)字信號(hào)處理是以眾多學(xué)科為理論基礎(chǔ),它所涉及的范圍極其廣泛。如數(shù)學(xué)領(lǐng)域中的微積分、概率統(tǒng)計(jì)、隨機(jī)過程、數(shù)字分析等都是數(shù)字信號(hào)處理的基礎(chǔ)工具.它與網(wǎng)絡(luò)理論、信號(hào)與系統(tǒng)、控制理論、通信理論、故障診斷等密切相關(guān).1。2設(shè)計(jì)目的(1)加深對(duì)DFT算法原理和基本性質(zhì)的理解;(2)熟悉FFT的算法原理和FFT子程序的算法流程和應(yīng)用;(3)學(xué)習(xí)用FFT對(duì)連續(xù)信號(hào)和時(shí)域信號(hào)進(jìn)行頻譜分析的方法;(4)學(xué)習(xí)DSP中FFT的設(shè)計(jì)和編程思想;(5)學(xué)習(xí)使用CCS的波形觀察器觀察波形和頻譜情況;(6)簡(jiǎn)要畫出硬件設(shè)計(jì)電路圖。1.3設(shè)計(jì)內(nèi)容用DSP匯編語言進(jìn)行編程,實(shí)現(xiàn)FFT運(yùn)算,對(duì)輸入信號(hào)進(jìn)行頻譜分析。1.4設(shè)計(jì)原理快速傅氏變換(FFT)是一種高效實(shí)現(xiàn)離散傅氏變換的快速算法,是數(shù)字信號(hào)處理中最為重要的工具之一,它在聲學(xué)、語音、電信、和信號(hào)處理等領(lǐng)域有著廣泛的應(yīng)用。對(duì)于有限長(zhǎng)離散數(shù)字信號(hào){x[n]},0nN—1,其離散譜{x[k]}可以由離散付氏變換(DFT)求得.可以方便的把它改寫為如下形式:不難看出,WN是周期性的,且周期為N,即N的周期性是DFT的關(guān)鍵性質(zhì)之一。為了強(qiáng)調(diào)起見,常用表達(dá)式WN取代W以便明確其周期是N。FFT算法可以分為按時(shí)間抽取FFT和按頻率抽取FFT兩大類,輸入也有和復(fù)數(shù)之分,一般情況下,都假定輸入序列為復(fù)數(shù)。FFT算法利用旋轉(zhuǎn)因子的對(duì)稱性和周期性,加快了運(yùn)算速度。用定點(diǎn)DSP芯片實(shí)現(xiàn)FFT程序時(shí),一個(gè)比較重要的問題是防止中間結(jié)果的溢出,防止中間結(jié)果的溢出的方法是對(duì)中間數(shù)值歸一化。為了避免對(duì)每級(jí)都進(jìn)行歸一化會(huì)降低運(yùn)算速度,最好的方法是只對(duì)可能溢出的進(jìn)行歸一化,而不可能溢出的則不進(jìn)行歸一化。由DFT的定義可以看出,在x[n]為復(fù)數(shù)序列的情況下,完全直接運(yùn)算N點(diǎn)DFT需要(N—1)2次復(fù)數(shù)乘法和N(N—1)次加法。因此,對(duì)于一些相當(dāng)大的N值(如1024)來說,直接計(jì)算它的DFT所作的計(jì)算量是很大的。FFT的基本思想在于,將原有的N點(diǎn)序列序列分成兩個(gè)較短的序列,這些序列的DFT可以很簡(jiǎn)單的組合起來得到原序列的DFT。例如,若N為偶數(shù),將原有的N點(diǎn)序列分成兩個(gè)(N/2)點(diǎn)序列,那么計(jì)算N點(diǎn)DFT將只需要約[(N/2)2·2]=N2/2次復(fù)數(shù)乘法。即比直接計(jì)算少作一半乘法。因子(N/2)2表示直接計(jì)算(N/2)點(diǎn)DFT所需要的乘法次數(shù),而乘數(shù)2代表必須完成兩個(gè)DFT.上述處理方法可以反復(fù)使用,即(N/2)點(diǎn)的DFT計(jì)算也可以化成兩個(gè)(N/4)點(diǎn)的DFT(假定N/2為偶數(shù)),從而又少作一半的乘法.這樣一級(jí)一級(jí)的劃分下去一直到最后就劃分成兩點(diǎn)的FFT運(yùn)算的情況。1.5FFT算法的DSP實(shí)現(xiàn)過程DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)方法變得更為方便。由于大多數(shù)DSP芯片都具有在單指令周期內(nèi)完成乘法-累加操作,并且提供了專門的FFT指令,使得FFT算法在DSP芯片實(shí)現(xiàn)的速度更快.FFT算法可以分為按時(shí)間抽取FFT和按頻率抽?。疲芓兩大類,輸入也有實(shí)數(shù)和復(fù)數(shù)之分,一般情況下,都假定輸入序列為復(fù)數(shù)。1。5.1FFT運(yùn)算序列的存儲(chǔ)分配FFT運(yùn)算時(shí)間是衡量DSP芯片性能的一個(gè)重要指標(biāo),因此提高FFT的運(yùn)算速度是非常重要的。在用DSP芯片實(shí)現(xiàn)FFT算法時(shí),應(yīng)允許利用DSP芯片所提供的各種軟、硬件資源。如何利用DSP芯片的有限資源,合理地安排好所使用的存儲(chǔ)空間是十分重要的。1.5。2FFT運(yùn)算的實(shí)現(xiàn)用TMS320C54x的匯編程序?qū)崿F(xiàn)FFT算法主要分為四步:(1)實(shí)現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn)輸入數(shù)據(jù)的比特反轉(zhuǎn)實(shí)際上就是將輸入數(shù)據(jù)進(jìn)行碼位倒置,以便在整個(gè)運(yùn)算后的輸出序列是一個(gè)自然序列。在用匯編指令進(jìn)行碼位倒置時(shí),使用碼位倒置可以大大提高程序執(zhí)行速度和使用存儲(chǔ)器的效率。在這種尋址方式下,AR0存放的整數(shù)N是FFT點(diǎn)的一半,一個(gè)輔助寄存器指向一個(gè)數(shù)據(jù)存放的單元。當(dāng)使用位碼倒置尋址將AR0加到輔助寄存器時(shí),地址將以位碼倒置的方式產(chǎn)生。(2)實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFTN點(diǎn)復(fù)數(shù)FFT算法的實(shí)現(xiàn)可分為三個(gè)功能塊,即第一級(jí)蝶形運(yùn)算、第二級(jí)蝶形運(yùn)算、第三級(jí)至QUOTE級(jí)蝶形運(yùn)算。對(duì)于任何一個(gè)2的整數(shù)冪QUOTE,總可以通過M次分解最后成為2點(diǎn)的DFT計(jì)算。通過這樣的M次分解,可構(gòu)成M(即QUOTE)級(jí)迭代計(jì)算,每級(jí)由N/2個(gè)蝶形運(yùn)算組成。(3)功率譜的計(jì)算用FFT計(jì)算想x(n)的頻譜,即計(jì)算X(k)=QUOTEX(k)一般是由實(shí)部QUOTE(k)和虛部QUOTE(k)組成的復(fù)數(shù),即X(k)=QUOTE(k)+jQUOTE(k)因此,計(jì)算功率譜時(shí)只需將FFT變換好的數(shù)據(jù),按照實(shí)部實(shí)部QUOTE(k)和虛部QUOTE(k)求它們的平方和,然后對(duì)平方和進(jìn)行開平方運(yùn)算.但是考慮到編程的難度,對(duì)于求FFT變換后數(shù)據(jù)的最大值,不開平方也可以找到最大值,并對(duì)功率譜的結(jié)果沒有影響,所以在實(shí)際的DSP編程中省去了開方運(yùn)算。第2章硬件實(shí)現(xiàn)2.1系統(tǒng)的硬件設(shè)計(jì)基于DSP的系統(tǒng)設(shè)計(jì)過程中,最小系統(tǒng)的設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的第一步,系統(tǒng)設(shè)計(jì)總是從最小系統(tǒng)開始,逐步向系統(tǒng)應(yīng)用范圍擴(kuò)展,最終以DSP為核心的大系統(tǒng)的設(shè)計(jì)。因此最小系統(tǒng)設(shè)計(jì)DSP設(shè)計(jì)的關(guān)鍵.DSP最小系統(tǒng)的設(shè)計(jì)包括DSP電源和地線的設(shè)計(jì),JTAG仿真口的設(shè)計(jì)、復(fù)位和時(shí)鐘電路的設(shè)計(jì)、上拉和下拉引腳的設(shè)計(jì)等。TMS320C5TMS320C54X鎖相環(huán)電路、指示燈、濾波電路時(shí)鐘復(fù)位電路TPS7333Q電源模塊RAM存儲(chǔ)模塊JTAG仿真電路圖2.1。1最小系統(tǒng)的設(shè)計(jì)芯片介紹(1)該模塊上的資源有32千字FLASH;(2)千字SARAM,544字DARAM,外擴(kuò)64千字的程序ROM,64千字的數(shù)據(jù)RAM;(3)兩個(gè)事件管理器EVA和EVB;(4)可擴(kuò)展外部存儲(chǔ)器總共192K字空間:64K程序存儲(chǔ)器,64K字?jǐn)?shù)據(jù)存儲(chǔ)器空間,64K字I/O尋址空間;(5)看門狗定時(shí)模塊;(6)19位A/D轉(zhuǎn)換器;(7)控制局域網(wǎng)絡(luò)CAN模塊,串行通信接口SCI模塊;(8)16位串行外設(shè)SPI接口模塊;(9)基于鎖相環(huán)的時(shí)鐘發(fā)生器;(10)高達(dá)40個(gè)可單獨(dú)編程或復(fù)用的通用輸入/輸出引腳GPIO;(11)5個(gè)外部中斷;(12)電源管理包括3種低功耗模式,能獨(dú)立地將外設(shè)器件轉(zhuǎn)入低功耗工作模式;2.2原理圖的設(shè)計(jì)DSP最小系統(tǒng)的設(shè)計(jì)包括DSP電源設(shè)計(jì),JTAG仿真口的設(shè)計(jì)、復(fù)位和時(shí)鐘電路的設(shè)計(jì)、上拉和下拉引腳的設(shè)計(jì)等2。2。1電源電路的設(shè)計(jì)電源電路的選擇是系統(tǒng)設(shè)計(jì)的一個(gè)重要的部分,設(shè)計(jì)好壞對(duì)系統(tǒng)的影響最大。首先需要注意的是,為了減少電源噪聲和互相干擾,數(shù)字電路和模擬電路一般要獨(dú)立供電,數(shù)字地和模擬地也要分開,并最終通過一個(gè)磁珠在一點(diǎn)連在一起,用TPS7333Q進(jìn)行3.3V電壓的轉(zhuǎn)換對(duì)最小系統(tǒng)供電圖2.2。1電源電路2.2.2復(fù)位電路設(shè)計(jì)TMS320C54X內(nèi)部帶有復(fù)位電路,因此可以直接RS復(fù)位引腳外面接一個(gè)上拉電阻即可,這對(duì)于簡(jiǎn)化外圍電路,減少電路板尺寸很有用處,但是為了調(diào)試方便經(jīng)常采用手動(dòng)復(fù)位電路.2.2。3鎖相環(huán)電路設(shè)計(jì)圖2。2.3鎖相環(huán)電路2.2。4JTAG口JTAG是JointTestActionGroup的簡(jiǎn)稱,又稱JTAG口,它是一符合IEEEStd1149。1邊界掃描邏輯標(biāo)準(zhǔn)的標(biāo)準(zhǔn)接口.它主要用于在硬件上對(duì)DSP進(jìn)行實(shí)時(shí)在線仿真測(cè)試和DSP程序的下載,它提供對(duì)所連接設(shè)備的邊界掃描,同時(shí)也可以用來測(cè)試引腳到引腳的連續(xù)性,以及進(jìn)一步進(jìn)行DSP芯片的外圍器件的操作測(cè)試.第3章軟件設(shè)計(jì)3.1FFT運(yùn)算及存儲(chǔ)分配(1)DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)方法變得更為方便,由于大多數(shù)DSP芯片都具有在單指令周期內(nèi)完成乘法—-累加的操作,并提供了專門的FFT指令,使得FFT算法在DSP的實(shí)現(xiàn)速度更快。一般,FFT的算法可分為按時(shí)間抽取FFT和按頻率抽取FFT,輸入也有實(shí)數(shù)和復(fù)數(shù)之分,一般情況下都假定輸入是復(fù)數(shù)序列。(2)FFT運(yùn)算序列的存儲(chǔ)分配FFT運(yùn)算時(shí)間是衡量DSP芯片性能的一個(gè)重要指標(biāo),因此提高FFT的運(yùn)算速度是非常重要的。在用DSP芯片實(shí)現(xiàn)FFT算法時(shí),應(yīng)允許利用DSP芯片所提供的各種軟、硬件資源。如何合理的利用DSP芯片的有限資源,合理的安排DSP芯片所提供的存儲(chǔ)空間相當(dāng)關(guān)鍵.本設(shè)計(jì)采用如下所示的存儲(chǔ)分配:圖3。1數(shù)據(jù)空間分配圖3。2設(shè)計(jì)流程圖DSP初始化DSP初始化串口設(shè)置串口設(shè)置AD設(shè)置設(shè)置信號(hào)源類型、頻率幅值、和采樣點(diǎn)數(shù)設(shè)置信號(hào)源類型、頻率幅值、和采樣點(diǎn)數(shù)串口接收,AD采樣串口接收,AD采樣位碼倒置位碼倒置FFT運(yùn)算FFT運(yùn)算功率譜計(jì)算功率譜計(jì)算串口發(fā)送轉(zhuǎn)換結(jié)果串口發(fā)送轉(zhuǎn)換結(jié)果觀看轉(zhuǎn)換結(jié)果,保存數(shù)據(jù)觀看轉(zhuǎn)換結(jié)果,保存數(shù)據(jù)圖3。2程序流程圖第4章系統(tǒng)仿真4.1FFT實(shí)現(xiàn)的方法(1)根據(jù)N值,修改rfft_task.a(chǎn)sm中的兩個(gè)常數(shù),如N=64。K_FFT_SIZE。set64K_LOGN.set6(2)準(zhǔn)備輸入數(shù)據(jù)文件in.dat。輸入數(shù)據(jù)按實(shí)部、虛部,實(shí)部、虛部,……順序存放。(3)匯編、鏈接、仿真執(zhí)行,得到輸出數(shù)據(jù)文件out.dat。(4)根據(jù)out。dat作圖,就可以得到輸入信號(hào)的功率譜圖.當(dāng)N超過1024時(shí),除了修改K_FFT_SIZE和K_LOGN兩個(gè)常數(shù)外,還要增加系數(shù)并且修改rfft_task.cmd命令文件。通過dat(yī)a.pjt完成一個(gè)64點(diǎn)FFT程序,輸入信號(hào)為一正弦波。操作步驟如下:(1)進(jìn)入CCS環(huán)境。(2)打開CCS選擇File—New-SourceFile。(3)編寫源程序代碼。(4)創(chuàng)建工程文件。(5)點(diǎn)擊Project選擇BuildOptions。(6)在彈出的對(duì)話框在設(shè)置相應(yīng)的編譯參數(shù),一般情況下,按默認(rèn)值就可以.(7)在彈出的對(duì)話框中選擇連接的參數(shù)設(shè)置,設(shè)置傳輸文件、堆棧的大小以及初始化的方式。(8)點(diǎn)擊Project—Buildall,對(duì)工程進(jìn)行編譯。(9)點(diǎn)擊File—loadprogram,彈出的對(duì)話框中載入debug文件夾下的.out可執(zhí)行文件。(10)點(diǎn)擊debug-GoMain回到C程序的入口。(11)運(yùn)行程序,觀察結(jié)果。4.2程序運(yùn)行結(jié)果驗(yàn)證輸入數(shù)據(jù)波形,設(shè)置參數(shù):StartAddress=0x2800,Page=Data,AcquisitionBufferSize=64,DisplayDataSize=64,DSPDataType=32-bitsignedinteger點(diǎn)擊OK,就可以看到輸入數(shù)據(jù)波形:圖4.2。1輸入數(shù)據(jù)波形全速運(yùn)行程序,看輸出結(jié)果,設(shè)置波形對(duì)話框參數(shù):StartAddress=0x2c80,Page=Data,AcquisitionBufferSize=64,DisplayDataSize=64,DSPDataType=16-bitsignedinteger點(diǎn)擊OK,就可以看到FFT輸出結(jié)果:圖4.2.2FFT輸出結(jié)果第5章總結(jié)在本次課程設(shè)計(jì)中,我、XXX、XXX三人一組.XXX負(fù)責(zé)硬件設(shè)計(jì)部分,XXX負(fù)責(zé)軟件設(shè)計(jì)部分,我負(fù)責(zé)系統(tǒng)仿真及論文的編寫。在系統(tǒng)仿真時(shí)我們需要在實(shí)驗(yàn)箱上設(shè)置信號(hào)源,信號(hào)源的幅度應(yīng)該設(shè)在1000左右,信號(hào)的頻率設(shè)在300左右,電壓偏移設(shè)為1,通道設(shè)為0。在論文編寫的過程中,我首先對(duì)本次課程設(shè)計(jì)進(jìn)行了總體設(shè)計(jì),然后根據(jù)XXX、XXX和我各自負(fù)責(zé)的內(nèi)容進(jìn)行匯總編排。通過本次課程設(shè)計(jì)我發(fā)現(xiàn)DSP應(yīng)用型很強(qiáng),許多的原理,程序看似簡(jiǎn)單,真正去做才知道知識(shí)并沒有自己想象的那樣扎實(shí).從而懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力.樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。本次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒有弄不懂的知識(shí),收獲頗豐.致謝在此次設(shè)計(jì)中,XX老師作為我的指導(dǎo)老師,至始至終都給予我了不少幫助,從下任務(wù)書開始,就幫我制定規(guī)劃,提醒我應(yīng)注意的問題,借給我資料和實(shí)驗(yàn)器材,和我一起調(diào)程序,并提出了很多的修改意見以及完善方案。此外還認(rèn)真批閱了我的論文,指出其中很多瑕疵和不清晰的地方,更重要的是在我遇到困難時(shí)對(duì)我的鼓勵(lì),讓我不懈怠、不退縮、也讓我更有信心,可以說我的每一點(diǎn)進(jìn)展都與黃老師的付出是分不開的.當(dāng)然還在此,我向身邊關(guān)心我的老師、同學(xué)致以誠(chéng)摯的謝意!有其他老師和同學(xué)都幫了我不少忙,在此不再贅述。謹(jǐn)祝老師們工作順利,萬事如意,桃李滿天下;同學(xué)們學(xué)業(yè)有成,前程似錦!參考文獻(xiàn)[1]戴明楨等編著.TMS320C54XDSP結(jié)構(gòu)原理及應(yīng)用.北京:航空航天大學(xué)出版社,第2版,2007;[2]彭啟琮編著.DSP技術(shù)的發(fā)展與應(yīng)用.北京:高等教育出版社,2002;[3]胡廣書編著.?dāng)?shù)字信號(hào)處理理論、算法與實(shí)現(xiàn)。北京:清華大學(xué)出版社,2005;[4]黃席椿、高順良編著。濾波器綜合法設(shè)計(jì)原理.北京:人民郵電出版社,1978;[5]沈永歡梁在中等編著。實(shí)用數(shù)學(xué)手冊(cè)。北京:科學(xué)出版社,2001;[6]程佩青編著.數(shù)字濾波與快速傅里葉變換.北京:清華大學(xué)出版社,1990;[7]北京合眾達(dá)電子技術(shù)有限公司編著。SEED-DTK系列實(shí)驗(yàn)手冊(cè).北京合眾達(dá)電子技術(shù)有限公司出版,2007.附錄源程序#include”stdio。h"#include”math.h"main(){inti;floatf[256];FILE*fp;if((fp=fopen(”d:\\tms320c54\\fft\\sindata",”wt"))==NULL){printf("can’topenfile!\n");exit(0);}for(i=0;i<=255;i++){f[i]=sin(2*3。1415926*i/256。0);fprintf(fp,"。word%ld\n”,(log)(f[i]*16384));}fclose(fp);}將生成的數(shù)據(jù)文件復(fù)制到目標(biāo)系統(tǒng)存儲(chǔ)器的語句為d_input。copysindata匯編語言程序:.title"fft.asm".mmregs.include"coeff.inc”.include"in.inc”.defstartsine:.usect”sine",512cosine:。usect”cosine”,512fft_data:.usect”fft_data",1024fft_out:.usect"fft_out",512STACK.usect"STACK",10K_DATA_IDX_1.set2K_DATA_IDX_2。set4K_DATA_IDX_3.set8K_TWID_TBL_SIZE.set512K_TWID_IDX_3.set128K_FLY_COUNT_3.set4K_FFT_SIZE.set64K_LOGN.set6PA0.set0.bssd_twid_idx,1.bssd_data_idx,1。bssd_grps_cnt,1.sect”fft_prg”.asgAR2,REORDERED.asgAR3,ORIGINAL_INPUT.asgAR7,DATA_PROC_BUFstart:SSBXFRCTSTM#STACK+10,SPSTM#sine,AR1RPT#511MVPD#sine1,*AR1+STM#cosine,AR1RPT#511MVPDcosine1,*AR1+STM#d_input,ORIGINAL_INPUTSTM#fft_data,DATA_PROC_BUFMVMMDATA_PROC_BUF,REORDEREDSTM#K_FFT_SIZE—1,BRC·RPTBDbit_rev_end—1STM#K_FFT_SIZE,AR0MVDD*ORIGINAL_INPUT+,*REORDERED+MVDD*ORIGINAL_INPUT-,*REORDERED+MAR*ORIGINAL_INPUT+0Bbit_rev_end:.asgAR1,GROUP_COUNTER。asgAR2,PX。asgAR3,QX。asgAR4,WR.asgAR5,WI.a(chǎn)sgAR6,BUTTERFLY_COUNTER.asgAR7,STAGE_(tái)COUNTERSTM#0,BKLD#-1,ASMSTM#fft_data,PXSTM#fft_data+K_DATA_IDX_1,QXSTMK_FFT_SIZE/2-1,BRCLD*PX,16,ARPTBDstage1end—1STM#K_DATA_IDX_1+1,AR0SUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+STB,*QX+||LD*PX,ASUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+0%STB,*QX+0%||LD*PX,Astage1end:STM#fft_data,PXSTM#fft_dat(yī)a+K_DATA_IDX_2,QXSTM#K_FFT_SIZE/4-1,BRCLD*PX,16,ARPTBDstage2end-1STM#K_DATA_IDX_2+1,AR0SUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+STB,*QX+||LD*PX,ASUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+STHB,ASM,*QX+MAR*QX+ADD*PX,*QX,ASUB*PX,*QX-,BSTHA,ASM,*PX+SUB*PX,*QX,ASTB,*QX||LD*QX+,BSTA,*PX||ADD*PX+0%,ASTA,*QX+0%||LD*PX,Astage2end:STM#K_TWID_TBL_SIZE,BKST#K_TWID_IDX_3,d_twid_idxSTM#K_TWID_IDX_3,AR0STM#cosine,WRSTM#sine,WISTM#K_LOGN-2-1,STAGE_COUNTERST#K_FFT_SIZE/8-1,d_grps_cntSTM#K_FLY_COUNT_3-1,BUTTERFLY_COUNTERST#K_DATA_IDX_3,d_data_idxstage:STM#fft_data,PXLDd_data_idx,AADD*(PX),ASTLMA,QXMVDKd_grps_cnt,GROUP_COUNTERgroup:MVMDBUTTERFLY_COUNTER,BRCRPTBDbutterflyend—1LD*WR,TMPY*QX+,AMAC*WI+0%,*QX—,AADDPX,16,A,B;B:=(QR*WR+QI*WI)+PRSTB,*PX;PR’:=((QR*WR+QI*WI)+PR)/2||SUB*PX+,BSTB,*QX||MPY*QX+,AMAS*QX,*WR+0%,AADD*PX,16,A,BSTB,*QX+||SUB*PX,BLD*WR,TSTB,*PX+||MPY*QX+,Abutterflyend:PSHMAR0MVDKd_dat(yī)a_idx,AR0MAR*PX+0MAR*QX+0BANZDgroup,*GROUP_COUNTER—POPMAR0MAR*QX-LDd_data_idx,ASUB#1,A,BSTLMB,BUTTERFLY_COUNTERSTLA,1,d_data_idxLDd_grps_cnt,ASTLA,ASM,d_grps_cntLDd_twid_idx,ASTLA,ASM,d_twid_idxBANZDstage,*STAGE_COUNTER—MVDKd_twid_idx,AR0fft_end:STM#fft_dat(yī)a,AR2STM#fft_dat(yī)a,AR3STM#fft_out,AR4STM#K_FFT_SIZE*2-1,BRCRPTBpower_end-1SQUR*AR2+,ASQURA*AR2+,ASTHA,*AR4+power_end:STM#fft_out,AR4RPT#K_FFT_SIZE-1PORTW*AR4+,PA0NOPNOPhere:Bhere。end連接命令文件:rfft_task.cmd/*SOLUTIONFILEFORfft.cmd*/vectors.objfft.obj-offt.out—mfft。map—estartMEMORY{PAGE0:PARAM:org=100hlen=1000hVECS:org=0FF80Hlen=0080HPAGE1:SPRAM:org=2060hlen=0020hDARAM:org=2200hlen=0600hRAM:org=2800hlen=0c00h}SECTIONS{sine1:>PARAMPAGE0cosine1:>PARAMPAGE0fft_prg:>PARAMPAGE0。bss:〉SPRAMPAGE1sine:align(512){}>DARAMPAGE1cosine:align(512){}>DARAMPAGE1d_input:>RAMPAGE1fft_data:〉RAMPAGE1fft_out:〉RAMPAGE1STACK:〉SPRAMPAGE1.vectors:〉VECSPAGE0}《DSP系統(tǒng)設(shè)計(jì)與應(yīng)用》課程設(shè)計(jì)報(bào)告書題目名稱:基于DSP定時(shí)器的LED控制系統(tǒng)設(shè)計(jì)學(xué)院:機(jī)電工程學(xué)院專業(yè):專電氣工程及其自動(dòng)化班級(jí):2013級(jí)2班學(xué)號(hào)名:指導(dǎo)教師:2016年12月課程設(shè)計(jì)報(bào)告書設(shè)計(jì)目的DSP課程設(shè)計(jì)是深化和提高課程理論知識(shí)的重要途徑之一。以DSP綜合集成與應(yīng)用的基本理論為基礎(chǔ),研究了DSP最小系統(tǒng)設(shè)計(jì)的基本方法,并學(xué)習(xí)了用C語言編寫DSP編程與使用測(cè)試箱及DSP系統(tǒng)的相關(guān)軟件。培養(yǎng)獨(dú)立思考能力;培訓(xùn)分析、總結(jié)和撰寫技術(shù)報(bào)告能力,本次課程設(shè)計(jì)目的在于:(1)學(xué)習(xí)用DSP來控制LED燈的閃亮.(2)學(xué)習(xí)DSP程序的調(diào)試與編寫,利用觀察變量查看程序運(yùn)行。(3)學(xué)習(xí)測(cè)試箱的使用方法。設(shè)計(jì)內(nèi)容及功能說明設(shè)計(jì)內(nèi)容:本次設(shè)計(jì)內(nèi)容為基于DSP定時(shí)器的LED控制系統(tǒng)設(shè)計(jì),具體要求如下:(1)給定電源12V,設(shè)計(jì)供電電路.(2)給定外部晶振30M,系統(tǒng)時(shí)鐘工作在150M,給出寄存器如何配置。(3)利用定時(shí)器定時(shí)1秒,實(shí)現(xiàn)四個(gè)LED燈的秒閃。(4)自主完成發(fā)揮功能。(5)撰寫設(shè)計(jì)報(bào)告。功能說明:本設(shè)計(jì)利用F28335DSP芯片來控制模擬基本的LED閃爍,給予系統(tǒng)額定電壓來保證系統(tǒng)的正常工作,用中斷的方式定時(shí)控制LED燈的集體閃爍頻率。設(shè)計(jì)步驟設(shè)計(jì)步驟設(shè)計(jì)步驟設(shè)計(jì)步驟設(shè)計(jì)步驟步驟一:DSP最小系統(tǒng)分析1。DSP最小系統(tǒng)能夠用于基本的數(shù)字信號(hào)處理,運(yùn)行一些簡(jiǎn)單的程序。此部分主要包括電源電路、復(fù)位電路、時(shí)鐘電路等。2.晶振電路DSP的時(shí)鐘可以有兩種連接方式,即外部振蕩器方式和諧振器方式.如果使用內(nèi)部振蕩器,則必須在X1/XCLKIN和X2兩個(gè)引腳之間連接一個(gè)石英晶體。如果采用外部時(shí)鐘,可將輸入時(shí)鐘信號(hào)直接連到X1/CI.KIN引腳上,X2懸空.本設(shè)計(jì)采用外部晶振,直接選擇一個(gè)3.3V供電的30MHz晶振實(shí)現(xiàn)。系統(tǒng)工作是通過編程選擇5倍頻的PLL功能,可實(shí)現(xiàn)最高工作頻率(150MHz).如圖1所示:圖1晶振電路圖3.復(fù)位電路對(duì)于實(shí)際的DSP應(yīng)用系統(tǒng),特別是產(chǎn)品化的DSP系統(tǒng),其可靠性是一個(gè)不容忽視的問題。由于DSP系統(tǒng)的時(shí)鐘頻率較高,在運(yùn)行時(shí)極有可能發(fā)生干擾和被干擾的現(xiàn)象,嚴(yán)重的系統(tǒng)問題可能出現(xiàn)死機(jī)現(xiàn)象。為了克服這些情況,除了在軟件上做一些保護(hù)措施外硬件上必須做相應(yīng)的處理。硬件上最有效的保護(hù)措施是采用具有看門狗(Watchdog)功能的自動(dòng)復(fù)位電路相結(jié)合的方式。TMS320F28335的復(fù)位輸入引腳XRS為處理器提供了一種硬件初始化的方法,它是一種不可屏蔽的外中斷,可在任何時(shí)候?qū)Γ訫S320F28335進(jìn)行復(fù)位。本設(shè)計(jì)采用了簡(jiǎn)單的RC復(fù)位電路,復(fù)位電路如圖所示2:圖2復(fù)位電路圖4.電源電路F28335DSP采用了雙電源供電機(jī)制,以獲得更好的電源性能,其工作電壓為3.3V和1。8V。其中,1.8V主要為該器件的內(nèi)部邏輯提供電壓,包括CPU和其他所有的外設(shè)邏輯。與3。3V供電相比,1.8V供電大大降低功耗。外部接口引腳仍然采用3.3V電壓,便于直接與外部低壓器件接口,而無需額外的電平變換電路。在本設(shè)計(jì)里我用TI公司的TPS7301單輸出可調(diào)電壓調(diào)節(jié)器作為主器件的電源電路,將12V轉(zhuǎn)換為3.3V和1.9V供給DSP,使系統(tǒng)正常工作。電源電路如圖3所示:圖3電源電路圖步驟二:本次設(shè)計(jì)硬件電路分析1.定時(shí)器中斷的實(shí)現(xiàn)為了實(shí)現(xiàn)定時(shí)器的精確走時(shí)功能,系統(tǒng)利用定時(shí)器0、PIE模塊和CPU中斷共同作用產(chǎn)生定時(shí)器中斷。首先為定時(shí)器0設(shè)置定時(shí)初值,并開啟定時(shí)器使其計(jì)數(shù)。當(dāng)定時(shí)器計(jì)數(shù)器寄存器遞減到零時(shí),定時(shí)器會(huì)產(chǎn)生一個(gè)中斷TINT并將其傳送給PIE外設(shè)中斷模塊,當(dāng)PIE中的中斷時(shí)能位PIEIER被時(shí)能后,PIE會(huì)將這個(gè)中斷傳送給CPU,如果CPU的中斷使能位和INTM被使能,則CPU會(huì)相應(yīng)定時(shí)器0中斷,轉(zhuǎn)而執(zhí)行定時(shí)器0的中斷服務(wù)子程序。2。LED顯示電路在定時(shí)結(jié)束后LED要不停地閃亮,提醒用戶定時(shí)結(jié)束。在本次設(shè)計(jì)中,將一個(gè)發(fā)光二極管的輸入段與電源相連接,輸出與DSP芯片的GPIO4端口相連接,當(dāng)GPIO端口為低電平時(shí),LED點(diǎn)亮。步驟三:CMD文件介紹。text段:存放C程序代碼;.cinit:存放C程序中的變量初值和常量;。stack:為C程序系統(tǒng)堆棧保留存儲(chǔ)空間、用于保存返回地址、函數(shù)間的參數(shù)傳遞、存儲(chǔ)局部變量和保存中間結(jié)果;。bss:為C程序中的全局和靜態(tài)變量保留存儲(chǔ)空間;。const:存放C程序中的字符常量、浮點(diǎn)常量和用.const聲明的常量;.sysmem:用于C程序中的malloc、calloc和realloc函數(shù)動(dòng)態(tài)分配存儲(chǔ)空間;.far:為C程序中用far聲明的全局和靜態(tài)變量保留空間.MEMORY用于定義目標(biāo)存儲(chǔ)器的映射,描述了目標(biāo)系統(tǒng)可以使用的物理存儲(chǔ)地址范圍及其類型。PAGE0為程序存儲(chǔ)空間,起始地址為0x000000包含BEGIN、BOOT_RSVD、RAMM0、RAML0、RAML1、ZONE7A存儲(chǔ)區(qū).PAGE1為數(shù)據(jù)存儲(chǔ)空間,起始地址為0x000400包含了RAMM1、RAML4、RAML5、RAML6、RAML7、ZONE7B存儲(chǔ)區(qū)。SECTIONS用于指示連接器怎樣組合輸入端,以及如何將輸出段定位到存儲(chǔ)器中,用于將COFF目標(biāo)文件中的各個(gè)段定位置MEMORY偽指令定義的存儲(chǔ)區(qū)域。步驟四:流程圖及軟件設(shè)計(jì)1.系統(tǒng)時(shí)鐘的詳細(xì)配置如下PLLSTS[OSCOFF]=0;PLLSTS[PLLOFF]=0;PLLCR[DIV]=1010;PLLSTS[DIVSEL]=2;PLLKCR0的ADCENCLK=0。2.PLL模塊的寄存器鎖相環(huán)模塊的寄存器包括鎖相環(huán)控制寄存器PLLCR和鎖相環(huán)狀態(tài)寄存器PLLSTS,以及外部時(shí)鐘輸出控制寄存器XINTCNF2。其中XINTCNF2用于配置XCLKOUT與SYSCLKOUT的關(guān)系。PLLCR和PLLSTS用于振蕩器和鎖相環(huán)模塊的配置,以產(chǎn)生CPU時(shí)鐘輸入CLKIN,其位分布如下:1540保留DIVPLLCR保留DIVR-0R/W-0保留DIVSEL1598保留DIVSELPLLSTSR-0R/W-076543210DIVSELMCLKOFFOSCOFFMCLKCLRMCLKSTSPLLOFF保留PLLOCKSDIVSELMCLKOFFOSCOFFMCLKCLRMCLKSTSPLLOFF保留PLLOCKSR/W—0R/W-0R/W—0R/W—0R-0R/W—0R—0R/W—0OSCOFF和PLLSTS分別用于振蕩器時(shí)鐘和鎖相環(huán)時(shí)鐘的允許;PLLOCKS為鎖相環(huán)鎖定狀態(tài)標(biāo)志;MCLKOFF、MCLKCLR、和MCLKSTS用于輸入時(shí)鐘失效檢測(cè)。3.流程圖SHAPE\*MERGEFORMAT開始中斷結(jié)束DSP初始化時(shí)鐘初始化中斷向量開始中斷結(jié)束DSP初始化時(shí)鐘初始化中斷向量初始化定時(shí)器執(zhí)行程序等待中斷發(fā)生改變LED燈狀態(tài)YN圖4程序流程圖步驟五:系統(tǒng)調(diào)試及設(shè)計(jì)結(jié)果分析按下電源按鈕,寫入程序,剛開始,4個(gè)LED燈全滅,等待一秒鐘,4個(gè)LED等全亮,如此循環(huán)。測(cè)試結(jié)果成功完課程題目的。效果圖如圖5所示:圖5效果圖設(shè)計(jì)小結(jié)通過這次DSP課程設(shè)計(jì),我覺得學(xué)到了很多東西。它讓我懂得了什么是課程設(shè)計(jì),為我們以后的畢業(yè)設(shè)計(jì)打下了一些基礎(chǔ)。更重要的是通過這次課程設(shè)計(jì),我多少清楚了在以后的工作中我們這個(gè)專業(yè)能做些什么,也為我們以后的工作積累了一些經(jīng)驗(yàn),很有意義.在本次課程設(shè)計(jì)過程中出現(xiàn)了一些不該出現(xiàn)的失誤。一是不會(huì)使用CCS軟件,在同學(xué)的幫助下使用并編寫程序。其二是不能DSP程序燒入試驗(yàn)箱的問題,但是在老師的指導(dǎo)下成功將程序燒入試驗(yàn)箱;之后又遇到DSP程序燒入試驗(yàn)箱后試驗(yàn)箱無反應(yīng),同樣在老師的幫助下完成實(shí)驗(yàn),并在試驗(yàn)箱上得到想要的實(shí)驗(yàn)結(jié)果。通過這次課程報(bào)告,使我更深入的掌握了DSP的許多知識(shí),學(xué)會(huì)了如何讓配置寄存器、系統(tǒng)時(shí)鐘,如何設(shè)計(jì)電源等等很多知識(shí),不僅復(fù)習(xí)了以前所學(xué)過的知識(shí),而且還接觸并學(xué)到了很多書本上沒有的知識(shí)。使我解決問題時(shí)更加冷靜和熟練,遇到不會(huì)知識(shí)的積極查閱相關(guān)資料,并做好筆記。經(jīng)過仔細(xì)調(diào)查確定問題的原因和解決問題的能力有了很大提高。最后,感謝劉老師的幫忙以及同學(xué)之間的相互幫助,使我能順利完成這次課程設(shè)計(jì).評(píng)分標(biāo)準(zhǔn)(一)系統(tǒng)設(shè)計(jì)部分(50分,分三檔,達(dá)不到最低檔的小組需重新設(shè)計(jì)上交)1。完成規(guī)定的全部功能,硬件電路設(shè)計(jì)正確,程序簡(jiǎn)潔、可讀性、邏輯性強(qiáng),較好的演示了全部功能。(50分)2。完成規(guī)定的全部功能,硬件電路設(shè)計(jì)正確,程序較簡(jiǎn)潔、可讀性、邏輯性較強(qiáng),基本演示了全部功能。(45分)3.完成規(guī)定的部分功能,硬件電路設(shè)計(jì)無明顯錯(cuò)誤,程序設(shè)計(jì)無明顯錯(cuò)誤,能夠完成部分功能的演示。(40分)(二)設(shè)計(jì)報(bào)告撰寫情況(45分)1。態(tài)度認(rèn)真,報(bào)告內(nèi)容充實(shí)、撰寫規(guī)范.(20分)2.對(duì)所做設(shè)計(jì)進(jìn)行了詳細(xì)的介紹,語言組織精煉,測(cè)試數(shù)據(jù)記錄準(zhǔn)確.(25分)(三)發(fā)揮部分(5分)在完成規(guī)定功能的基礎(chǔ)上,有創(chuàng)新性功能設(shè)計(jì)個(gè)人,獲得此項(xiàng)成績(jī).總分任課教師簽字審核人簽字附錄:附錄A:實(shí)物圖圖A圖B附錄B:CMD文件MEMORY{PAGE0:BEGIN:origin=0x000000,length=0x000002BOOT_RSVD:origin=0x000002,length=0x00004ERAMM0:origin=0x000050,length=0x0003B0RAML0:origin=0x008000,length=0x001000RAML1:origin=0x009000,length=0x002000ZONE7A:origin=0x200000,length=0x00FC00CSM_RSVD:origin=0x33FF80,length=0x000076CSM_PWL:origin=0x33FFF8,length=0x000008ADC_CAL:origin=0x380080,length=0x000009RESET:origin=0x3FFFC0,length=0x000002IQTABLES:origin=0x3FE000,length=0x000b50IQTABLES2:origin=0x3FEB50,length=0x00008cFPUTABLES:origin=0x3FEBDC,length=0x0006A0BOOTROM:origin=0x3FF27C,length=0x000D44PAGE1:RAMM1:origin=0x000400,length=0x000400RAML4:origin=0x00B000,length=0x002000RAML5:origin=0x00D000,length=0x001000RAML6:origin=0x00E000,length=0x001000RAML7:origin=0x00F000,length=0x001000ZONE7B:origin=0x20FC00,length=0x00040}SECTIONS{codestart:>BEGIN,PAGE=0ramfuncs:>RAML0,PAGE=0.text:〉RAML1,PAGE=0.cinit:>RAML0,PAGE=0.pinit:〉RAML0,PAGE=0。switch:〉RAML0,PAGE=0.stack:>RAMM1,PAGE=1.ebss:〉RAML4,PAGE=1.econst:>RAML5,PAGE=1。esysmem:>RAMM1,PAGE=1IQmath:〉RAML1,PAGE=0IQmat(yī)hTables:>IQTABLES,PAGE=0,TYPE=NOLOADIQmathTables2:>IQTABLES2,PAGE=0,TYPE=NOLOADFPUmathTables:〉FPUTABLES,PAGE=0,TYPE=NOLOADDMARAML4:>RAML4,PAGE=1DMARAML5:〉RAML5,PAGE=1DMARAML6:>RAML6,PAGE=1DMARAML7:>RAML7,PAGE=1ZONE7DATA:>ZONE7B,PAGE=1。reset:>RESET,PAGE=0,TYPE=DSECTcsm_rsvd:>CSM_RSVDPAGE=0,TYPE=DSECTcsmpasswds:>CSM_PWLPAGE=0,TYPE=DSECT.adc_cal:load=ADC_CAL,PAGE=0,TYPE=NOLOAD}附錄C:源程序#include"DSP2833x_Device.h"#include"DSP2833x_Examples.h”interruptvoidzz(void);#defineLED(*(unsignedshortint*)0x180000)#defineSRAM_Base_Adress?0x100000voidmain(void){InitSysCtrl();InitXintf16Gpio();DINT;InitPieCtrl();InitPieVectTable();EALLOW;IER=0x0000;IFR=0x0000;PieVectTable.TINT0=&zz;EDIS;InitCpuTimers();ConfigCpuTimer(&CpuTimer0,150,1000000);CpuTimer0Regs。TCR。all=0x4001;IER|=M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7=1;EINT;ERTM;LED=0xff;for(;;);?}interruptvoidzz(void){LED=~LED;PieCtrlRegs。PIEACK.all=PIEACK_GROUP1;}CadenceSPB基于DSP的語音處理系統(tǒng)的設(shè)計(jì)摘要近年來,隨著DSP技術(shù)的普及和低價(jià)格、高性能DSP芯片的出現(xiàn),DSP已越來越多地被廣大的工程師所接受越來越廣泛地被應(yīng)用于各個(gè)領(lǐng)域,并且已日益顯示出其巨大的優(yōu)越性。DSP是利用專門或通用的數(shù)字信號(hào)處理芯片,以數(shù)字計(jì)算的方法對(duì)信號(hào)進(jìn)行處理,具有處理速度快、靈活、精確、抗干擾能力強(qiáng)、體積小及可靠性高等優(yōu)點(diǎn),滿足了對(duì)信號(hào)快速、精確、實(shí)時(shí)處理及控制的要求.本次設(shè)計(jì)基于TLV320AIC23和TMS320VC5416兩種芯片設(shè)計(jì)并實(shí)現(xiàn)了一種語音錄音、語音編碼、語音解碼、語音處理和回放的系統(tǒng)。通過軟件和硬件結(jié)合對(duì)該系統(tǒng)進(jìn)行設(shè)計(jì),使本次設(shè)計(jì)的語音處理系統(tǒng)具有強(qiáng)大的數(shù)據(jù)處理能力并配有靈活的接口電路,可以作為一種語音信號(hào)處理算法研究和實(shí)時(shí)實(shí)現(xiàn)的通用平臺(tái),對(duì)語音編碼在DSP上的實(shí)時(shí)實(shí)現(xiàn)進(jìn)行了簡(jiǎn)單的研究,從而掌握了算法移植的一般流程,為能夠在高速DSP硬件平臺(tái)設(shè)計(jì)及系統(tǒng)應(yīng)用開發(fā)方面取得成功奠定基礎(chǔ).關(guān)鍵詞:DSP;數(shù)據(jù)采集;TLV320AIC23;TMS320VC5416。目錄摘要I第1章緒論11。1DSP的發(fā)展及應(yīng)用11.2語音信號(hào)處理系統(tǒng)概述2第2章DSP芯片介紹32。1TLV320AIC23簡(jiǎn)介32.2TMS320VC5416簡(jiǎn)介3第3章系統(tǒng)設(shè)計(jì)43。1系統(tǒng)硬件設(shè)計(jì)43.1。1系統(tǒng)結(jié)構(gòu)框圖43.1.2DSP處理器53。1.3A/D電路53.1.4D/A電路73。2系統(tǒng)軟件設(shè)計(jì)103。2.1TMS320VC5416初始化103.2.2TLV320AIC23初始化10第4章總結(jié)11參考文獻(xiàn)12致謝13附錄14第1章緒論近年來,在數(shù)字信號(hào)處理領(lǐng)域有著絕對(duì)優(yōu)勢(shì)的DSP技術(shù)得到了迅速發(fā)展,不僅在通信計(jì)算機(jī)領(lǐng)域大顯身手,并已逐漸滲透到人們?nèi)粘OM(fèi)領(lǐng)域。正因?yàn)槿绱?,DSP應(yīng)用越來越得到普遍重視。DSP作為可編程數(shù)字信號(hào)處理專用芯片是微型計(jì)算機(jī)發(fā)展的一個(gè)重要分支,也是數(shù)字信號(hào)處理理論實(shí)用化過程的重要技術(shù)工具。DSP器件分為兩大類:一類是專門用于FFT、FIR濾波、卷積等運(yùn)算的芯片,稱為專用DSP器件;另一類是可以通過編程完成各種用戶要求的信息處理任務(wù)的芯片,稱為通用數(shù)字信號(hào)處理器件。1.1DSP的發(fā)展及應(yīng)用最初的DSP器件只是被設(shè)計(jì)用以完成復(fù)雜數(shù)字信號(hào)處理算法。這可以追溯到20世紀(jì)50年代到60年代,那時(shí)數(shù)字信號(hào)處理技術(shù)剛剛起步。由于一般的數(shù)字信號(hào)處理算法運(yùn)算量大,因此,算法只能在大型計(jì)算機(jī)上進(jìn)行模擬仿真,無法實(shí)現(xiàn)數(shù)字信號(hào)處理。60年代中期,快速傅里葉算法的出現(xiàn)及大規(guī)模集成電路的發(fā)展,奠定了硬件完成數(shù)字信號(hào)處理算法和數(shù)字信號(hào)處理理論實(shí)用化的重要技術(shù)基礎(chǔ),從而促進(jìn)了近40年來DSP技術(shù)與器件的飛速發(fā)展。通用DSP器件的發(fā)展可分為三個(gè)階段:第一階段(1980年前后),DSP雛形階段.第二階段(1990年前后),DSP的成熟階段。第三階段(2000年以后),DSP的完善階段。目前,DSP的發(fā)展非常迅速。硬件結(jié)構(gòu)方面主要是向多處理器的并行處理結(jié)構(gòu)、便于外部數(shù)據(jù)交換的串行總線傳輸、大容量片上RAM和ROM、程序加密、增加I/O驅(qū)動(dòng)能力、外圍電路內(nèi)裝化、低功耗等方面發(fā)展。軟件方面主要是綜合開發(fā)平臺(tái)的完善,使DSP的應(yīng)用開發(fā)更加靈活方便。目前,DSP芯片的價(jià)格越來越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。DSP芯片的主要應(yīng)用:①信號(hào)處理——數(shù)字濾波,自適應(yīng)濾波,快速傅里葉變換,相關(guān)運(yùn)算,頻譜分析,卷積,波形產(chǎn)生等;②語音處理——語音編碼,語音識(shí)別,語音合成,文本—語音轉(zhuǎn)換等;③圖象圖形處理——三維圖形轉(zhuǎn)換,機(jī)器人視覺,圖象轉(zhuǎn)換及壓縮,模式識(shí)別,圖象增強(qiáng)等;④控制——司服控制,機(jī)器人控制,自適應(yīng)控制,神經(jīng)網(wǎng)絡(luò)控制等;⑤軍事——保密通信,雷達(dá)及聲音信號(hào)處理,導(dǎo)航及制導(dǎo),調(diào)制解調(diào),全球定位,搜索與跟蹤等;⑥儀器儀表--頻譜分析,函數(shù)發(fā)生器,模態(tài)分析,暫態(tài)分析等;⑦通訊-—回音相消,高速調(diào)制解調(diào)器,數(shù)字編碼與解碼,自適應(yīng)均衡,移動(dòng)電話,擴(kuò)展通訊,噪音對(duì)消,網(wǎng)絡(luò)通訊等;⑧消費(fèi)電子-—高清晰度電視,音樂合成器,智能玩具,游戲等;⑨醫(yī)學(xué)——助聽器,病員監(jiān)控,超聲波設(shè)備,自動(dòng)診斷設(shè)備,胎兒監(jiān)控等。1.2語音信號(hào)處理系統(tǒng)概述語音處理在現(xiàn)代通信中應(yīng)用非常廣泛,主要有語音編碼、語音識(shí)別、語音合成、語音郵件、語音存儲(chǔ)等.典型的語音處理系統(tǒng)如下圖1.1所示:圖1.1典型的語音處理系統(tǒng)圖中的輸入信號(hào)可以有各種各樣的形式。例如,它可以是麥克風(fēng)輸入的語音信號(hào)或是電話線已調(diào)的數(shù)據(jù)信號(hào),可以是編碼后在數(shù)字鏈路上傳輸或存儲(chǔ)在計(jì)算機(jī)里德攝像機(jī)圖象信號(hào)等.輸入信號(hào)首先進(jìn)行帶限濾波和抽樣,然后進(jìn)行A/D變換將信號(hào)變成數(shù)字比特流.根據(jù)奈奎斯特抽樣定理,為保證信息不丟失,抽樣頻率至少是輸入帶限信號(hào)最高頻率的2倍.DSP芯片的輸入是A/D變換后得到的以抽樣形式表示的數(shù)字信號(hào).DSP芯片對(duì)輸入的數(shù)字信號(hào)進(jìn)行某種處理。數(shù)字處理是DSP系統(tǒng)的關(guān)鍵,這與其它系統(tǒng)(如電話交換系統(tǒng))有很大的不同。在交換系統(tǒng)中,處理器的作用是進(jìn)行路由選擇,它并不對(duì)輸入數(shù)據(jù)進(jìn)行修改.因此兩者雖然都是實(shí)時(shí)系統(tǒng),但兩者的實(shí)時(shí)約束條件卻有很大不同.最后,經(jīng)過處理后的數(shù)字樣值再經(jīng)D/A變換轉(zhuǎn)換為模擬樣值。之后進(jìn)行內(nèi)插和平滑濾波就會(huì)得到連續(xù)的模擬波形。上面給出的典型的DSP語音處理系統(tǒng),根據(jù)不同的用途應(yīng)有不同的變動(dòng)。第2章DSP芯片介紹2。1TLV320AIC23簡(jiǎn)介TLV320AIC23(簡(jiǎn)稱AIC23)是TI公司的一款高性能Codec芯片。主要特性有:內(nèi)置耳機(jī)輸出放大器,支持MIC和LINEIN兩種輸入方式(二選一).且對(duì)輸入和輸出都具有可編程增益調(diào)節(jié);芯片中的A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器采用多位的Sigma-Delta技術(shù),數(shù)據(jù)傳輸字長(zhǎng)為16、20、24、32bit,采樣率為8kHz~96kHz;在采樣率為96kHz情況下A/D轉(zhuǎn)換器信噪比達(dá)到90dB,D/A轉(zhuǎn)換器達(dá)到100dB;回放模式下功率為23mW,省電模式下更是小于15uW;只占用25mm的面積。基于上述優(yōu)點(diǎn),AIC23是可移動(dòng)的數(shù)字音頻播放和錄音使用中的模擬輸入輸出等應(yīng)用系統(tǒng)的理想選擇,例如MP3播放器等。2.2TMS320VC5416簡(jiǎn)介TMS320VC5416(以下簡(jiǎn)稱VC5416)是TI公司的一款16bit定點(diǎn)高性能DSP,是TMS320VC54x系列中的第3代芯片。主要特性有:速率最高達(dá)160MI/s;3條16bit數(shù)據(jù)存儲(chǔ)器總線和1條程序存儲(chǔ)器總線;1個(gè)40bit桶形移位器和2個(gè)40bit累加器;1個(gè)17×17乘法器和1個(gè)40bit專用加法器;最大8M×16bit的擴(kuò)展尋址空間,內(nèi)置128k×16bit的RAM和16k×16bit的ROM;3個(gè)多通道緩沖串口(McBSP);配有PCM3002,可對(duì)語音進(jìn)行A/D和D/A轉(zhuǎn)換。由于VC5416功耗低,性能高,其分開的數(shù)據(jù)和指令空間使該芯片具有高度的并行操作能力,在單周期內(nèi)允許指令和數(shù)據(jù)同時(shí)存取,再加上高度優(yōu)化的指令集,使得該芯片具有很高的運(yùn)算速度并且該芯片本身具有豐富的片內(nèi)存儲(chǔ)器資源和多種片上外設(shè),因此在工程界得到廣泛應(yīng)用,尤其是在語音編碼和通信應(yīng)用方面。第3章系統(tǒng)設(shè)計(jì)3.1系統(tǒng)硬件設(shè)計(jì)3.1.1系統(tǒng)結(jié)構(gòu)框圖音頻系統(tǒng)應(yīng)該具有較寬的動(dòng)態(tài)范圍,選擇16~24位的ADC和DAC能完全捕獲或恢復(fù)高保真的音頻信號(hào)。系統(tǒng)的核心芯片(DSP)選用美國(guó)TI公司的TMS320VC5402[1](以下簡(jiǎn)稱C5402)。DSP芯片模塊是整個(gè)實(shí)時(shí)語音處理系統(tǒng)的核心部分,它對(duì)經(jīng)數(shù)字化的信號(hào)進(jìn)行壓縮,編解碼等.A/D轉(zhuǎn)換模塊功能是把模擬信號(hào)數(shù)字化,包括采集和量化,這部分為DSP處理語音數(shù)字信號(hào)做好了準(zhǔn)備;D/A轉(zhuǎn)換模塊就是把數(shù)字信號(hào)轉(zhuǎn)換為模擬的信號(hào),輸出音頻信號(hào)。SDRAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)存儲(chǔ)器模塊主要是為DSP處理器擴(kuò)展存儲(chǔ)容量,達(dá)到要求的存儲(chǔ)容量;但要注意的是要與DSP處理器的速度相匹配,以便良好的運(yùn)行。電源模塊是為內(nèi)部芯片及周邊系統(tǒng)電路提供能量的部分。系統(tǒng)結(jié)構(gòu)框圖圖3.1如下所示:圖3。1系統(tǒng)結(jié)構(gòu)框圖3。1.2DSP處理器作為DSP家族高性價(jià)比代表的16位定點(diǎn)DSP芯片,C5402適用于語音通信等實(shí)時(shí)嵌入應(yīng)用場(chǎng)合。與其它C54X芯片一樣,C5402具有高度靈活的可操作性和高速的處理能力。其性能特點(diǎn)如下:操作速率可達(dá)100MIPS;具有先進(jìn)的多總線結(jié)構(gòu),三條16位數(shù)據(jù)存儲(chǔ)器總線和一條程序存儲(chǔ)器總線;40位算術(shù)邏輯單元(ALU),包括一個(gè)40位桶形移位器和兩個(gè)40位累加器;一個(gè)17×17乘法器和一個(gè)40位專用加法器,允許16位帶/不帶符號(hào)的乘法;整合維特比加速器,用于提高維特比編譯碼的速度;單周期正規(guī)化及指數(shù)譯碼;8個(gè)輔助寄存器及一個(gè)軟件棧,允許使用業(yè)界最先進(jìn)的定點(diǎn)DSPC語言編譯器;數(shù)據(jù)/程序?qū)ぶ房臻g為1M×16bit,內(nèi)置4K×16bitROM和16k×16bitRAM;內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)(PLL)時(shí)鐘產(chǎn)生器、兩個(gè)多通道緩沖串口、一個(gè)與外部處理器通信的8位并行HPI口、兩個(gè)16位定時(shí)器以及6通道DMA控制器且低功耗。與C54X系列的其它芯片相比,5402具有高性能、低功耗和低價(jià)格等特點(diǎn)。它采用6級(jí)流水線,且當(dāng)RPT(重復(fù)指令)時(shí),一些多周期的指令就變成了單周期的指令;芯片內(nèi)部RAM和ROM可根據(jù)PMST寄存器中的OVLY和DROM位靈活設(shè)置。這些都有利于算法的優(yōu)化。C5402采用3.3V和1.8V電源供電,其中I/O采用3.3V電源供電,芯片的核采
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合股開餐廳合同范本
- 衛(wèi)生清潔合同范本
- 勞務(wù)派遣合同范本2003
- 個(gè)人供貨客戶合同范本
- 合股認(rèn)購(gòu)合同范本
- 合伙協(xié)議書范本合同范本
- 叉車工聘用合同范本
- 員工合同范例送水
- 傳單兼職人員合同范本
- 劇組財(cái)務(wù)合同范本
- 食品安全、消防安全、交通安全
- 建筑施工企業(yè)新員工三級(jí)安全教育培訓(xùn)
- 變頻器實(shí)訓(xùn)報(bào)告
- 機(jī)電設(shè)備安裝與調(diào)試技術(shù)教案
- 無人機(jī)團(tuán)體培訓(xùn)課件
- TGDCMA 022-2024 信用園區(qū)評(píng)價(jià)規(guī)范
- 以諾書-中英對(duì)照
- 2024年中職高考數(shù)學(xué)計(jì)算訓(xùn)練 專題11 平面向量的基本計(jì)算(含答案解析)
- 《2023版CSCO鼻咽癌診療指南》解讀課件
- 智能建造施工技術(shù) 課件全套 王春林 項(xiàng)目1-11 智能建造施工概論- 外墻保溫與建筑施工碳排放計(jì)算
- 全國(guó)職業(yè)院校技能大賽高職組(法律實(shí)務(wù)賽項(xiàng))考試題及答案
評(píng)論
0/150
提交評(píng)論