C语言实现FFT算法
C语言实现FFT算法
fft1d.c和fft1d.h见https://download.csdn.net/download/weixin_43216875/12009644
1 fft1d.h
#ifndef FFT1D_H
#define FFT1D_H#include "math.h"#define PI 3.1415926535897932384626433832795028841971typedef struct complex //复数类型
{float real; //实部float imag; //虚部
}complex;void conjugate_complex(int n,complex in[],complex out[]);
void c_plus(complex a,complex b,complex *c);//复数加
void c_mul(complex a,complex b,complex *c) ;//复数乘
void c_sub(complex a,complex b,complex *c); //复数减法
void c_div(complex a,complex b,complex *c); //复数除法
void fft(int N,complex f[]);//傅立叶变换 输出也存在数组f中
void ifft(int N,complex f[]); // 傅里叶逆变换
void c_abs(complex f[],float out[],int n);//复数数组取模#endif // FFT1D_H
2 main.cpp
#include <iostream>
using namespace std;#include "fft1d.h"
#define N 4 //N取值为2^n
int main()
{complex a[N];float b[N];for(int i=0;i<N;i++){a[i].real = i+1;a[i].imag = 0;}cout << "data:" << endl;for(int i=0;i<N;i++)cout << a[i].real << endl;fft(N,a);cout << endl << "fft:" << endl;for(int i=0;i<N;i++)cout << a[i].real << "+" << a[i].imag << "j" << endl;ifft(N,a);c_abs(a,b,N);cout << endl << "ifft:" << endl;for(int i=0;i<N;i++)cout << b[i] << endl;return 0;
}
3 与Matlab对比
3.1 Matlab运行结果
3.2 C语言运行结果
C语言实现FFT算法相关推荐
- c代码实现 ifft运算_fft算法c语言_matlab fft算法_ifft c语言
FFT快速算法C程序_工学_高等教育_教育专区.电子信息工程综合课程设计报告书 DSP 课程设计 报告 题学 目: 院: FFT 快速算法 C 程序 计算机与信息工程学院 09 ... fft算法代码 ...
- 使用C语言实现FFT算法(快速傅里叶变换)
文章目录 (一)FFT的基本原理 (二)FFT代码 (三)使用典型函数进行测试 (一)FFT的基本原理 FFT的总思路 第一步,将长序列DFT分解成短序列的DFT(本来是N点的DFT,被分解成两个 N ...
- dsp实现快速傅里叶的C语言程序,DSP-快速傅立叶变换(FFT)算法实验
<DSP-快速傅立叶变换(FFT)算法实验>由会员分享,可在线阅读,更多相关<DSP-快速傅立叶变换(FFT)算法实验(10页珍藏版)>请在人人文库网上搜索. 1.中 南 大 ...
- czt算法c语言实现,基--2按频率抽取的FFT算法Decimation-in-Frequency(DIF).ppt
基--2按频率抽取的FFT算法Decimation-in-Frequency(DIF) 第四节基--2按频率抽取的FFT算法Decimation-in-Frequency(DIF)(Sander-Tu ...
- c代码实现 ifft运算_C语言系列之FFT算法实现
0x10 序言 长文预警,详细介绍FFT算法的编程原理和C实现,并在文章的最后附上了本文的所有源代码. 0x11 速览 1)FFT背后的数学原理 2)码位倒序 3)蝶形运算设计 4)利用复数FFT编写 ...
- FFT算法的完整DSP实现
傅里叶变换或者FFT的理论参考: [1] http://www.dspguide.com/ch12/2.htm The Scientist and Engineer's Guide to Digita ...
- FFT算法的完整DSP实现(转)
源:FFT算法的完整DSP实现 傅里叶变换或者FFT的理论参考: [1] http://www.dspguide.com/ch12/2.htm The Scientist and Engineer's ...
- [Matlab科学计算] 频谱分析和FFT算法总结
频谱分析是一种非常重要的信号处理方法,在机械设备故障诊断.振动系统分析.电力系统.无线电通信.信息图像处理和自动控制等学科中都有重要应用.频谱分析的核心是1965年Cooely-Tukey发表的快速傅 ...
- 深入浅出理解FFT算法。通俗易懂,xilinxIP核仿真
深入浅出理解FFT算法,通俗易懂,用xilinxIP核心仿真 1.前言:傅里叶变换:时域到频域的转换 FS连续时间周期傅里叶级数->DFS离散傅里叶级数->FT连续时间非周期信号的傅里叶变 ...
- 小波分析c语言编程,小波分析算法的公式与C语言实现 - 全文
一.小波分析算法的计算 1.Mallat算法[经典算法] 在小波理论中,多分辨率分析是一个重要的组成部分.多分辨率分析是一种对信号的空间分解方法,分解的最终目的是力求构造一个在频率上高度逼近L2(R) ...
最新文章
- mysql replace报错_Mysql中replace与replace into的用法讲解
- 解决IDEA自动重置LanguageLevel和JavaCompiler版本的问题
- % %和ltscripte runat=server的区别
- [转]ASP.Net缓存总结
- 复现经典:《统计学习方法》第 8 章 提升方法
- NPAPI和PPAPI开发
- CF79D Password(P3943 星空)
- CodeIgniter中URL含有中文字符串的解决方案
- IIS Web怪问题: Access is denied due to invalid credentials.
- 调用软键盘_Android 支持拖动、缩放的自定义软键盘
- Java实现阶乘的和
- 如何从Java方向转向Linux C方向?
- python str has no attribute_python – AttributeError(“’str’object has no attribute’read’”)...
- 博弈论基础知识--非合作博弈,零和博弈,负和博弈,主从博弈,Nash均衡
- php 调用极光api,利用php+curl调用极光IM第三方REST API方法经验
- 各类学科入门书籍推荐
- Tensorflow入门(一)----”搭建图像识别系统“教程整理
- 浅谈Word.Application,关于js操作word文档的使用
- kazam录制视频在windows下无法播放解决办法
- 庄懂的技术美术入门课系列——学习笔记