编写一个FFT加韩明窗的MATLAB程序
时间: 2023-10-20 11:05:41 浏览: 98
当然可以!以下是一个简单的MATLAB程序,用于实现FFT加汉明窗的操作:
```matlab
% 输入信号
x = [1, 2, 3, 4, 5, 6, 7, 8];
% 汉明窗函数
N = length(x);
w = hamming(N);
% 加窗后的信号
xw = x .* w';
% 做FFT
X = fft(xw);
% 绘制幅度谱
f = (0:N-1)*(1/N);
amplitude = abs(X);
plot(f, amplitude);
xlabel('Frequency');
ylabel('Amplitude');
title('FFT with Hamming Window');
```
这个程序首先定义了输入信号 `x`,然后使用 `hamming` 函数生成一个汉明窗的窗函数 `w`。接下来,程序将输入信号与窗函数相乘,得到加窗后的信号 `xw`。
然后,使用 `fft` 函数对加窗后的信号 `xw` 进行快速傅里叶变换,得到频域表示 `X`。
最后,程序绘制了频谱图,其中 x 轴表示频率,y 轴表示幅度。
请注意,这只是一个简单的例子,你可以根据自己的需求进行修改和扩展。希望对你有帮助!
阅读全文