FFT&DFT 实现 编程实现基于时间抽取的基2的FFT算法 亲测有效 欢迎下载

编程实现基于时间抽取的基2的FFT算法
要求:实现任意长度的基于时间抽取的基2的FFT算法,统计算法运行所需时间,与DFT的直接实现进行运行时间对比,与现存的FFT算法运行时间进行对比。

运行结果

FFT&DFT 实现 编程实现基于时间抽取的基2的FFT算法 亲测有效 欢迎下载_第1张图片实现FFT算法
部分代码:

//-------------------倒序实现

int daoxu(int a,int n)
{
	int i,b,result=0;
	for(i=0;i>1; 
		result = result<<1;            
		result = result | b; 	        			
		}
		return result;	
}

//-------------------旋转因子计算

struct finger xuanzhuanyinzi(int N,int P)
{	
	struct finger wn; 	
	wn.shi = cos(2*PI/N*P);		
	wn.xu = -sin(2*PI/N*P);
	return wn;		
} 

//-------------------蝶形运算

void diexingyunsuan(struct finger *p,struct finger *q,struct finger wn)
{
	struct finger res1,res2;
	struct finger temp;
   	 temp = chengfa(*q,wn);
	res1 = jiafa(*p,temp);
	res2 = jianfa(*p,temp);
	*q = res2;
	*p = res1;	
}

核心算法:

for(j=0;j

完整代码:https://download.csdn.net/download/qq_38305241/10804763

你可能感兴趣的:(FFT&DFT 实现 编程实现基于时间抽取的基2的FFT算法 亲测有效 欢迎下载)