91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.81MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-10-01
  • 語言: C/C++
  • 標(biāo)簽: C++??

資源簡介

傅里葉變換和傅里葉逆變換的C++代碼,親測,有詳細(xì)的解釋。 有問題可以留言。

資源截圖

代碼片段和文件信息

//#include?“stdafx.h“
//#include??

#include“math.h“
#include?
#include?“fft.h“
using?namespace?std;

int?wh(int?Width)
{
int?wp=0;//存儲w的2的冪數(shù)
int?w=1;
while(w {
w=w*2;
wp++;
}
return(w);

}

//這個函數(shù)調(diào)用二維傅里葉變換函數(shù),并將得到的結(jié)果shift
//int?FFT2shifft(unsigned?char*aint?lWidthint?lHeightcomplex?*FDshift)
//{
//
// int?w=1;?
// int?h=1;
// int?wp=0;//存儲w的2的冪數(shù)
// int?hp=0;//存儲h的2的冪數(shù)?
//
// int?ij;
// complex?*TD;
// complex?*FD;
// //////計算剛好大于或等于lWidth,lHeight的2的整數(shù)次冪,和相應(yīng)的冪數(shù)///////////////
//
// while(w// {
// w=w*2;
// wp++;
// }
// while(h// {
// h=h*2;
// hp++;
// } ?
//
// //這2行是對指針進行賦值,使它指向一個復(fù)數(shù)一維數(shù)組的首地址
//????TD=new?complex[w*h];
// FD=new?complex[w*h];
// for(??i=0;i// {
// FD[i]=complex(0.00.0);//FD初值設(shè)為0
// }
//????TD=DataFitFormat(alWidthlHeight);//調(diào)用已有函數(shù)DataFitFormat初始化TD
//
// FFT_2D(?TD?FD??lWidth?lHeight);//調(diào)用已有函數(shù)FFT_2D二維FFT返回的FD,即是復(fù)數(shù)矩陣,比原來大。
//????
// for(i=0;i// for(j=0;j// {
// int?i1=(i// int?j1=(j// FDshift[i1*w+j1]=FD[i*w+j];
//
// }
//
// //在哪里創(chuàng)建就在哪里釋放
// delete?[]?FD;
// FD?=?NULL?;
// delete?[]?TD;
// TD?=?NULL?;
//
// return?0;
//
//}


//將數(shù)組轉(zhuǎn)換為適合FFT處理的數(shù)據(jù)(數(shù)組長度為2的整數(shù)次冪)填充的數(shù)據(jù)補零操作.
//當(dāng)lHeight=1時表示為對一維數(shù)組處理.data為對二維數(shù)據(jù)的一維表示,是按照從左到右,從上到下。
complex?*?DataFitFormat(double?*dataint?lWidthint?lHeight)
{
complex?*TD;
int?w=1;
int?h=1;
int?wp=0;//存儲w的2的冪數(shù)
int?hp=0;//存儲h的2的冪數(shù)
//////計算剛好大于或等于lWidth,lHeight的2的整數(shù)次冪,和相應(yīng)的冪數(shù)///////////////
while(w {
w=w*2;
wp++;
}
while(h {
h=h*2;
hp++;
}
TD=new?complex[w*h];
////////////////////////////////////////////////////////////////////////////////
for(int?i=0;i {
if(i {
for(int?j=0;j {
if(j {
TD[i*w+j]=complex(data[i*lWidth+j]0);//將char數(shù)據(jù),準(zhǔn)換為實數(shù)為data數(shù)據(jù),虛數(shù)為0的復(fù)數(shù)
}
else
{
TD[i*w+j]=complex(00);//對于超出原數(shù)據(jù)的數(shù)據(jù)進行補零操作
}

}
}
else
{
for(int?j=0;j {
TD[i*w+j]=complex(00);//對于超出原數(shù)據(jù)的數(shù)據(jù)進行補零操作

}
}
}

?return?TD;

}
??
?
?
//一維FFT運算,len為一維數(shù)組的真實長度。而TD和FD數(shù)組的長度都是
//經(jīng)過?InitTDAndFD得到的適合FFT處理的數(shù)組長度為2的整數(shù)次冪的數(shù)組?。
void?FFT_1D(complex?*TDcomplex*FDint?Len)
{
?
int?l=1;
int?lp=0;
int?p=0;
double?angle=0;//中間變量及角度
complex?*W*X1*X2*X;

while(l {
l=l*2;
lp++;
}
int?r=lp;

long?N=1< //?為什么沒有X
W=new?complex[N/2];//存放旋轉(zhuǎn)系數(shù)
X1=new?complex[N];//
????X2=new?complex[N];//分配運算的存儲器
for(long?i=0;i {
angle=-i*PI*2/N;
W[i]=complex(cos(angle)sin(angle));
}

memcpy(X1TDsizeof(complex)*N);//將TD所在的內(nèi)存數(shù)據(jù)拷貝到X1中

///////////////////////////核心算法:蝶形運算/////////////
for(long?k

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????44544??2013-11-27?00:33??testfft\Debug\testfft.exe

?????文件?????347952??2013-11-27?00:33??testfft\Debug\testfft.ilk

?????文件?????658432??2013-11-27?00:33??testfft\Debug\testfft.pdb

?????文件???16777216??2013-11-28?00:59??testfft\ipch\testfft-a5d448ac\testfft-545235cc.ipch

?????文件???????4014??2013-11-27?00:33??testfft\testfft\Debug\cl.command.1.tlog

?????文件??????55328??2013-11-27?00:33??testfft\testfft\Debug\CL.read.1.tlog

?????文件???????3126??2013-11-27?00:33??testfft\testfft\Debug\CL.write.1.tlog

?????文件??????60178??2013-11-27?00:33??testfft\testfft\Debug\fft.obj

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.5288-cvtres.read.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.5288-cvtres.write.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.5288.read.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.5288.write.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.9400-cvtres.read.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.9400-cvtres.write.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.9400.read.1.tlog

?????文件??????????2??2013-11-27?00:33??testfft\testfft\Debug\link.9400.write.1.tlog

?????文件???????3346??2013-11-27?00:33??testfft\testfft\Debug\link.command.1.tlog

?????文件???????6538??2013-11-27?00:33??testfft\testfft\Debug\link.read.1.tlog

?????文件???????1858??2013-11-27?00:33??testfft\testfft\Debug\link.write.1.tlog

?????文件??????37536??2013-11-27?00:33??testfft\testfft\Debug\main.obj

?????文件????????786??2013-11-27?00:33??testfft\testfft\Debug\mt.command.1.tlog

?????文件????????882??2013-11-27?00:33??testfft\testfft\Debug\mt.read.1.tlog

?????文件????????518??2013-11-27?00:33??testfft\testfft\Debug\mt.write.1.tlog

?????文件???????1648??2013-11-27?00:33??testfft\testfft\Debug\rc.command.1.tlog

?????文件???????1246??2013-11-27?00:33??testfft\testfft\Debug\rc.read.1.tlog

?????文件????????958??2013-11-27?00:33??testfft\testfft\Debug\rc.write.1.tlog

?????文件????????406??2013-11-26?13:38??testfft\testfft\Debug\testfft.exe.embed.manifest

?????文件????????472??2013-11-27?00:33??testfft\testfft\Debug\testfft.exe.embed.manifest.res

............此處省略24個文件信息

評論

共有 條評論