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)分别用于实现正变换和逆变换,公式描述如下:
(3)函数描述
Y = fft(X)
用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。
·如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换。
·如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换。
·如果 X 是一个多维数组,则 fft(X) 将尺寸大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换。
注意这里第一个尺寸不为1是指一个矩阵的第一个尺寸不为1的维。
比如一个矩阵是2 1,那么第一个尺寸不为1的维就是行(尺寸为2)。
X是 1 2 3表示第一个尺寸不为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 点傅里叶变换。
2024-10-28 广告