Forum: Mikrocontroller und Digitale Elektronik Unterabtastung, daraus resultierender Fehler?


von chm (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem: Ich habe ein Gyroskop vom TYP NGS1 
(Datenblatt ist hier: 
http://www.sensor-technik.de/images/stories/pdf/download/ngs1_datenblatt_de.pdf 
) an einer SPS angeschlossen. Leider kann ich nur alle 329ms das Signal 
vom Gyro abfragen. Da ich leider sehr wenig Ahnung von diesen Sachen 
habe, bräuchte ich eure Hilfe bei der Abschätzung der daraus 
resultierenden Fehler(möglichkeiten). Der Sensor hat laut Datenblatt 
eine Bandbreite von 40Hz, wenn ich jetzt aber nur mit 3 Hz abtaste, wie 
komme ich auf den Fehler?!

Vielen Dank im Voraus

von faustregel (Gast)


Lesenswert?

faustregel:
ein signal sollte mindestens doppelt so schnell abgetastet werden -> 
40Hz * 2 = 80Hz

von chm (Gast)


Lesenswert?

erstmal danke für deine antwort. diese faustregel habe ich auch schon 
gefunden, allerdings kann ich jetzt so ohne weiteres die abtastrate 
nicht ändern. kann ich das signal daher als komplett unbrauchbar 
ansehen, oder es in einem gewissen rahmen verwenden?!

von mr. mo (Gast)


Lesenswert?

evtl. das signal von einer 2. sps auswerten lassen und anschließen an 
die 1. sps senden.

wenns überhaupt geht ^^

von wonderfulworld (Gast)


Lesenswert?

Nach Nyquist (und das war glaub ich ein ziemlich schlauer Mensch) kannst 
du das Signal nicht verwenden.  Und das gilt nur für nicht verrauschte 
Signale. Also so ne kleine Überabtastung ist eigentlich immer zu 
empfehlen. Tut mir leid. :-)

Gruß wonderfulworld

von chm (Gast)


Lesenswert?

alles klar, herzlichen dank für eure antworten

von minifloat (Gast)


Lesenswert?

chm schrieb:
> kann ich das signal daher als komplett unbrauchbar
> ansehen, oder es in einem gewissen rahmen verwenden

interessieren dich denn überhaupt Frequenzanteile über 3Hz?
dann mach ein Tiefpass an den Sensör ran, der dir die Bandbreite nach 
oben hin begrenzt. Spitzen wirst du so nicht mehr sehen, sondern nur 
gemittelte Werte. Aber keine wegen Verletzung des 
Nyquist-Shannon-Abtasttheorems verfälschten Werte.

mfg mf

von Martin O. (ossi-2)


Lesenswert?

Wenn das eigentliche Signal, das vom Sensor geliefert wird,
keine Komponenten oberhalb von 1.5Hz hat, passiert kein Fehler.
Es kommt also daurauf an, was für ein Signal verarbeitet wird !

von HildeK (Gast)


Lesenswert?

wonderfulworld schrieb:
> Nach Nyquist (und das war glaub ich ein ziemlich schlauer Mensch) kannst
> du das Signal nicht verwenden.

Es ist zwar richtig, dass Nyquist ein schlauer Mensch war, aber das 
heißt noch lange nicht, dass man das Signal nicht verwenden kann.
Für diese Aussage würden auch Nyquist noch ein paar Angaben fehlen:
- Benötigen die Änderungen des Sensors wirklich 40 Hz BB? Oder wird der 
Sensor vielleicht viel langsamer bewegt, so dass das Ausgangssignal die 
1.5Hz gar nicht überschreitet?
- Sind das Schwingungen, die der Sensor registriert oder wird nur mal 
von einer Lage auf die andere gewechselt und dann ist lange Zeit Ruhe?

@chm
Beschreibe den Einsatz des Sensors mal näher und nenne die Bandbreite, 
die dein Ausgangssignal haben wird - und nicht die, die der Sensor im 
Maximalfall könnte.

von chm (Gast)


Lesenswert?

Der Sensor soll die Orientierungsänderung eines "Fahrzeugs" aufzeigen. 
Das Fahrzeug bewegt sich mit ca. 5 Km/h (konstant). In welcher 
Bandbreite die Signale jetzt effektiv liegen weiß ich ehrlich gesagt 
(noch?!) nicht.

von HildeK (Gast)


Lesenswert?

chm schrieb:
> In welcher
> Bandbreite die Signale jetzt effektiv liegen weiß ich ehrlich gesagt
> (noch?!) nicht.

OK. Fahrzeug in Anführungszeichen?
Denke also darüber nach, welche Bewegungen das "Fahrzeug" ausführt, 
welche du davon erfassen willst und wie schnell sich diese ändern 
können.

Es bleibt also dabei: solange die Änderungen keine Frequenzen über 1.5Hz 
produzieren, kannst du deinen Ansatz verwenden - sonst eben nicht.

von chm (Gast)


Lesenswert?

Erstmal herzlichen Dank für deine Hilfestellung!

Nunja, "Fahrzeug", weil das Teil eigentlich nur ein fahrender Kasten 
ist...

Fahren tut das Fahrzeug momentan nur gerade Strecken, bzw. meistens 
kleine Kurven (da wirkliche Geraden praktisch ja eher selten sind). 
Bevor das Fahrzeug losfährt wird der Ursprung eines Koordinatensystems 
auf diesen Startpunkt gesetzt. Über Odometrie wird jetzt die Bewegung in 
x bzw. y-Richtung bestimmt, und daraus dann noch die Orientierung, also 
Drehung des Fahrzeugs. Um die Berechnung der Position ein wenig zu 
verbessern wurde der angesprochene Gyrosensor eingebaut. Die 
Inkrementalgeber werden alle 1,75ms ausgelesen, entsprechend auch die 
Position im Koordinatensystem angepasst bzw. neu berechnet. Jetzt wird 
der Gyrosensor selbst nur alle 329ms ausgelesen. Dies passiert 2 mal. 
beim zweiten mal wird außerdem die Orientierung, welche durch die 
Odometrie alleine berechnet wurde, mit der Orientierung durch das 
Gyroskop verglichen, angepasst, und beide nach dieser "Kompensation" auf 
den gleichen kompensierten Wert gesetzt, und das ganze beginnt von vorn. 
Quasi eine Berechnung der Orientierung auf zwei Arten und ein 
anschließender vergleich. In Formeln vielleicht ein wenig anschaulicher:

alle 1.75ms:
Orientierung_Odometrie = Orientierung_Odometrie + 
Winkeländerung_Odometrie

alle 329ms:

Winkeländerung_Gyro = k_korr * Winkeländerung_Gyro
//AD-Signal wird mit empirisch ermittelten Korrekturfaktor multipl.

Orientierung_Gyro= Orientierung_Gyro+ Winkeländerung_Gyro

alle658ms:
abweichung = Orientierung_Gyro - Orientierung_Odometrie
komp = Orientierung_Gyro - abweichung/2

am Schluss(also noch immer 658ms) wird komp mit Orientierung_Gyro und 
Orientierung_Odometrie gleichgesetzt um ein und dieselbe 
Ausgangssituation wieder zu haben:
komp = Orientierung_Gyro = Orientierung_Odometrie

Ich hoffe das ist alles einigermaßen verständlich?!

Viele Grüße
chm

von HildeK (Gast)


Lesenswert?

Leider kenne ich mich mit diesen Sensoren nicht aus.

Es sieht aber ganz danach aus, dass die Änderungsgeschwindigkeit nicht 
besonders hoch sein wird. Dein Fahrzeug ist langsam, noch langsamer sind 
die Änderungen bez. der Richtung - das was der Gyro erfasst. Wie ich 
schon vermutet hatte: der Sensor wird mit seiner Geschwindigkeit gar 
nicht ausgereizt!
Besteht denn keine Möglichkeit, den Signalverlauf mal bei einer 
Probefahrt mitzuschneiden?
Meine Einschätzung ist, dass es klappen sollte. Wenn eine schnellere 
Änderung erfolgt, als dein Abtastsystem es zulässt, wird sie nicht in 
vollständig erfasst, d.h. dann kann dein Vergleich auseinanderlaufen 
obwohl beide Sensoren noch richtig messen. Wenn die neue Position stabil 
geworden ist, dann würden beide wieder übereinstimmen.

Zur Veranschaulichung:
Nimm einen Signalsprung und gib diesen auf einen Tiefpass mit 1Hz ... 
1.5Hz (den du sowieso benötigst). Dann siehst du die Abweichung während 
des Sprungs und wie sich das wieder annähert, wenn die Änderung wieder 
langsam oder zu Null wird.

von chm (Gast)


Lesenswert?

auf die Gefahr hin, dass ich mich mit dieser Frage ein wenig 
disqualifiziere:

Da ich sehr langsame Richtungsänderungen habe kann man annehmen, dass 
die Winkeländerung(bzw. Winkeländerungsgeschwindigkeit) über die 329ms, 
also das Zeitintervall in dem ich den Wert abhole, konstant ist, und ich 
somit dennoch einen mehr oder weniger korrekten Wert erhalte?! Oder 
anders formuliert: 1.5Hz entsprechen ca. 0.67ms Solange mein Fahrzeug 
innerhalb dieser 0.67 eine KONSTANTE Winkelgeschwindigkeit hat, ist 
alles in Ordnung?! Falls das nicht korrekt ist, wie müsste ich mir das 
sonst anschaulich vorstellen?
Tut mir leid, die Frage erscheint mir ein wenig dämlich, aber ich bin 
ziemlich fachfremd was Sensoren etc angeht...

von HildeK (Gast)


Lesenswert?

chm schrieb:
> Oder
> anders formuliert: 1.5Hz entsprechen ca. 0.67ms Solange mein Fahrzeug
> innerhalb dieser 0.67 eine KONSTANTE Winkelgeschwindigkeit hat, ist
> alles in Ordnung?! Falls das nicht korrekt ist, wie müsste ich mir das
> sonst anschaulich vorstellen?

Solange die Änderung des Messwertes die 1.5Hz nicht überschreitet, 
solange ist alles in Ordnung.

Wie ich schon sagte, ich kenne die Funktionsweise der Gyrosensoren 
nicht. Ich hätte vermutet, dass eine konstante Winkelgeschwindigkeit 
sogar einen festen Wert ausgibt.

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
Noch kein Account? Hier anmelden.