freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

dsp課程設(shè)計(jì)報(bào)告--fft的dsp實(shí)現(xiàn)(已修改)

2025-01-29 11:26 本頁面
 

【正文】 DSP原理及應(yīng)用課程設(shè)計(jì)DSP原理及應(yīng)用課程設(shè)計(jì)報(bào)告——FFT的DSP實(shí)現(xiàn)一、設(shè)計(jì)目的加深對DFT算法原理和基本性質(zhì)的理解;了解并學(xué)習(xí)使用FFT算法,以及其在TMS320C54X上的運(yùn)用;學(xué)習(xí)DSP中FFT的設(shè)計(jì)和編程思想;練習(xí)使用CCS的探針和圖形工具來觀察器觀察波形和頻譜情況。二、設(shè)計(jì)內(nèi)容用C語言及匯編語言進(jìn)行編程,實(shí)現(xiàn)FFT運(yùn)算,對于C語言,實(shí)現(xiàn)8點(diǎn)和16點(diǎn)的FFT運(yùn)算,對于匯編語言,需調(diào)試出8點(diǎn)的FFT運(yùn)算結(jié)果。三、設(shè)計(jì)原理 快速傅里葉變換(FFT)是一種高效實(shí)現(xiàn)離散傅里葉變換(DFT)的快速算法,是數(shù)字信號處理中最為重要的工具之一,它在聲學(xué),語音,電信和信號處理等領(lǐng)域有著廣泛的應(yīng)用。離散傅里葉變換DFT對于長度為N的有限長序列x(n),它的離散傅里葉變換(DFT)為 (1) 式中, ,稱為旋轉(zhuǎn)因子或蝶形因子。 從DFT的定義可以看出,在x(n)為復(fù)數(shù)序列的情況下,對某個(gè)k值,直接按(1)式計(jì)算X(k) 只需要N次復(fù)數(shù)乘法和(N1)次復(fù)數(shù)加法。因此,對所有N個(gè)k值,共需要N2次復(fù)數(shù)乘法和N(N1)次復(fù)數(shù)加法。對于一些相當(dāng)大有N值(如1024點(diǎn))來說,直接計(jì)算它的DFT所需要的計(jì)算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制??焖俑道锶~變換FFT旋轉(zhuǎn)因子WN 有如下的特性:對稱性: 周期性:利用這些特性,既可以使DFT中有些項(xiàng)合并,減少了乘法積項(xiàng),又可以將長序列的DFT分解成幾個(gè)短序列的DFT。FFT就是利用了旋轉(zhuǎn)因子的對稱性和周期性來減少運(yùn)算量的。FFT的算法是將長序列的DFT分解成短序列的DFT。例如:N為偶數(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)行分解可以大大減少計(jì)算量。最小變換的點(diǎn)數(shù)稱為基數(shù),對于基數(shù)為2的FFT算法,它的最小變換是2點(diǎn)DFT。一般而言,F(xiàn)FT算法分為按時(shí)間抽取的FFT(DIT FFT)和按頻率抽取的FFT(DIF FFT)兩大類。DIF FFT算法是在時(shí)域內(nèi)將每一級輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算,而DIF FFT算法是在頻域內(nèi)將每一級輸入序列依次奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,但算法是一樣的。在DIF FFT算法中,旋轉(zhuǎn)因子出現(xiàn)在輸入端,而在DIF FFT算法中它出現(xiàn)在輸入端。假定序列x(n)的點(diǎn)數(shù)N是2的冪,按照DIF FFT算法可將其分為偶序列和奇序列,記偶序列為 ,奇序列為,則x(n)的FFT表示為 由于 ,則(3)式可表示為 式中, 和分別為和的N/2的DFT。 由于對稱性,則。因此,N點(diǎn)可分為兩部分:前半部分: (4)后半部分: (5)從式(4)和式(5)可以看出,只要求出0~N/21區(qū)間和的值,就可求出0~N1區(qū)間的N點(diǎn)值。以同樣的方式進(jìn)行抽取,可以求得N/4點(diǎn)的DFT,重復(fù)抽取過程,就可以使N點(diǎn)的DFT用上組2點(diǎn)的 DFT來計(jì)算,這樣就可以大減少運(yùn)算量。在基數(shù)為2的FFT中,設(shè)N=2M,共有M級運(yùn)算,每級有N/2個(gè)2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有MN/2個(gè)蝶形運(yùn)算。蝶形運(yùn)算如圖1所示。圖1 蝶形運(yùn)算設(shè)蝶形輸入為和,輸出為和,則有 (6) (7)在基數(shù)為2的FFT中,設(shè)N=2M,共有M級運(yùn)算,每級有N/2個(gè)2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有個(gè)蝶形運(yùn)算。例如:基數(shù)為2的FFT,當(dāng)N=8時(shí),共需要3級,12個(gè)基2 DIT FFT的蝶形運(yùn)算。其信號流程如圖2所示。 圖2 8點(diǎn)基2 DIF FFT蝶形運(yùn)算從圖2可以看出,輸入是經(jīng)過比特反轉(zhuǎn)的倒位序列,稱為位碼倒置,其排列順序?yàn)?。輸出是按自然順序排列,其順序?yàn)椤FT運(yùn)算的實(shí)現(xiàn)(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è)功能塊,即第一級蝶形運(yùn)算、第二級蝶形運(yùn)算、第三級至log2N級蝶形運(yùn)算。隊(duì)以任何一個(gè)2的整數(shù)冪N=2^M,總可以通過M次分解后最后成為二點(diǎn)的DFT運(yùn)算。通過這樣的M次分解,可以構(gòu)成M級迭代計(jì)算,每級由N/2個(gè)蝶形運(yùn)算完成。(4)輸出FFT結(jié)果FFT算法的程序流程圖如下圖所示。開始設(shè)定輸入序列求出蝶形運(yùn)算級數(shù)m=3循環(huán)mm=1到3級蝶形運(yùn)算求該級旋轉(zhuǎn)因子下標(biāo)Nm循環(huán)該級1到2mm1組蝶形運(yùn)算循環(huán)該組1到23mm個(gè)蝶形運(yùn)算計(jì)算一個(gè)蝶形運(yùn)算單元序列倒序后繪圖結(jié)束YYYNNN圖3 FFT運(yùn)算的程序流程圖四、基于C語言的FFT算法include include include include define PI define SAMPLENUMBER 16void MakeWave()。int INPUT[SAMPLENUMBER]。struct px{float real,imag。}。 struct px EE(struct px,struct px)。 struct px xin[SAMPLENUMBER]。struct px fWave[SAMPLENUMBER]。float y[SAMPLENUMBER],data[SAMPLENUMBER]。struct px EE(struct px b1,struct px b2){ struct px b3。 =**。 =*+*。 return(b3)。}main(){ int i。 MakeWave()。 for ( i=0。iSAMPLENUMBER。i++ ) { fWave[i].real=INPUT[i]。 fWave[i].imag=。 y[i]=。 } FFT(fWave)。 for ( i=0。iSAMP
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1