- 所望の周波数の範囲を表すindexを取得し、
- その範囲内で最大の信号強度とその位置を取得する
スペクトログラムから信号強度の高い場所を見つける方法
10 views (last 30 days)
Show older comments
画像処理で速度波形にS変換(S_transform)を適用し表示されたスペクトログラムで、
x軸を時間、y軸を周波数としたとき、特定の範囲の周波数(たとえば、0.5~1.0hzの間)から
もっとも信号強度の高い場所を探しその点の信号強度を数値で表す方法はなにかないでしょうか?
0 Comments
Accepted Answer
Shunichi Kusano
on 12 Jan 2021
こんにちは。
スペクトログラムの信号強度が配列として得られていると思いますので、
という流れで処理が可能です。
それぞれfind関数、max関数を組合わせて書きます。それぞれの使い方は詳細をご覧いただければと思います。なんとなくのコードだけ載せておきます。適宜読み替えてお使いください。
find = f > a & f < b; % 周波数範囲をインデックスとして取得.fが周波数を表すベクトル
p(~find,:) = 0; % 所望の周波数範囲外の信号強度はゼロとする。
pmax = max(p(:)); % 最大の信号強度値
[c,r] = find(p == max(p(:))); % その場所
0 Comments
More Answers (0)
See Also
Categories
Find more on マルチレート信号処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!