亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? fft.cpp

?? 適用于MP3音樂(lè)中波形處理(FFT算法)
?? CPP
字號(hào):
#include <windows.h>
#include <stdio.h>
#include <math.h>

#define SAMPLENUM		8
float PI=(float)3.1415926;

typedef struct// tagComplex
{
	float re; //復(fù)數(shù)的實(shí)部
	float im; //復(fù)數(shù)的虛部
}ST_Complex;

float RealData[SAMPLENUM];

ST_Complex inData[SAMPLENUM];
ST_Complex outData[SAMPLENUM];

void ChangeToComplex(int n,float *RealData,ST_Complex x[])
{
	int i;
	for(i=0;i<n;i++)
	{
		x[i].re = RealData[i];
		x[i].im = 0;
	}	
}
void init_x(int n,ST_Complex x[])
{
	int i;
	for(i=0;i<n;i++)
	{
		x[i].im = 0;
	}
	x[0].re=1;
	x[1].re=2;
	x[2].re=2;
	x[3].re=2;
	x[4].re=0;
	x[5].re=1;
	x[6].re=1;
	x[7].re=1;	
}

int GetInverse(int n,int preNum)
{
	int K = n/2;
	if(preNum<K)
	{
		return K+preNum;
	}
	else
	{
		return GetInverse(K,preNum-K);
	}
}

void ComplexAdd(ST_Complex *a,ST_Complex *b,ST_Complex *ret)
{
	ret->re = a->re + b->re;
	ret->im = a->im + b->im;
}

void ComplexSub(ST_Complex *a,ST_Complex *b,ST_Complex *ret)
{
	ret->re = a->re - b->re;
	ret->im = a->im - b->im;
}

void ComplexMul(ST_Complex *m,ST_Complex *n,ST_Complex *ret)
{
	float a,b,c;

	a = ( m->re - m->im ) * n->im;
	b = m->re * ( n->re - n->im );
	c = m->im * ( n->re + n->im );
	ret->re = a + b;
	ret->im = a + c;
}

void ComplexCopy(ST_Complex dest[],ST_Complex src[],int n)
{
	for (int i=0;i<n;i++)
	{
		dest[i].re = src[i].re;
		dest[i].im = src[i].im;
	}	
}
void TransToMod(ST_Complex src[],float mod[],int n)
{
	int i;	
	for(i=0;i<n;i++)
	{		
		if(abs(src[i].re) < 0.000001)
		{
			src[i].re = 0.0f;
		}
		if(abs(src[i].im) < 0.000001)
		{
			src[i].im = 0.0f;
		}
		mod[i] = (float)sqrt(src[i].re*src[i].re + src[i].im*src[i].im);
	}
}
/*****************************************
*
*	Name     :FFT
*   Function :Fast Fuliye Transformation
*   Params   :N -- Total count of sampling points
*             X -- Input sequence
*   Return   :XN(k)=sum[x(n)*Pow(e,j2*Pi/N)] 
*                   k,n:0..N-1
*
*
*****************************************/
void FFT(int n,ST_Complex X[],ST_Complex XK[])
{
	int i,j=0;
	int M,L;
	ST_Complex U={0,0};
	ST_Complex W={0,0};
	ST_Complex T={0,0};
	//ST_Complex *A = XK;	
	ST_Complex *A = (ST_Complex *)malloc(sizeof(ST_Complex) * n);	

	//Adjust sequence
	for(i=0;i<n;i++)
	{
		if(i==0)
		{
			A[0].re = X[0].re;
			A[0].im = X[0].im;
		}
		else
		{
			j=GetInverse(n,j);
			A[i].re = X[j].re;
			A[i].im = X[j].im;
		}
	}

	//確定級(jí)別數(shù)
	for(M=0;M<n;M++)
	{
		if((1<<M)==n)
			break;
	}

	for(L=1;L<=M;L++)//1-M級(jí)依次確定
	{
		int LE = (int)pow(2,L);//間隔
		int LE1 = LE/2;//W級(jí)數(shù),如W0,W1,W2...

		W.re = (float)cos(PI/LE1);
		W.im = (float)-sin(PI/LE1);
#if 0
		if(abs(W.re)<1.0e-12)
			W.re = 0.0f;
		if(abs(W.im)<1.0e-12)
			W.im = 0.0f;
#endif	
		U.re = 1;
		U.im = 0;		
		for(j=0;j<LE1;j++)//
		{
			i=j;
			while(i<n)
			{
				int IP = i+LE1;
				ComplexMul(&A[IP],&U,&T);			//T=A[IP]*U;
				ComplexSub(&A[i],&T,&A[IP]);		//A[IP]=A[i]-T;//蝶形計(jì)算
				ComplexAdd(&A[i],&T,&A[i]);			//A[i]=A[i]+T;				
				i+=LE;
			}
			ComplexMul(&U,&W,&U);			//U=U*W;//不同的W次冪
		}		
	}
	ComplexCopy(X,A,n);	
	free(A);
}
void main()
{
	int i;
	init_x(SAMPLENUM,inData);	
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\ninData[%d]=%f + %f i",i,inData[i].re,inData[i].im);
	}
	printf("\n");
	FFT(SAMPLENUM,inData,NULL);
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\ninData[%d]=%f + %f i",i,inData[i].re,inData[i].im);
	}
	printf("\n");
	TransToMod(inData,RealData,SAMPLENUM);
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\nRealData[%d]=%f",i,RealData[i]);
	}	
	printf("\n");
}
/*
void main()
{
	int i;
	init_x(SAMPLENUM,inData);
	FFT(SAMPLENUM,inData,outData);
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\ninData[%d]=%f + %f i",i,inData[i].re,inData[i].im);
	}
	printf("\n");
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\noutData[%d]=%f + %f i",i,outData[i].re,outData[i].im);
	}	
	printf("\n");
	TransToMod(outData,RealData,SAMPLENUM);
	for(i=0;i<SAMPLENUM;i++)
	{
		printf("\nRealData[%d]=%f",i,RealData[i]);
	}	
	printf("\n");
}*/

/*
結(jié)果:

inData[0]=1.000000 + 0.000000 i
inData[1]=2.000000 + 0.000000 i
inData[2]=2.000000 + 0.000000 i
inData[3]=2.000000 + 0.000000 i
inData[4]=0.000000 + 0.000000 i
inData[5]=1.000000 + 0.000000 i
inData[6]=1.000000 + 0.000000 i
inData[7]=1.000000 + 0.000000 i

outData[0]=10.000000 + 0.000000 i
outData[1]=1.000000 + -2.414214 i
outData[2]=-2.000000 + 0.000000 i
outData[3]=1.000000 + -0.414213 i
outData[4]=-2.000000 + 0.000000 i
outData[5]=1.000000 + 0.414214 i
outData[6]=-2.000000 + 0.000000 i
outData[7]=1.000000 + 2.414213 i

*/
/*

inData[0]=1.000000 + 0.000000 i
inData[1]=2.000000 + 0.000000 i
inData[2]=2.000000 + 0.000000 i
inData[3]=2.000000 + 0.000000 i
inData[4]=0.000000 + 0.000000 i
inData[5]=1.000000 + 0.000000 i
inData[6]=1.000000 + 0.000000 i
inData[7]=1.000000 + 0.000000 i

inData[0]=10.000000 + 0.000000 i
inData[1]=1.000000 + -2.414214 i
inData[2]=-2.000000 + 0.000000 i
inData[3]=1.000000 + -0.414213 i
inData[4]=-2.000000 + 0.000000 i
inData[5]=1.000000 + 0.414214 i
inData[6]=-2.000000 + 0.000000 i
inData[7]=1.000000 + 2.414213 i

RealData[0]=10.000000
RealData[1]=2.613126
RealData[2]=2.000000
RealData[3]=1.082392
RealData[4]=2.000000
RealData[5]=1.082392
RealData[6]=2.000000
RealData[7]=2.613126
Press any key to continue
*/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱对白刺激视频不卡 | 视频一区视频二区中文| 日韩免费看的电影| av不卡一区二区三区| 蜜臀a∨国产成人精品| 成人免费在线观看入口| 日韩精品一区二区三区视频在线观看 | 亚洲欧美另类在线| 欧美成人精品福利| 欧美三级电影在线看| 不卡av在线免费观看| 美女视频免费一区| 亚洲国产欧美在线| 中文字幕一区二区三区在线不卡| 日韩一区二区精品| 欧美午夜视频网站| 91网页版在线| 成人黄色综合网站| 国产在线国偷精品免费看| 日本中文在线一区| 亚洲一区二区三区自拍| 亚洲欧洲精品成人久久奇米网| 久久午夜羞羞影院免费观看| 在线成人免费视频| 欧美视频中文一区二区三区在线观看 | 精品少妇一区二区三区在线播放| 欧美体内she精高潮| 日本伦理一区二区| av福利精品导航| 成人精品免费看| 国产a精品视频| 国产精品1区2区| 狠狠色丁香婷婷综合| 久久99久久久久久久久久久| 免费成人在线影院| 麻豆视频一区二区| 蜜臀av一区二区在线免费观看| 奇米精品一区二区三区在线观看| 五月综合激情婷婷六月色窝| 亚洲大片免费看| 午夜欧美视频在线观看| 日韩精品国产欧美| 日本视频一区二区| 久久国产尿小便嘘嘘| 久久成人羞羞网站| 国产美女视频一区| 国产乱国产乱300精品| 国产福利一区在线| 白白色亚洲国产精品| 色哟哟一区二区| 欧美天堂一区二区三区| 欧美精品成人一区二区三区四区| 欧美日韩国产片| 日韩欧美专区在线| www国产成人| 国产精品妹子av| 亚洲免费观看高清完整版在线| 樱桃国产成人精品视频| 亚洲成人资源在线| 麻豆精品国产传媒mv男同| 国产一区免费电影| 成人av电影免费观看| 日本高清不卡一区| 欧美一区二区久久久| 久久一区二区三区四区| 中文字幕永久在线不卡| 艳妇臀荡乳欲伦亚洲一区| 日本女人一区二区三区| 国产一区二区三区高清播放| 成人国产一区二区三区精品| 91久久精品一区二区二区| 7878成人国产在线观看| 久久这里只有精品首页| 亚洲乱码一区二区三区在线观看| 天堂蜜桃91精品| 国产福利一区在线观看| 色噜噜狠狠一区二区三区果冻| 6080日韩午夜伦伦午夜伦| 久久久久国产精品麻豆| 亚洲激情av在线| 激情欧美一区二区三区在线观看| av一区二区不卡| 91麻豆精品国产自产在线| 中文字幕免费不卡| 日韩精品亚洲一区| eeuss国产一区二区三区| 欧美久久一二三四区| 国产日韩视频一区二区三区| 一区二区三区久久| 国产精品亚洲专一区二区三区| 91极品视觉盛宴| 国产午夜久久久久| 日本人妖一区二区| 色综合久久天天| 久久久电影一区二区三区| 亚洲国产精品一区二区www| 国产风韵犹存在线视精品| 欧美三级韩国三级日本三斤| 国产欧美一二三区| 日韩成人午夜电影| 91小视频在线| 2023国产一二三区日本精品2022| 亚洲一区二区三区四区五区黄 | 国产一区二区成人久久免费影院| 在线视频观看一区| 国产精品亲子伦对白| 麻豆91在线播放免费| 欧美色精品天天在线观看视频| 欧美国产禁国产网站cc| 精品一区二区在线视频| 欧美日韩一区成人| 一区二区高清视频在线观看| 国产不卡在线播放| 精品国产一区a| 肉丝袜脚交视频一区二区| 日本道色综合久久| 中文字幕在线免费不卡| 国产精品亚洲一区二区三区妖精 | 黑人巨大精品欧美一区| 91精品婷婷国产综合久久性色 | 日本精品裸体写真集在线观看| 中文字幕欧美三区| 国产成人精品影视| 亚洲精品一区二区三区四区高清| 日韩av中文字幕一区二区三区 | 911国产精品| 亚洲mv在线观看| 欧美日韩亚洲综合| 亚洲午夜精品在线| 欧美午夜影院一区| 成人91在线观看| 亚洲国产精华液网站w| 国产精品亚洲一区二区三区妖精| 精品裸体舞一区二区三区| 毛片不卡一区二区| 精品日产卡一卡二卡麻豆| 麻豆一区二区99久久久久| 精品伦理精品一区| 国内精品免费在线观看| 337p日本欧洲亚洲大胆精品| 久久精品国产精品亚洲红杏| 欧美大片一区二区三区| 久久国产精品99久久人人澡| 精品久久久久久最新网址| 狠狠色狠狠色合久久伊人| 国产亚洲欧美激情| 成人理论电影网| 亚洲少妇中出一区| 在线影视一区二区三区| 亚洲成av人片一区二区三区| 欧美日韩电影在线播放| 日韩av不卡一区二区| 欧美mv日韩mv国产网站app| 激情综合色播激情啊| 国产欧美日韩视频一区二区| 99re在线精品| 亚洲成人av免费| 日韩欧美激情一区| 成人一级片在线观看| 亚洲男同1069视频| 欧美精品日韩一本| 美女视频一区在线观看| 久久亚洲一区二区三区明星换脸| 高清在线观看日韩| 一区二区免费视频| 欧美sm美女调教| a在线播放不卡| 五月天激情综合| 久久久久久久性| 一本大道久久a久久精二百| 天天综合色天天| 久久久精品影视| 欧亚一区二区三区| 精品亚洲成a人| 亚洲欧美偷拍另类a∨色屁股| 在线播放一区二区三区| 国产剧情在线观看一区二区| 亚洲精品伦理在线| 日韩一区二区三区电影在线观看| 国产**成人网毛片九色| 亚洲国产美国国产综合一区二区| 亚洲精品在线免费观看视频| 91视频.com| 精久久久久久久久久久| 亚洲免费大片在线观看| 欧美电影精品一区二区| 色先锋aa成人| 国产一区二区精品久久91| 亚洲一级二级三级在线免费观看| 精品国产sm最大网站免费看| 在线免费视频一区二区| 国产一区二区福利| 天堂av在线一区| 亚洲天堂2014| 久久精品免视看| 欧美精品乱码久久久久久按摩| 成人激情小说乱人伦| 精品一区二区日韩| 色综合激情久久| 国产精品18久久久久久vr|