air*_*n19 6 matlab signal-processing graph frequency wave
我正在研究一个项目,该项目涉及使用波形文件查看音高/频率随时间的变化(我是MATLAB的新手,但不是编程).我能够看到时间幅度图和频率幅度(在FFT之后)图,但是我如何能够隔离频率并在每个时间点显示它?
码:
filename = '/Users/Username/Sample_1.wav'
[y, fs] = wavread(filename);
y = y(:,1);
dt = 1/fs;
t = 0:dt:(length(y)*dt)-dt;
plot(t,y); xlabel('Seconds'); ylabel('Amplitude');
transformed = fft(y);
mag = abs(transformed);
plot(mag);
Run Code Online (Sandbox Code Playgroud)
如果您有信号处理工具箱,那么您可能会发现该spectrogram功能很有用.
如果不这样做,那么您可以通过计算时域数据的连续(可能重叠)窗口段的FFT来手动实现相同的效果,然后绘制幅度.
这基本上是短时傅立叶变换(STFT).