csvファイルから読​み込んだ値に対しての​ゼロクロス検出。また​、閾値変更方法につい​て。

7 vues (au cours des 30 derniers jours)
Fumiaki Esaki
Fumiaki Esaki le 20 Juil 2018
Modifié(e) : michio le 21 Juil 2018
csvファイルから値を読み込み、ゼロクロスを検出し、その合計回数をはき出させるにはどのようにすればよいでしょうか?最終的にはゼロクロスの閾値を自由に指定して行いたいです。

Réponses (1)

michio
michio le 21 Juil 2018
Modifié(e) : michio le 21 Juil 2018
いろんな方法で実現できるとは思いますが、1例として参考になりましたら。
以下のサイン波(変数 y)で考えます。
t = linspace(0, 8*pi, 1000);
y = sin(t);
plot(t,y)
y の前後の値を掛け合わせてマイナスの結果となる箇所は、値の符号が変わっている、すなわちゼロクロスが発生していると考え、
zeroCross = y(1:end-1).*y(2:end) < 0;
find 関数を使うと位置が分かります。
find(zeroCross)
ans =
125 250 375 500 625 750 875
任意の閾値というのは、その値を y から引くなどの処理で大丈夫そうですがいかがでしょう?

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!