標題:
快速FFT變換C語言程序
[打印本頁]
作者:
IQ_kuo
時間:
2019-5-31 15:03
標題:
快速FFT變換C語言程序
快速FFT變換源程序
#include <stdio.h>
#include <math.h>
typedef struct //定義復數(shù)結(jié)構(gòu)體變量
{
double real;
double imag;
}complex;
#define N 5
#define PI 3.1514926535897932384626433832795028841971 //定義圓周率
void c_plus(complex, complex, complex *); //復數(shù)加運算
void c_sub(complex, complex, complex *); //復數(shù)減運算o
void c_mul(complex, complex, complex *); //復數(shù)乘運算
void Wn_i(int, int, complex *); //旋轉(zhuǎn)因子
int main()
{
complex f[N] = { 1, 2, 2, 3 };
complex wn;
Wn_i(8, 3, &wn);
c_mul(f[0], wn, &f[2]);
c_sub(f[1], f[2], &(f[3]));
c_plus(f[1], f[2], &(f[4]));
printf("f[%d]為:%lf + %lf \n", 2, f[2].real, f[2].imag);
printf("f[%d]為:%lf + %lf \n", 3, f[3].real, f[3].imag);
printf("f[%d]為:%lf + %lf \n", 4, f[4].real, f[4].imag);
return 0;
}
void c_plus(complex a, complex b, complex *c) //復數(shù)加法
{
c->real = a.real + b.real;
c->imag = a.imag + b.imag;
}
void c_sub(complex a, complex b, complex *c) //復數(shù)減法
{
c->real = a.real - b.real;
c->imag = a.imag - b.imag;
}
void c_mul(complex a, complex b, complex *c) //復數(shù)乘法
{
c->real = a.real*b.real - a.imag*b.imag;
c->imag = a.real*b.imag + a.imag*b.real;
}
void Wn_i(int n1, int i, complex *Wn) //定義旋轉(zhuǎn)因子
{
Wn->real = cos(2 * PI*i / n1);
Wn->imag = -sin(2 * PI*i / n1);
}
復制代碼
全部資料51hei下載地址:
fft.zip
(699 Bytes, 下載次數(shù): 43)
2019-5-31 15:02 上傳
點擊文件名下載附件
源程序
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1