MATLAB中的快速傅里叶变换
快速傅立叶变换是一种计算任何信号或矢量的离散傅立叶变换的算法。这是通过将信号分解成离散的频率来实现的。我们将不讨论其数学背景,因为这不在本文的范围之内。MATLAB提供了一个内置函数来计算信号的快速傅里叶变换,即FFT函数。
语法:
A = fft(X, n, dim)
其中A存储的是信号X的离散傅里叶变换(DFT),它可以是一个矢量、矩阵或多维数组。n指定X的n点DFT,如果没有指定,则是X的所有点。
让我们看看矢量的实践,因为它们是更实用的信号处理方式。我们将计算一个被一些随机误差破坏的假正弦波的DFT。
示例 1:
输出:
随机正弦波信号的FFT
让我们再举一个例子,我们将用FFT计算一个矩形脉冲的DFT。
示例 2:
输出:
现在,我们将对一个矩阵进行快速傅里叶变换。
示例 3:
输出:
输出将在三种情况下给我们提供傅里叶变换。
1.沿着整个矩阵进行FFT。
2.沿着维度1的FFT
3.沿着维度2的FFT