私は、波のファイルを使ってピッチ/周波数の変化を調べるプロジェクトに取り組んでいます(私はMATLABを初めて使っていますが、 。私は時間 - 振幅グラフと周波数 - 振幅(FFTの後)グラフを見ることができますが、どのように周波数を分離し、各時点でそれを表示できますか?MATLAB - .wavファイルの時間 - 周波数グラフをプロットする
コード:
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);
あなたは「どのように周波数を分離し、各時点でそれを表示できますか?これにはいくつかの良い答えがありますが、それは重要ですが、あなたが望む意味での瞬時周波数などはないことを認識することが重要です。言い換えれば、各時点に一意に対応する頻度値は存在しません(または、少なくとも、時間領域データからその情報を導き出すことはできません。可能であれば、ハイゼンベルグの不確実性の原則に違反します) 。 –