2011-01-22 6 views
0

Je développe une application pour un oscilloscope en C# .NET, je dessine différents types d'ondes (sinus, carré, etc ..) avec l'aide du contrôle de ZedGraph. Je reçois des valeurs de l'oscilloscope et stockées dans un tampon de taille 1024 (tableau d'octets) et dois calculer des paramètres comme la période, la fréquence, le temps de montée, le temps de chute, etc. à cet effet, je dois extraire seulement un seul cycle de signal entier.un autre problème est que les valeurs ne sont pas toujours augmenter ou diminuer en continu les valeurs moyennes sont stockées dans un tampon comme celui-ci [0,0,0,1,1,2, 3,4,5,5,6,6,6,5,5,4,3,2,1,1,0,0,0 ..........]. les signaux sont reçus en continu de la machine. Il n'est pas certain que les ondes oscillent toujours autour de zéro. Merci Cordialement Nileshfréquence calcul du signal en C# .net

Répondre

2

Vous pouvez estimer la fréquence un certain nombre de façons. Probablement le plus simple, si vous avez une librairie mathématique, est de calculer la FFT et de prendre la fréquence la plus basse.

Sinon, vous pouvez vérifier les passages à zéro (autour de la valeur moyenne). Plus vite il oscille environ 0 plus sa fréquence est élevée. De même, les extrema vous en disent beaucoup sur la fréquence (pensez à une sinusoïde dont les extrema et les zéros alternent et sont espacés régulièrement).

Il y a aussi une transformation appelée la période de transformer, mais je ne me souviens pas trop. Je l'ai vu dans un livre sur la musique pour trouver le tempo d'une chanson.

http://www.cs.berkeley.edu/~vazirani/s09quantum/notes/lecture4.pdf

Une autre façon peut-être utiliser l'auto-corrélation et quand il est grand, cela signifie que la fonction est en « sync » avec lui-même (en supposant qu'il ne change pas de forme à rapide). et il devrait être facile de calculer la distance entre ces maxima.

+0

« calculer la FFT et prendre la fréquence la plus basse » ne veut pas dire quoi que ce soit. Comment définissez-vous la fréquence la plus basse? –

+0

Huh? La fréquence la plus basse d'un signal discret discret est bien définie et facile à obtenir. – AbstractDissonance

0

Vous pouvez trouver la période de temps entre une crête et un creux, qui vous donnera la moitié de la longueur d'onde pour cette onde particulière.

alt text

Pour le graphique 1, le premier creux est 2, la première crête est 12. afficher l'heure de prendre entre ces points, et vous avez la moitié de la longueur d'onde.

Pour deux graphique, le même principe, vous pouvez calculer la longueur d'onde (et donc la période) pour chaque section du graphique

Questions connexes