资源简介
快速傅里叶变换 (fast Fourier transform), 即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。本程序以C语言为平台,实现了按时间抽取的基-2FFT算法(蝶形算法)。具体见https://blog.csdn.net/SXGY_07/article/details/87902235
代码片段和文件信息
#include
#include
#include “myfft.h“
#define Ns 128
#define Fs 50
/* run this program using the console pauser or add your own getch system(“pause“) or input loop */
int main(int argc char *argv[]) {
int i;
float xr[Ns]xi[Ns]y1r[Ns]y1i[Ns]y2r[Ns]y2i[Ns];//输入信号和输出信号的实部虚部
float y1[Ns]y2[Ns];//傅里叶变换结果的幅度
for(i=0;i xr[i]=mysin(2*3.1415926*i/Fs);
xi[i]=0;
}
dft(xry1ry1iNs1);
fft(xrxiy2ry2iNs1);
for(i=0;i y1[i]=mysqrt(y1r[i]*y1r[i]+y1i[i]*y1i[i]);
y2[i]=mysqrt(y2r[i]*y2r[i]+y2i[i]*y2i[i]);
}
printf(“傅里叶变换结果\n“);
for(i=0;i printf(“X[%-2d] = (%- 6.3f+j%- 6.3f)\t(%- 6.3f+j%- 6.3f)\n“iy1r[i]y1i[i]y2r[i]y2i[i]);
}
printf(“幅度\n“);
for(i=0;i float f=1.0*i*Fs/Ns;
printf(“F = %-10.3fA = X[%-2d] = %-10.3f%-10.3f\n“fiy1[i]y2[i]);
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 920 2019-02-24 11:59 main.c
文件 3053 2019-02-24 11:43 myfft.c
文件 2595 2019-02-23 21:36 data.h
文件 409 2019-02-24 11:43 myfft.h
----------- --------- ---------- ----- ----
6977 4
- 上一篇:电力系统潮流计算牛拉法C++程序代码
- 下一篇:C++ASCII文件练习的几个文件
相关资源
- 常用的100个经典C语言程序
- C++数据结构与算法(第4版) 完整版
- 用C语言读写SGY格式的地震数据文件
- 算法题《武士巡逻》的C++代码
- log算子的边缘检测算法
- C语言多层一维小波分解
- C语言编写赛车游戏
- 奇偶校验C语言原码
- 禁手规则和智能算法探讨及其实现源
- VC++6.0版做的五子棋程序源码,含禁手
- c语言简单的银行系统
- C语言课程设计C语言课程设计.
- c语言jpeg压缩库
- Topdisc三色算法仿真
- C语言获取鼠标点击的位置坐标
- c语言课程设计迷宫求解.zip
- 椭圆曲线密码ECC算法实现源码C++
- linux下c语言实现多线程web服务器
- C语言的读取GPS源码
- 遗传算法解决01背包问题
- Linux下C语言2048游戏代码
- 贪心算法网友博客改进版
- C语言战争游戏源代码
- 设计一个有 N个进程调度程序设计
- c/c++实现银行家算法模拟
- socket应用二 用C语言写远程屏幕监视程
- 八数码 -深度优先算法
- 数据结构题集答案(C语言版)严蔚敏
- 图书管理系统C语言+数据结构与算法
- 列车时刻表管理源代码(C语言)
评论
共有 条评论