• 20.04.2024, 03:59
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Abtasttheorem

Donnerstag, 13. August 2009, 12:32

Folgender Fall :

Ich möchte eine Drehrate Messen (Gyro). Die Sensorbandbreite habe ich auf 10 Hz begrenzt (durch einen Filter). Ich gehe davon aus, dass sich das wahre Signal bzw die Drehrate mit 2Hz ändert.
Um somit die Drehrate vollständig zu rekonstrieren müsste ich mit 4Hz abtasten. Hierbei sei gesagt ich erhalte nur Zeitdiskrete Messwerte, diese haben auch nicht immer den gleichen zeitlichen Abstand voneinander.

Meine Frage : Stimmt das mit den 4 Hz und inwiefern beeinflusst der Filter mein Ausgangssignal bzw kommt es da zu Problemen da ich unter der Filtereckfrequenz abtaste.

Donnerstag, 13. August 2009, 15:09

das abtasttheorem ist theoretisch. praktisch sollte deine abtastrate etwas höher liegen als die doppelte maximal zu rekonstruierende frequenz. dazu gehört allerdings auch, dass du in gleichen zeitabständen abtastest, sonst variiert schließlich deine maximalfrequenz ... aber wenn du bereits zeitdiskrete messwerte bekommst, ist das bereits eine abtastung

der filter ist in dem sinne nicht optimal, da er das siganl auf 10Hz begrenzt statt auf die halbe abtastfrequenz. du kannst dir damit also theoretisch alias einfangen.
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Donnerstag, 13. August 2009, 15:24

Ja theoretisch ist alles möglich ......

Meine Frage ist wie wird denn in der Regel das gelöst mit den Messwerten am Pc erfassen. Weder Labview noch sonstwas ist zeitdiskret. Da das OS teilweise interupts erzeugt welche eine zeitdiskrete Messung nicht zulassen.
Auch wenn ich die Messwerte mit nem µC erfasse sind diese je nach auslastung dieses nicht optimal Zeitdiskret 1/100 Sekunde hab ich da auch Schwankungen

Donnerstag, 13. August 2009, 15:36

bei Frequenzen im einstelligen Hertz-Bereich ist das denke ich nicht so kritisch - du kannst dir ja mal ausrechnen, um wie viel die grenzfrequenz schwankt wenn deine abtastzeitpunkte um 0,01 sek variieren ;) zur sicherheit einfach statt 4 5 Hz als Abtastrate nehmen, so dass die schwankungen nicht das nutzsignal beeinflussen. außerdem kann man die abtastrate auch nachträglich digital reduzieren, falls nötig - einfach 20 Hz nehmen, damit es mit dem Filter zusammenpasst.
wie das am pc per software am besten gelöst wir, keine ahnung. bei höheren frequenzen aber idr mit externer hardware, zB mit einer soundkarte

wenn ich das mit einem µC machen würde, dann gerade in einem (timer)interrupt, um eben dieses problem der wechselnden auslastung zu vermeiden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dragonclaw« (13. August 2009, 15:38)

Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Donnerstag, 13. August 2009, 15:46

Was kommt denn aus dem Sensor überhaupt raus? Die Drehrate oder die Änderung der Drehrate? Wenn Du die Drehrate rekonstruieren willst musst Du mit der doppelten Frequenz der maximal möglichen Drehrate abtasten und nicht mit der doppelten Frequenz der maximal erwarteten Änderung der Drehrate.
Analoge Messsignale werden in der Regel mit einem A/D-Wandler für die Datenverarbeitung am PC aufbereitet.

Donnerstag, 13. August 2009, 16:19

Das Problem sieht wie folgt aus :

Sensorsignal -> Analogsignal

Das Signal ist natürlich verrauscht und hat was weiss der Geier noch für Anteile . Auf jedem Fall ist das Analogsignal proportional zu meiner Winkeländerung. Dieser Winkel ändert sich maximal 5 mal pro Sekunde.
Der Filter des Sensors unterdrückt Frequenzen über 10 Hz die ja sowieso nicht interessieren.

Die Auswertung des Signals übernimmt ein µC dieser wandelt das Signal des Sensors welches Typ. zw. 0 und 5 Volt liegt in einene entsprechenden Dezimalwert welcher mit 10 Bit aufgelöst ist.

Dieser Wert wird an einen Computer seriell übertragen .... je nachdem wie viel Daten bzw welche Zahl der µC überträgt ist das aber mehr oder weniger Arbeit und die Zeit mit der ich abtasten kann schwankt.
-> Wie löst man das

Donnerstag, 13. August 2009, 16:38

5 mal pro sekunde sind schonmal 5 Hz. ich würde mit dem mikrocontroller über einen timerinterrupt mit 20 Hz abtasten, und den wert direkt per uart an den host weiterreichen. zeitlich dürfte das nicht kritisch sein, einfach aufgrund der extrem geringen abtastfrequenz. da werden imho keine daten verloren gehen.
du kannst auch noch zu jedem abtastwert eine sequenznummer übertragen, damit du auf dem pc erkennst ob was fehlt, bei 20 Hz abtastrate hast du dann auch genug reserven um das auszugleichen
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Donnerstag, 13. August 2009, 17:09

Also ich taste jetzt mit 40 hz ab. Ich schicke mit jedem Messwert den aktuellen Stand des Times mit dieser Variiert um +- 1ms ich denke das kann man vernachlässigen. Problem hierbei ist die Integration ich denke durch das Signalrauschen bzw zufallsfehler läuft mir das Integral schon nach wenigen Sekunden weg. Ich denke das kommt unter anderem auch durch den Messfehler der Analog-Digitalwandlung. Wie fängt man sowas ab bzw ist es überhaupt sinnvoll sowas abzufangen.

Donnerstag, 13. August 2009, 21:25

hmm ... wenn der sensor nur 5 mal pro sekunde sein ausgangssignal anpasst, und du 40 messwerte pro sekunde nimmst und aufintegrierst, berücksichtigst du eigentlich jeden wert mehrfach ... muss selber überlgene, abtasten wird an der uni immer sehr theoretisch behandelt ;)
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Donnerstag, 13. August 2009, 23:51

Das müsste sich doch rausrechnen da ich die Zeit zwischen den Messpunkten ja habe. Ansonsten was soll ich denn machen ich kann ja nicht annehmen das zu dem Zeitpunkt sich am System nichts ändert bzw kein Messwert existiert. Laut deiner Theorie wenn ich z.b. 10 ° Messe und lese 100 mal die 10 ° aus ändert sich ja nix am Integral da das dt entsprechend klein wird.

Freitag, 14. August 2009, 08:57

stimmt auch wieder ...
willst du die drehrate direkt benutzen oder den drehwinkel des objektes bestimmen? wenn du die drehrate aufintegrierst kommst du auf den aktuellen winkel, da ist klar das dein integral aus dem ruder läuft, denn bei einem sich drehenden objekt wird der winkel über die zeit immer größer (regelstrecke ohne ausgleich), modulo 360 könnte helfen.
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Freitag, 14. August 2009, 10:50

Nur als Randbemerkung: Häufiger abtatsen als nötig geht immer, das Abtasttheorem gibt ja nur den Grenzwert an!

Auf der CD mit 44,1KHz Samplerate sind ja schießlich auch Töne unterhalb der 22KHz drauf, nicht wahr?

Ob man bei derart niedrigen Frequenzen ein Antialias-Filter überhaupt benötigt, ist fraglich - kritisch dürfte dessen Auslegung IMHO wohl nicht sein...

Freitag, 14. August 2009, 11:07

Nur als Randbemerkung: Häufiger abtatsen als nötig geht immer, das Abtasttheorem gibt ja nur den Grenzwert an!

Auf der CD mit 44,1KHz Samplerate sind ja schießlich auch Töne unterhalb der 22KHz drauf, nicht wahr?
wurde irgendwo was anderes behauptet? ich hoffe nicht...
der filter scheint fest im sensor integriert zu sein, und ist denke ich primär dafür gedacht das ausgangssignal zu glätten (entfernen von spannungsspitzen oder sonstigem hochfrequenten rauschen) und nicht um in dem sinne alias zu verhindern ... grob formuliert ...

btw gibts eigentlich ein datenblatt zu dem sensor?`

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dragonclaw« (14. August 2009, 11:08)

Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.

Freitag, 14. August 2009, 16:16

Zitat

wurde irgendwo was anderes behauptet? ich hoffe nicht...


Naja, ich hatte hier sowas herausgelesen:

Zitat

hmm ... wenn der sensor nur 5 mal pro sekunde sein ausgangssignal anpasst, und du 40 messwerte pro sekunde nimmst und aufintegrierst, berücksichtigst du eigentlich jeden wert mehrfach ...


Aaaaber beim zweiten drüberschauen sind die wichtigen Worte in dem Satz "und aufintegrierst", und damit hat sich mein Post von oben erledigt und in Luft aufgelöst....

Freitag, 14. August 2009, 17:51

So alles im grünen Bereich. Ich konnte das Sensorsignal soweit stabilisieren dass der Digitalwert in Ruhelage nur um +- 1 Digit schwankt , was sich ja nicht vermeiden lässt.

Problem ist jetzt das Integral :

- Erfassung des Sensorsignals mit Labview -> Messwert stimmt (Analogsignal ) da sich aber das Schwanken des Signals im einige mV bereich nicht unterdrücken lässt integriert der sich da den Wolf und es kommt schon nach 1er Sekunde nur Mist raus. Wie unterbindet man sowas ? Gerade bei Analogen eingangsgrößen

-Erfassung als Digitalwert indem ich das Analogsignal über den A/D Wandler schicke. Folglich erhalte ich einene Messwert von +- 1 Digit welcher sich aber über die Zeit nicht rausmittelt....... sondern zu den Wildesten Integralergebnissen führt ...... wie unterbindet man das.

Ein Ansatz der mir jetzt einfallen würde wäre die Empfindlichkeit runter zu setzen. Was aber auch nicht das non plus Ultra ist.

Freitag, 14. August 2009, 18:26

das einfachste wär wohl wirklich das schwankende digit wegzulassen. du kannst dich ja eh nicht drauf verlassen, von daher verlierst du ihmo auch keine genauigkeit ... was besseres fällt mir aber grad nicht ein, ist aber bestimmt kein so triviales problem ;)s
Verwende keine sinnlose Gewalt. Hol einen größeren Hammer.