- 所望の周波数の範囲を表すindexを取得し、
- その範囲内で最大の信号強度とその位置を取得する
スペクトログラムから信号強度の高い場所を見つける方法
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
一輝 植野
le 11 Jan 2021
Réponse apportée : Shunichi Kusano
le 12 Jan 2021
画像処理で速度波形にS変換(S_transform)を適用し表示されたスペクトログラムで、
x軸を時間、y軸を周波数としたとき、特定の範囲の周波数(たとえば、0.5~1.0hzの間)から
もっとも信号強度の高い場所を探しその点の信号強度を数値で表す方法はなにかないでしょうか?
0 commentaires
Réponse acceptée
Shunichi Kusano
le 12 Jan 2021
こんにちは。
スペクトログラムの信号強度が配列として得られていると思いますので、
という流れで処理が可能です。
それぞれfind関数、max関数を組合わせて書きます。それぞれの使い方は詳細をご覧いただければと思います。なんとなくのコードだけ載せておきます。適宜読み替えてお使いください。
find = f > a & f < b; % 周波数範囲をインデックスとして取得.fが周波数を表すベクトル
p(~find,:) = 0; % 所望の周波数範囲外の信号強度はゼロとする。
pmax = max(p(:)); % 最大の信号強度値
[c,r] = find(p == max(p(:))); % その場所
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur マルチレート信号処理 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!