波形のゼロ点を抽出する方法

15 visualizzazioni (ultimi 30 giorni)
健気 大川
健気 大川 il 9 Lug 2021
Commentato: 健気 大川 il 12 Lug 2021
図のように波形があり、ピークの点から立ち下がる時の0点を取りたいです。条件として0点がない場合正と負で挟まれた点の負の点を取りたいです。どなたかお時間ある方助言をお願い致します。(今回の波形はあくまで例です)

Risposta accettata

Atsushi Ueno
Atsushi Ueno il 9 Lug 2021
Modificato: Atsushi Ueno il 9 Lug 2021
csvファイルから読み込んだ値に対してのゼロクロス検出。また、閾値変更方法について。 - MATLAB Answers - MATLAB Central (mathworks.com) を参考にして「ピークの点から立ち下がる時の0点」のインデックスをindexに格納しました。
t = 0:0.001:0.1;
y = sin(t*pi*180/3.0); % 今回の波形はあくまで例です
plot(t,y,'o');
hold on;
line(t,zeros(size(t))); % y=0の線を引く
index = find(y(1:end-1) > 0 & y(2:end) <= 0) + 1 % 0点がない場合正と負で挟まれた点の負の点
index = 1×3
18 52 85
plot(t(index), y(index),'o','MarkerSize',10); % ピークの点から立ち下がる時の0点を大きなマーカでプロット
  1 Commento
健気 大川
健気 大川 il 12 Lug 2021
ありがとうございます。解決いたしました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Logical in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!