スペクトログラムから​信号強度の高い場所を​見つける方法

4 Ansichten (letzte 30 Tage)
一輝 植野
一輝 植野 am 11 Jan. 2021
Beantwortet: Shunichi Kusano am 12 Jan. 2021
画像処理で速度波形にS変換(S_transform)を適用し表示されたスペクトログラムで、
x軸を時間、y軸を周波数としたとき、特定の範囲の周波数(たとえば、0.5~1.0hzの間)から
もっとも信号強度の高い場所を探しその点の信号強度を数値で表す方法はなにかないでしょうか?

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 12 Jan. 2021
こんにちは。
スペクトログラムの信号強度が配列として得られていると思いますので、
  1. 所望の周波数の範囲を表すindexを取得し、
  2. その範囲内で最大の信号強度とその位置を取得する
という流れで処理が可能です。
それぞれfind関数、max関数を組合わせて書きます。それぞれの使い方は詳細をご覧いただければと思います。なんとなくのコードだけ載せておきます。適宜読み替えてお使いください。
find = f > a & f < b; % 周波数範囲をインデックスとして取得.fが周波数を表すベクトル
p(~find,:) = 0; % 所望の周波数範囲外の信号強度はゼロとする。
pmax = max(p(:)); % 最大の信号強度値
[c,r] = find(p == max(p(:))); % その場所

Weitere Antworten (0)

Kategorien

Mehr zu 時間-周波数解析 finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!