Hallo... hat hier jemand vielleicht eine gute Idee, wie ich schnell und einfach mit Hilfe des ADC eine Spannung auswerten kann?? Die Spannung ist eine Sinusspannung mit Offset. Ich möchte gerne die etwa Frequenz des Sinus und die Offsetspannung sowie die Amplitude der Sinusspannung bekommen. Max. Frequenz des Sinus sind so 200Hz. Ich möchte von euch kein Programm, sondern ein paar kreative Ideen wie man sowas realisieren kann. Besten Dank, Gruss Matze
1.) Über einen "längeren" (200 ms) Zeitraum samplen mit mindestens 5 kHz oder mehr. 2.) Mittelwert der Samples ist die Offset-Spannung. 3.) Spitzenwerte der Samples mit Hilfe des Mittelwerts suchen und daraus die Amplitude errechnen. 4.) Optinal: Erechnete Offset-Spannung auf die Hälfte der gefundenen Spitze-Spitze-Werte korregieren. 5.) Anhand der errechneten Offset-Spannung den Sinus in ein Rechtecksignal umrechnen. 6.) Vom Rechtecksignal die Zeitabstände von allen 0-1-0 Übergängen messen und den Mittelwert davon berechnen. Der Inverswert dieses Mittelwerts ist die Frequenz. (Den ersten und den letzen in den Samples nicht verwenden da die angeschnitten sind). Optional: Mehrere solcher Messzyklen (vielleicht so 5 bis 10) und die Mittelwerte der errechneten Offset-Spannung und Freqeunz berechnen.
Ich hab mich ein bisschen ungenau ausgedrückt, ich möchte den Sinus erkennen, also zB unterscheiden ob Sinus oder Sägezahn etc. wenn du so willst eine Auswertung eines Funktionsgenerators zB. Sorry, das ging aus dem ersten Beitrag nicht so hervor.
Tja, das ist nicht ganz so trivial aber machbar. Du musst Dir halt überlegen, wann der Sinus auch als Sinus erkannt werden soll, also wie optimal der gemessene Sinus sein muss. Wenn Du Frequenz, Amplitude und Offset gemessen hast, kannst Du ja einen dazu passenden Sinus in einem anderen Puffer berechnen, und dann die beiden Puffer (gemessener "Sinus" und errechnetere, echter Sinus) Sample für Sample vergleichen. Für den Vergelich bildest Du am besten eine Fehler-Quadratsumme. Also für jedes Sample den Fehler zwischen gemessen und errechnet quadrieren und alle diese Quadrate zusammenzählen. So könntest Du das gemesse Signal mit verschiedenen errechneten Signalen vergleichen. Das mit der kleinsten Fehlerquadratsumme ist das gemessene. Zusätzlich könntest Du noch ein Obergrenze einbauen, so dass "zu falsche" Signale nicht als Sinus oder Dreieck oder sonst etwas erkannt werden können. Eine andere Möglichkeit wäre, sogenannte "Kreuzkorrelation". Dazu einfach mal in der Wikipedia schmökern: http://de.wikipedia.org/wiki/Kreuzkorrelation
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.