stftやpspec​trumで表示するス​ペクトログラムの横軸​を秒や分に任意に変え​る方法

32 次查看(过去 30 天)
Yuki Koyama
Yuki Koyama 2020-12-20
评论: Yuki Koyama 2020-12-23
stftやpspectrumで表示するスペクトログラムの横軸を秒や分に任意に変える方法はありますか?
stftやpspectrumのスペクトログラムプロットの機能には、入力された時間データの長さに従って単位を秒や分に自動で変える機能があります。
例えば以下のように、時刻データ長さを10秒にした場合は横軸が秒スケールになり、
また、以下のように100秒にしたときは分スケールになります。
100秒にした場合でも横軸のスケールが秒であってほしいのですが、そのための方法はありますか?

采纳的回答

Naoya
Naoya 2020-12-23
stft や pspectrum を戻り値なし実行で表示されるグラフについては、現状、単位が自動的に決定されます。誠に恐れ入りますが、関数の引数として単位を変更するオプションは提供されていません。
方法としては、 stft 実行時に戻り値を付けて頂きますと、得られる時間ベクトル t の単位が秒になりますので、手動でグラフ描画してください。
(実行例)
[s,f,t] = stft(x,fs);
imagesc(t,f,20*log10(abs(s))),caxis([-30 30])
  1 个评论
Yuki Koyama
Yuki Koyama 2020-12-23
ご回答ありがとうございます。
手動でグラフを描画することにします。
ありがとうございました!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 時間-周波数解析 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!