matlab 加窗处理
时间: 2023-12-06 10:36:50 浏览: 137
以下是MATLAB中加窗处理的示例代码:
1. 使用汉宁窗对信号进行加窗处理,并进行FFT变换
```matlab
% 生成正弦波信号
fs = 1000; % 采样频率
t = 0:1/fs:1-1/fs; % 时间向量
f = 10; % 信号频率
x = sin(2*pi*f*t); % 正弦波信号
% 对信号进行汉宁窗加窗处理
w = hann(length(x)); % 生成汉宁窗
xw = x.*w'; % 信号加窗处理
% 进行FFT变换
N = length(xw); % 信号长度
X = fft(xw)/N; % FFT变换
f = (0:N-1)*(fs/N); % 频率向量
% 绘制频谱图
figure;
plot(f,abs(X));
xlabel('频率(Hz)');
ylabel('幅值');
title('汉宁窗加窗处理后的频谱图');
```
2. 使用矩形窗对信号进行加窗处理,并进行FFT变换
```matlab
% 生成正弦波信号
fs = 1000; % 采样频率
t = 0:1/fs:1-1/fs; % 时间向量
f = 10; % 信号频率
x = sin(2*pi*f*t); % 正弦波信号
% 对信号进行矩形窗加窗处理
w = rectwin(length(x)); % 生成矩形窗
xw = x.*w'; % 信号加窗处理
% 进行FFT变换
N = length(xw); % 信号长度
X = fft(xw)/N; % FFT变换
f = (0:N-1)*(fs/N); % 频率向量
% 绘制频谱图
figure;
plot(f,abs(X));
xlabel('频率(Hz)');
ylabel('幅值');
title('矩形窗加窗处理后的频谱图');
```
阅读全文