matlab2018 短时傅里叶变换程序 傅里叶变换点数可调
时间: 2023-09-08 13:13:38 浏览: 154
短时傅里叶变换的matlab 程序
3星 · 编辑精心推荐
以下是 Matlab 2018 中进行短时傅里叶变换的示例程序,其中傅里叶变换点数为可调参数:
```matlab
% 读取音频文件
[x,fs] = audioread('audio_file.wav');
% 确定参数
winlen = 0.03; % 窗口长度为30ms
winshift = 0.015; % 窗口移动步长为15ms
nfft = 1024; % 傅里叶变换点数为1024
% 计算对应的参数
winlen = round(winlen*fs);
winshift = round(winshift*fs);
noverlap = winlen - winshift;
% 分帧
frames = enframe(x,winlen,winshift);
% 加汉明窗
hwin = hamming(winlen);
frames = bsxfun(@times,frames,hwin');
% 短时傅里叶变换
stft = stft(frames',nfft,noverlap);
% 显示结果
figure;
imagesc(abs(stft));
xlabel('Time (s)');
ylabel('Frequency (Hz)');
```
在上述程序中,`nfft` 为傅里叶变换点数,可以根据需求进行调整。
阅读全文