快速傅里叶变换matlab
时间: 2023-10-16 18:12:32 浏览: 65
基于MATLAB的快速傅里叶变换
MATLAB 中使用 `fft` 函数进行快速傅里叶变换(FFT)。下面是一个简单的示例代码:
```matlab
% 生成一个信号
t = 0:0.001:1;
x = sin(2 * pi * 50 * t) + sin(2 * pi * 120 * t);
% 对信号进行FFT
N = length(x);
y = fft(x);
f = (0:N-1)*(1/N);
power = abs(y).^2/N;
% 绘制信号及其FFT
subplot(2,1,1)
plot(t,x)
title('原始信号')
subplot(2,1,2)
plot(f,power)
title('信号的FFT')
```
在此示例中,我们首先生成一个包含两个正弦波的信号。然后使用 `fft` 函数对其进行FFT,并计算信号的功率谱密度。最后,我们将原始信号和FFT绘制在同一个图中。
注意:在使用 `fft` 函数进行FFT之前,信号的长度必须是2的幂次方。如果信号长度不是2的幂次方,则需要在信号末尾添加零以达到要求。
阅读全文