資源描述:
《基于fpga的濾波器設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、目錄摘要1第1章系統(tǒng)設(shè)計(jì)21.1離散傅里葉變換DFT21.2快速傅里葉變換FFT2第2章硬件設(shè)計(jì)62.1設(shè)計(jì)程序流程圖62.2TMS320C6000芯片及參數(shù)設(shè)置6第3章軟件設(shè)計(jì)83.1N的參數(shù)設(shè)置83.2CMD源文件代碼:8第4章實(shí)驗(yàn)結(jié)果134.1在CCS環(huán)境下加載、調(diào)試源程序134.2實(shí)驗(yàn)結(jié)果174.3實(shí)驗(yàn)結(jié)果分析18總結(jié)19參考文獻(xiàn)19摘要本次課程設(shè)計(jì)主要運(yùn)用CCS這一工具實(shí)現(xiàn)快速傅里葉變換(FFT)。CCS(CodeComposerStudio)是一種針對(duì)TM320系列DSP的集成開(kāi)發(fā)環(huán)境,在Windo
2、ws操作系統(tǒng)下,采用圖形接口界面,提供環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具,可以幫助用戶在一個(gè)軟件環(huán)境下完成編輯、編譯、鏈接、調(diào)試和數(shù)據(jù)分析等工作。CCS有兩種工作模式,即軟件仿真器和硬件在線編程。軟件仿真器工作模式可以脫離DSP芯片,在PC上模擬DSP的指令集和工作機(jī)制,主要用于前期算法實(shí)現(xiàn)和調(diào)試。硬件在線編程可以實(shí)時(shí)運(yùn)行在DSP芯片上,與硬件開(kāi)發(fā)板相結(jié)合進(jìn)行在線編程和調(diào)試應(yīng)用程序。關(guān)鍵詞:CCS;快速傅里葉變換(FFT);19第1章系統(tǒng)設(shè)計(jì)快速傅里葉變換FFT快速傅里葉變換(FFT)是一種高效實(shí)
3、現(xiàn)離散傅里葉變換(DFT)的快速算法,是數(shù)字信號(hào)處理中最為重要的工具之一,它在聲學(xué),語(yǔ)音,電信和信號(hào)處理等領(lǐng)域有著廣泛的應(yīng)用。1.1離散傅里葉變換DFT對(duì)于長(zhǎng)度為N的有限長(zhǎng)序列x(n),它的離散傅里葉變換(DFT)為(1)式中,,稱為旋轉(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
4、所需要的計(jì)算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制。1.2.快速傅里葉變換FFT旋轉(zhuǎn)因子WN有如下的特性。對(duì)稱性:周期性:利用這些特性,既可以使DFT中有些項(xiàng)合并,減少了乘法積項(xiàng),又可以將長(zhǎng)序列的DFT分解成幾個(gè)短序列的DFT。FFT就是利用了旋轉(zhuǎn)因子的對(duì)稱性和周期性來(lái)減少運(yùn)算量的。FFT的算法是將長(zhǎng)序列的DFT分解成短序列的DFT。例如:N19為偶數(shù)時(shí),先將N點(diǎn)的DFT分解為兩個(gè)N/2點(diǎn)的DFT,使復(fù)數(shù)乘法減少一半:再將每個(gè)N/2點(diǎn)的DFT分解成N/4點(diǎn)的DFT,使復(fù)數(shù)乘又減少一半,繼續(xù)進(jìn)行分解可以
5、大大減少計(jì)算量。最小變換的點(diǎn)數(shù)稱為基數(shù),對(duì)于基數(shù)為2的FFT算法,它的最小變換是2點(diǎn)DFT。一般而言,F(xiàn)FT算法分為按時(shí)間抽取的FFT(DITFFT)和按頻率抽取的FFT(DIFFFT)兩大類。DITFFT算法是在時(shí)域內(nèi)將每一級(jí)輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。而DIFFFT算法是在頻域內(nèi)將每一級(jí)輸入序列依次奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,得算法是一樣的。在DIFFFT算法中,旋轉(zhuǎn)因子 出現(xiàn)在輸入端,而在DIFFFT算法中它出現(xiàn)在輸入端。假定序列x(n)的點(diǎn)數(shù)N是2的
6、冪,按照DIFFFT算法可將其分為偶序列和奇序列。偶序列:奇序列:則x(n)的DFT表示為由于,則(3)式可表示為19式中,和分別為和的N/2的DFT。由于對(duì)稱性,則。因此,N點(diǎn)可分為兩部分:前半部分:(4)后半部分:(5)從式(4)和式(5)可以看出,只要求出0~N/2-1區(qū)間和的值,就可求出0~N-1區(qū)間的N點(diǎn)值。以同樣的方式進(jìn)行抽取,可以求得N/4點(diǎn)的DFT,重復(fù)抽取過(guò)程,就可以使N點(diǎn)的DFT用上組2點(diǎn)的DFT來(lái)計(jì)算,這樣就可以大減少運(yùn)算量?;?DIFFFT的蝶形運(yùn)算如圖(a)所示。設(shè)蝶形輸入為和,輸出為
7、和,則有(6)(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總共有個(gè)蝶形運(yùn)算。-1圖1.1基2DIFFFT的蝶形運(yùn)算19例如:基數(shù)為2的FFT,當(dāng)N=8時(shí),共需要3級(jí),12個(gè)基2DITFFT的蝶形運(yùn)算。其信號(hào)流程如圖(b)所示。圖1.28點(diǎn)基2DIFFFT蝶形運(yùn)算從圖(b)可以看出,輸入是經(jīng)過(guò)比特反轉(zhuǎn)的倒位序列,稱為位碼倒置,其排列順序?yàn)?。輸出是按自然順序排列,其順序?yàn)椤?9第2章硬件設(shè)計(jì)2.1設(shè)計(jì)程序流程圖圖2.1設(shè)計(jì)程序流程圖2.2TMS320C60
8、00芯片及參數(shù)設(shè)置 TMS320C6000系列DSP是TI公司推向市場(chǎng)的高性能DSP,綜合了目前性價(jià)比高、功耗低等優(yōu)點(diǎn)。TMS320C64系列提高了時(shí)鐘頻率,在體系結(jié)構(gòu)上采用了VelociTI甚長(zhǎng)指令集VLIW(VeryLongInstructionWord)結(jié)構(gòu)[5],芯片內(nèi)有8個(gè)獨(dú)立功能單元的內(nèi)核,每個(gè)周期可以并行執(zhí)行8條32bit指令,最大峰值速度為4800MIPS,2組共64