写一段代码,在Matlab中使用spectrogram函数进行STFT分析
时间: 2024-05-29 08:11:33 浏览: 178
STFT代码_stft_matlabstft_
5星 · 资源好评率100%
% 示例代码:
% 生成一个频率为1000 Hz的正弦波信号,并加入高斯白噪声
fs = 8000; % 采样率为8000 Hz
f0 = 1000; % 信号频率为1000 Hz
t = 0:1/fs:1; % 时间轴
x = sin(2*pi*f0*t) + 0.5*randn(size(t)); % 信号加入高斯白噪声
% 进行STFT分析
window = hamming(256); % 窗口长度为256,采用Hamming窗口
noverlap = 128; % 重叠长度为128
nfft = 512; % FFT长度为512
[S,F,T] = spectrogram(x,window,noverlap,nfft,fs); % 调用spectrogram函数进行STFT分析
% 绘制频谱图
figure;
imagesc(T,F,abs(S)); % 绘制频谱图
axis xy; % y轴反向显示
xlabel('时间/s');
ylabel('频率/Hz');
title('信号频谱图');
阅读全文