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

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

채택된 답변

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 時間-周波数解析에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!