Azzera filtri
Azzera filtri

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

24 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)

Tag

Community Treasure Hunt

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

Start Hunting!