main.cpp

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

CPP
43
字号
#include <math.h>
#include <stdio.h>

 void r2fft(double x[64],double y[64],int n);
 void main(void)
 {
	 int i,n;
	 double x[64],y[64];
	 n=64;
	 for(i=0;i<n;i++)
	 {
		 x[i]=exp(-0.1*i);
	 }
	 for(i=0;i<10;i++)
	 {
		 y[i]=0.0;
	 }
	 for(i=10;i<n;i++)
	 {
		 y[i]=exp(-(i-10)/15.0)*sin(6.2831853*(i-10)/16.0);
	 }
	 r2fft(x,y,n);
	 printf("\n discretefourier transform x(k):\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  \n",x[n/2]);
	 printf("\n discrete fourier transform y(k):\n");
	 printf("  %10.7f  ",y[0]);
	 printf("%10.7f + j%10.7f\n",y[1],y[n-1]);
	 for(i=2;i<n/2;i+=2)
	 {
		 printf("  %10.7f + j%10.7f",y[i],y[n-i]);
		 printf("  %10.7f + j%10.7f",y[i+1],y[n-i-1]);
		 printf("\n");
	 }
	 printf("  %10.7f  \n",y[n/2]);
 }

⌨️ 快捷键说明

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