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

正文內(nèi)容

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

2025-08-20 16:42本頁(yè)面

【導(dǎo)讀】用C語(yǔ)言編程完成對(duì)輸入波形的時(shí)域采樣的FFT變換以及頻域分析,同時(shí)用DFT變換來(lái)驗(yàn)證FFT變換結(jié)果的正確性。時(shí)域信號(hào)的輸入有兩種方式:一種是依次輸入時(shí)域信號(hào)各諧波分量的幅值和角頻率值,另一種是直接輸入時(shí)域信號(hào)的采樣值。DFT變換的實(shí)現(xiàn)直接脫胎于定義,F(xiàn)FT變換采用的是基2時(shí)間抽取算法,用倒位序算法和蝶形算法實(shí)現(xiàn)。在進(jìn)行科學(xué)研究的過(guò)程中,很重要的一點(diǎn)就是為一個(gè)系列的問(wèn)題找到一個(gè)通法,從而為實(shí)際的應(yīng)用打下基礎(chǔ)。而進(jìn)行傅里葉變換之后,我們就能很好達(dá)到這個(gè)目的——用一種方法來(lái)研究所有的信號(hào)。那么為什么傅里葉變換可以達(dá)到這樣的目的呢?同時(shí),若原信號(hào)是周期性的,那該信號(hào)在頻率軸上將只占據(jù)有限個(gè)點(diǎn),分析難度更是大大減小。例如,有限項(xiàng)正弦波疊加而成的連續(xù)時(shí)間信號(hào)為:。由式(1-1)定義的信號(hào)特征,可以通過(guò)對(duì)組成該信號(hào)的正弦頻率,振幅,相位來(lái)研究。的一次諧波項(xiàng)為,二次諧波項(xiàng)為,第k次諧波項(xiàng)為。這是周期信號(hào)的重要特性。

  

【正文】 數(shù)組指針XKDFT 功能:進(jìn)行DFT,離散時(shí)域信號(hào)值存儲(chǔ)在xnDFT[NDFT],離散頻域信號(hào)值存儲(chǔ)在XKDFT[NDFT]*//***********************************************************************************/void DFTfunction(int NDFT,double *xnDFT,struct plexnum *XKDFT){ int k,n。 //輔助變量 double *xnDFTtemp=xnDFT。 //為了不改變?cè)羔樀闹?,定義了暫時(shí)指針 struct plexnum *XKDFTtemp=XKDFT。 for(k=0。kNDFT。k++) { (*XKDFTtemp).real=0。 //初始化為0 (*XKDFTtemp).image=0。 for(n=0。nNDFT。n++) //變換公式參見(jiàn)報(bào)告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í)域信號(hào)取樣點(diǎn)數(shù)NFFT,時(shí)域信號(hào)取樣數(shù)組指針xnFFT,頻域信號(hào)取樣數(shù)組指針XKFFT 功能:進(jìn)行DFT,離散時(shí)域信號(hào)值存儲(chǔ)在xn[N],離散頻域信號(hào)值存儲(chǔ)在XK[N]*//***********************************************************************************/void FFTfunction(int NFFT,double *xnFFT,struct plexnum *XKFFT){ /*變量說(shuō)明:coefficient指蝶形結(jié)運(yùn)算系數(shù) coquotient指運(yùn)算系數(shù)商,當(dāng)前系數(shù)與之前一個(gè)系數(shù)的商 plextemp為輔助變量,臨時(shí)存儲(chǔ)XKtemp用 XKtemp:為不改變XKFFT指針值所設(shè)置的替代數(shù)組 flagflag2:倒位序算法的變址標(biāo)志 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。 } //變址運(yùn)算,即把自然順序變成倒位序 flag2=NFFT/2。 flag1=NFFT1。 for(i=0,j=0。iflag1。i++) { if(ij) //如果ij,即進(jìn)行變址 { plextemp=XKtemp[j]。 XKtemp[j]=XKtemp[i]。 XKtemp[i]=plextemp。 } k=flag2。 //求j的下一個(gè)倒位序 while(k=j) //如果k=j,表示j的最高位為1 { j=jk。 //把最高位變成0 k=k/2。 //k/2,比較次高位,依次類推,逐個(gè)比較,直到某個(gè)位為0 } j=j+k。 //把0改為1 } //使用蝶形運(yùn)算完成FFT運(yùn)算 Ntemp=NFFT。 for(level=1。(Ntemp=Ntemp/2)!=1。level++)。 //計(jì)算level的值,即計(jì)算蝶形總級(jí)數(shù)level=log(2)N for(step=1。step=level。step++) // 控制蝶形結(jié)級(jí)數(shù) { //step表示第step級(jí)蝶形 length=2(step1)。 //length蝶形結(jié)距離,即第m級(jí)蝶形的蝶形結(jié)相距l(xiāng)ength點(diǎn) lenght1=length/2。 //同一蝶形結(jié)中參加運(yùn)算的兩點(diǎn)的距離 =1。 //coefficient為蝶形結(jié)運(yùn)算系數(shù),初始值為1 =0。 =cos(PI/lenght1)。 //coquotient為系數(shù)商,即當(dāng)前系數(shù)與前一個(gè)系數(shù)的商 =sin(PI/lenght1)。 for(j=0。j=lenght11。j++) //控制計(jì)算不同種蝶形結(jié),即計(jì)算系數(shù)不同的蝶形結(jié) { for(i=j。i=NFFT1。i=i+length) //控制同一蝶形結(jié)運(yùn)算,即計(jì)算系數(shù)相同蝶形結(jié) { ip=i+lenght1。 //i,ip分別表示參加蝶形運(yùn)算的兩個(gè)節(jié)點(diǎn) plextemp=plexmul(XKtemp[ip],coefficient)。 //蝶形運(yùn)算,詳見(jiàn)報(bào)告中定義 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ù),進(jìn)行下一個(gè)蝶形運(yùn)算 } } for(i=0。iNFFT。i++) //將XKtemp暫存的頻域取樣信號(hào)轉(zhuǎn)存在XKFFT數(shù)組中 { XKFFT[i]=XKtemp[i]。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1