2017-02-17 9 views
-1

私はスペイン語の音素のアコースティック波形を持っており、その振幅スペクトルを計算し、線形周波数スケールでdBの大きさでプロットしたいと思います。これをMATLABでどのように達成することができますか?リニア周波数スケールのアコースティック波形をプロットする

おかげ

+0

_spectrum_: 'fft'、' abs'、そしてプロットの 'fftshift'を忘れないでください。 _spectrogram_: 'スペクトログラム 'の場合、既に電力密度を提供しているので、' abs'の必要はありません –

答えて

1

まず迅速なヘッドアップ:あなたが問題を解決するために、あなた自身の努力の一部を表示し、助けを求めることが予想されるのstackoverflowで。あなたの質問に今

あなたが「スペクトログラム」MATLAB関数を使用してスペクトログラムをプロットすることができます。

[s,f,t] = spectrogram(x,window,noverlap,f,fs) 

ここで詳細を確認します。https://www.mathworks.com/help/signal/ref/spectrogram.html

を使用すると、サンプリング周波数「FS」を指定したいと思うでしょう音声信号の場合は(あなたが使用してファイルを読み込むときにすることを得ることができます。

[y,Fs] = audioread(filename) 

音声信号はウィンドウの大きさに応じて異なるプロパティを表示できるため、変数 "window"と "noverlap"を指定することをお勧めします(大きなウィンドウでは高速現象は表示されません)。オーバーラップ(selecサンプリング周波数と、高速フーリエ計算のための最も近い2^n値を考慮することによって最良の値)。

ウィンドウのサイズとオーバーラップは、スペクトラムを計算するときにも有効です。波形全体にFFTを適用すると、その文の「平均」スペクトル情報が得られます。特定の現象を捕まえるには、ウィンドウ技術を使用し、短期フーリエ解析を実行する必要があります。