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

正文內(nèi)容

快速傅里葉變換fft的計算機實現(xiàn)_信號與系統(tǒng)課程設(shè)計論文-資料下載頁

2025-08-18 12:53本頁面

【導(dǎo)讀】變換來驗證FFT變換結(jié)果的正確性。時域信號的輸入有兩種方式:一種是依次輸入時。然后進行DFT變換和FFT變換,兩者結(jié)果應(yīng)該是。DFT變換的實現(xiàn)直接脫胎于定義,F(xiàn)FT變換采用的是基2時間抽取算法,用。的應(yīng)用打下基礎(chǔ)。這些函數(shù)的各種形式的組合都統(tǒng)一起來進行研究的。而進行傅里葉變換之后,我們就能很好達到。道這個信號在時間軸上每一點的值,缺一不可。傅里葉變換之后,依然是一個疊加的問題,只不。同時,若原信號是周期性的,那該信號在頻率軸上將只占據(jù)有限個點,分析難度更是大大。對于時域信號來說,頻率含量就是信號被分成的正弦波簇所確定的所有頻率分量。式中,N是正整數(shù),kA是正弦波的振幅,k?振幅和相信的相位所確定。表達式(1-2)叫做周期信號()xt的三角傅里葉級數(shù)。這是周期信號的重。是“表現(xiàn)良好”的和絕對可積的,那么積分就是收斂的?!氨憩F(xiàn)良好”就是信號在任何有限的時間段內(nèi)存在有限的間斷點和最大、最小值?!氨憩F(xiàn)良好”的,且滿足式。表示成這兩種形式。

  

【正文】 ].real。 XK[i].image=um[i].image。 XK[i].absolutevalue=sqrt(XK[i].real*XK[i].real+XK[i].image*XK[i].image)。 XK[i].phaseangle=atan(XK[i].image/XK[i].real)。 XK[i].radianmeasureangle=XK[i].phaseangle/PI。 } } /**************************************************** 復(fù)數(shù)乘法函數(shù) 輸入:兩個復(fù)數(shù)結(jié)構(gòu)體,不分先后 返回值:兩個復(fù)數(shù)的乘積的復(fù)數(shù)結(jié)構(gòu)體 ****************************************************/ struct plexnum plexmul(struct plexnum mul1,struct plexnum mul2) { struct plexnum result。 =*+*。 =**。 return result。 } /**********************************************************************************/ /*DFT函數(shù) 輸入:時域信號取樣點數(shù) NDFT,時域信號取樣數(shù)組指針 xnDFT,頻域信號取樣數(shù)組指針XKDFT 功能:進行 DFT,離散時域信號值存儲在 xnDFT[NDFT],離散頻域信號值存儲在XKDFT[NDFT]*/ /***********************************************************************************/ void DFTfunction(int NDFT,double *xnDFT,struct plexnum *XKDFT) { int k,n。 //輔助變量 double *xnDFTtemp=xnDFT。 //為了不改變原指針的值,定義了暫時指針 struct plexnum *XKDFTtemp=XKDFT。 for(k=0。kNDFT。k++) { (*XKDFTtemp).real=0。 //初始化為 0 (*XKDFTtemp).image=0。 for(n=0。nNDFT。n++) //變換公式參見報告 DFT定義 { (*XKDFTtemp).real+=(*xnDFTtemp)*cos(2*PI*k*n/NDFT)。 (*XKDFTtemp).image+=(*xnDFTtemp)*sin(2*PI*k*n/NDFT)。 xnDFTtemp++。 } xnDFTtemp=xnDFT。 XKDFTtemp++。 } } /**********************************************************************************/ /*FFT函數(shù) 輸入:時域信號取樣點數(shù) NFFT,時域信號取樣數(shù)組指針 xnFFT,頻域信號取樣數(shù)組指針XKFFT 功能:進行 DFT,離散時域信號值存儲在 xn[N],離散頻域信號值存儲在 XK[N]*/ /***********************************************************************************/ void FFTfunction(int NFFT,double *xnFFT,struct plexnum *XKFFT) { /*變量說明: coefficient指蝶形結(jié)運算系數(shù) coquotient指運算系數(shù)商,當前系數(shù)與之前一個系數(shù)的商 plextemp為輔助變量,臨時存儲 XKtemp用 XKtemp:為不改變 XKFFT指針值所設(shè)置的替代數(shù)組 flag flag2:倒位序算法的變址標志 Ntemp:為不改變 NFFT值所設(shè)置的替代數(shù) i、 j、 k:輔助變量 */ struct plexnum coefficient,coquotient,plextemp,XKtemp[maxnum]。 int flag2,flag1,Ntemp,level,step,length,lenght1,ip。 int i,j,k。 for(i=0。iNFFT。i++) { XKtemp[i].real=xnFFT[i]。 XKtemp[i].image=0。 } //變址運算,即把自然順序變成倒位序 flag2=NFFT/2。 flag1=NFFT1。 for(i=0,j=0。iflag1。i++) { if(ij) //如果 ij,即進行變址 { plextemp=XKtemp[j]。 XKtemp[j]=XKtemp[i]。 XKtemp[i]=plextemp。 } k=flag2。 //求 j的下一個倒位序 while(k=j) //如果 k=j,表示 j的最高位為 1 { j=jk。 //把最高位變成 0 k=k/2。 //k/2,比較次高位,依次類推,逐個比較,直到某個位為 0 } j=j+k。 //把 0改為 1 } //使用蝶形運算完成 FFT運算 Ntemp=NFFT。 for(level=1。(Ntemp=Ntemp/2)!=1。level++)。 //計算 level的值,即計算蝶形總級數(shù)level=log( 2) N for(step=1。step=level。step++) // 控制蝶形結(jié)級數(shù) { //step表示第 step級蝶形 length=2(step1)。 //length蝶形結(jié)距離,即第 m級蝶形的蝶形結(jié)相距 length點 lenght1=length/2。 //同一蝶形結(jié)中參加運算的兩點的距離 =1。 //coefficient為蝶形結(jié)運算系數(shù),初始值為 1 =0。 =cos(PI/lenght1)。 //coquotient為系數(shù)商,即當前系數(shù)與前一個系數(shù)的商 =sin(PI/lenght1)。 for(j=0。j=lenght11。j++) //控制計算不同種蝶形結(jié),即計算系數(shù)不同的蝶形結(jié) { for(i=j。i=NFFT1。i=i+length) //控制同一蝶形結(jié)運算,即計算系數(shù)相同蝶形結(jié) { ip=i+lenght1。 //i, ip分別表示參加蝶形運算的兩個節(jié)點 plextemp=plexmul(XKtemp[ip],coefficient)。 //蝶形運算, 詳見報告中定義 XKtemp[ip].real=XKtemp[i].。 XKtemp[ip].image=XKtemp[i].。 XKtemp[i].real=XKtemp[i].real+。 XKtemp[i].image=XKtemp[i].image+。 } coefficient=plexmul(coefficient,coquotient)。 //改變系數(shù),進行下一個蝶形運算 } } for(i=0。iNFFT。i++) //將 XKtemp暫存的頻域取樣信號轉(zhuǎn)存在 XKFFT數(shù)組中 { XKFFT[i]=XKtemp[i]。 }
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1