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

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

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 9 Jul 2021
Edited: Atsushi Ueno on 9 Jul 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 Comment
健気 大川
健気 大川 on 12 Jul 2021
ありがとうございます。解決いたしました。

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!