MATLAB-FFT和IFFT的Matlab实现(幅频响应和相拼响应)

一、Matlab的FFT函数
(1)函数的用法
Y = fft(x)
Y = fft(X,n)
Y = fft(X,n,dim)
(2)函数的定义
Y = fft(x) 和 y = ifft(X)分别用于实现正变换和逆变换,公式描述如下:


image.png

(3)函数描述
Y = fft(X)
用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。

·如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换。
·如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换。
·如果 X 是一个多维数组,则 fft(X) 将尺寸大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。
注意这里第一个尺寸不为1是指一个矩阵的第一个尺寸不为1的维。

比如一个矩阵是21,那么第一个尺寸不为1的维就是行(尺寸为2)。
X是 1
23表示第一个尺寸不为1的维就是列(尺寸为2)。
X为维数5
6*2的话,第一个尺寸不为1的维就是行(尺寸为5)。
Y = fft(X, n)

返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同。
·如果 X 是向量且 X 的长度小于 n,则为 X 补上尾零以达到长度 n。
·如果 X 是向量且 X 的长度大于 n,则对 X 进行截断以达到长度 n。
·如果 X 是矩阵,则每列的处理与在向量情况下相同。
·如果 X 为多维数组,则大小不等于 1 的第一个数组维度的处理与在向量情况下相同。
Y = fft(X, n, dim)
返回沿维度 dim 的傅里叶变换。例如,如果 X 是矩阵,则 fft(X,n,2) 返回每行的 n 点傅里叶变换。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容