- 博客(4)
- 收藏
- 关注
c语言实现fft(快速傅里叶变换)
1. FFT(Fast Fourier Transformation),即为快速傅里叶变换,是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。
2.FFT算法的基本原理
FFT算法是把长序列的DFT逐次分解为较短序列的DFT。
按照抽取方式的不同可分为DIT-FFT(按时间抽取)和DIF-FFT(按频率抽取)算法。按蝶形运算的构成不同可分为基2,基4,基8,以及任意因子的类型。
3本次程序的基本过程
我们这次所研究的是数字信号处理中的FFT算法,我们这次所用的数字信号是复数类型的。
(1)所以首先,我们先定义了一个复数结构体,因为是进行复数的运算,我们又相继定义复数的加减乘运算的函数。
(2)紧接着,我们定义了进行FFT计算的fft()快速傅里叶变换函数initW() 初始化变换核函数即旋转因子的计算,change() 变址函数,output()输出傅里叶变换的结果的函数。
(3)定义主函数,并调用定义好的相关子函数,利用fft()中的蝶形运算以及change()函数来完成从时间域上选取的DIT-FFT。
2022-11-13
MATLAB字符串数组的创建与运算
【 * 例 4.1.1 -1 】先请读者实际操作本例,以体会数值量与字符串的区别。
clear % 清除所有内存变量
a=12345.6789 % 给变量 a 赋数值标量
class(a) % 对变量 a 的类别进行判断
a_s=size(a) % 数值数组 a 的“大小”
a =
1.2346e+004
ans =
double
a_s =
1 1
b='S' % 给变量 b 赋字符标量(即单个字符)
class(b) % 对变量 b 的类别进行判断
b_s=size(b) % 符号数组 b 的“大小”
b =
S
ans =
char
b_s =
1 1
whos % 观察变量 a,b 在内存中所占字节
Name Size Bytes Class
a 1x1 8 double array
a_s 1x2 16 double array
ans 1x4 8 char array
b 1x1 2 char array
b_s 1x2 16 double array
Grand total is 10 elements using 50 bytes
4.1.2 串数组的属性和标识
2022-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人