csvファイルから読み込んだ値に対してのゼロクロス検出。また、閾値変更方法について。
Afficher commentaires plus anciens
csvファイルから値を読み込み、ゼロクロスを検出し、その合計回数をはき出させるにはどのようにすればよいでしょうか?最終的にはゼロクロスの閾値を自由に指定して行いたいです。
Réponses (1)
いろんな方法で実現できるとは思いますが、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 Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!