main.cpp

来自「信号处理的几种算法」· C++ 代码 · 共 36 行

CPP
36
字号
#include <math.h>
#include<stdio.h>
 void rfft(double x[64],int n);

 void main(void)
 {
	 int i,n;
	 double x[64];
	 n=64;
	 for(i=0;i<10;i++)
	 {
		 x[i]=0.0;
	 }
	 for(i=10;i<n;i++)
	 {
		 x[i]=exp(-(i-10)/15.0)*sin(6.2831853*(i-10)/16.0);
	 }
	 rfft(x,n);
	 printf("\n discrete fourier transform\n");
	 printf("%10.7f",x[0]);
	 printf("%10.7f + j%10.7f\n",x[1],x[n-1]);
	 for(i=2;i<n/2;i+=2)
	 {
		 printf("    %10.7f + j%10.7f",x[i],x[n-i]);
		 printf("    %10.7f + j%10.7f",x[i+1],x[n-i-1]);
		 printf("\n");
	 }
	 printf("    %10.7f",x[n/2]);
	 printf("    %10.7f + j%10.7f\n",x[n/2-i],-x[n/2+i+1]);
	 for(i=2;i<n/2;i+=2)
	 {
		 printf("    %10.7f + j%10.7f",x[n/2-i],-x[n/2+i]);
		 printf("    %10.7f + j%10.7f",x[n/2-i-1],-x[n/2+i+1]);
		 printf("\n");
	 }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?