Forum: Mikrocontroller und Digitale Elektronik Gierratensensor: Maßnahmen gegen Rauschen


von J. S. (nonexistence)


Angehängte Dateien:

Lesenswert?

Ich lese mit dem AT90CAN128 die Gierrate mit dem ADIS16060 aus. Die 
ausgelesenen Daten sind aber komplett verrauscht. Was kann ich dagegen 
tun? Danke für etwaige Tipps und Hilfe schon im Voraus! :)

von Max M. (jens2001)


Lesenswert?

Kondensator zw. FILT u. RATE ?

von J. S. (nonexistence)


Lesenswert?

Max Mustermann schrieb:
> Kondensator zw. FILT u. RATE ?

Den gibt es bereits ;)
Andere Vorschläge?
Kann es auch sein, dass ich einfach beim Auslesen oder Konfigurieren 
einen Fehler mach?

von Max G. (l0wside) Benutzerseite


Lesenswert?

Digitales Tiefpassfilter. Wenn du ein bisschen Speicher und 
Rechenleistung spendieren kannst, als FIR, ansonsten als IIR.

Der Nachrichtentechniker in mir sagt jetzt: FIR nehmen, weil immer 
stabil. Und keinen einfachen Rechteck (entspräche einem gleitenden 
Mittelwert), sondern etwas Besseres. Siehe z.B. 
http://t-filter.appspot.com/fir/index.html, der würfelt dir gleich die 
Koeffizienten.

Max

von Karl H. (kbuchegg)


Lesenswert?

J. S. schrieb:
> Max Mustermann schrieb:
>> Kondensator zw. FILT u. RATE ?
>
> Den gibt es bereits ;)
> Andere Vorschläge?
> Kann es auch sein, dass ich einfach beim Auslesen oder Konfigurieren
> einen Fehler mach?

Welcher Drehrate bzw. welchem Rauschen der Drehrate entsprechen denn die 
von dir gezeigten Werte?

Das der Sensor nicht eine glatte Linie rausgeben wird, sollte klar sein. 
Alle Sensoren rauschen in der einen oder anderen Weise. Die Frage ist: 
wie gross ist dieses Rauchen in Bezug auf das Nutzsignal? Dein Wert 
schwankt um ca. 1000 Einheiten. Nur, wieviel ist das ausgedrückt in 
Winkelgeschwindigkeit? Liegt dieser Wert in einer plausiblen 
Größenordnung?
15°/Sekunde wären nicht plausibel. Da würde es naheliegen, dass 
irgendwas nicht stimmt.
0.015°/Sekunde wären plausibel. Das würde ich jedem Gierratensensor in 
dieser Preisklasse unbesehen abkaufen.

: Bearbeitet durch User
von Max M. (jens2001)


Lesenswert?

Ist das ein Ratepiel?

von Purzel H. (hacky)


Lesenswert?

Nein, das Rauschen ist einfach so da. Bedenkend von wie kleinen Systemen 
diese extrem kleinen Signale herkommen ... Was sagt denn das Datenblatt 
zum Rauschen?
Es gibt beliebig viele andere Anwendungen, wo wir auch gerne das 
Rauschen wegzaubern moechten, und muessen nun teilweise tagelang 
aufsummieren.

Gierraten kann man auch bei erhoehten Anforderungen auch mit 
Laserkreiseln messen. Das Preisschild hat ein paar Nullen mehr.

von J. S. (nonexistence)


Lesenswert?

Max G. schrieb:
> Digitales Tiefpassfilter. Wenn du ein bisschen Speicher und
> Rechenleistung spendieren kannst, als FIR, ansonsten als IIR.
>
> Der Nachrichtentechniker in mir sagt jetzt: FIR nehmen, weil immer
> stabil. Und keinen einfachen Rechteck (entspräche einem gleitenden
> Mittelwert), sondern etwas Besseres. Siehe z.B.
> http://t-filter.appspot.com/fir/index.html, der würfelt dir gleich die
> Koeffizienten.
>
> Max

Cool, danke für deine Antwort!

Den FIR-Filter muss ich mit der Software realisieren oder wie?? 
(Entschuldige die blöde Frage, aber ich bin ein totaler Neueinsteiger 
auf dem Gebiet... )

von J. S. (nonexistence)


Lesenswert?

Karl Heinz schrieb:
> Welcher Drehrate bzw. welchem Rauschen der Drehrate entsprechen denn die
> von dir gezeigten Werte?

Die Drehrate sollte 0 sein (also sollte der Sensor konstant um die 8192 
liefern).

> Das der Sensor nicht eine glatte Linie rausgeben wird, sollte klar sein.
> Alle Sensoren rauschen in der einen oder anderen Weise. Die Frage ist:
> wie gross ist dieses Rauchen in Bezug auf das Nutzsignal? Dein Wert
> schwankt um ca. 1000 Einheiten. Nur, wieviel ist das ausgedrückt in
> Winkelgeschwindigkeit?

Ja, das ist natürlich klar, aber mit diesen Werten kann man überhaupt 
nichts anfangen. Laut Datenblatt entsprechen 820 Einheiten 10°/sec.

> Liegt dieser Wert in einer plausiblen Größenordnung?

nein ;)

von J. S. (nonexistence)


Lesenswert?

Siebzehn Zu Fuenfzehn schrieb:
> Was sagt denn das Datenblatt
> zum Rauschen?

Naja, eigentlich nur, dass man die Bandbreite mit einem Kondensator 
zwischen RATE und FILT einstellen kann...

> Gierraten kann man auch bei erhoehten Anforderungen auch mit
> Laserkreiseln messen. Das Preisschild hat ein paar Nullen mehr.

Das kommt nicht in Frage. Es muss der ADIS16060 sein ;)

von Detlef _. (detlef_a)


Lesenswert?

Naja,
spec. sagt zu noise 0.04 °/sec/sqrt(Hz)
Bandbreite ist 1kHz, kommt 1.25 °/sec noise raus, bei 14Bit und 80°/sec 
full scale sind das effektiv 260ticks. Könnte hinhauen mit dem Signal 
aus dem Bild.

Alles gut, rauscht halt soviel, filtern, Bandbreite kleiner.

Cheers
Detlef

von J. S. (nonexistence)


Lesenswert?

Detlef _a schrieb:
> Naja,
> spec. sagt zu noise 0.04 °/sec/sqrt(Hz)
> Bandbreite ist 1kHz, kommt 1.25 °/sec noise raus, bei 14Bit und 80°/sec
> full scale sind das effektiv 260ticks. Könnte hinhauen mit dem Signal
> aus dem Bild.
>
> Alles gut, rauscht halt soviel, filtern, Bandbreite kleiner.
>
> Cheers
> Detlef

Ich danke dir vielmals. Das ist ja mal ein Feedback, danke nochmal :)

von Purzel H. (hacky)


Lesenswert?

EIN FIR Filter, ist ein Software Filter, und kommt auf einen Tiefpass 
hinaus. Bei groesseren Zeiten, wenden Analogfilter zu klotzig, dann sind 
die FIR kleiner, der Effekt ist aber identisch.

von J. S. (nonexistence)


Lesenswert?

J. S. schrieb:
> Detlef _a schrieb:
>> Naja,
>> spec. sagt zu noise 0.04 °/sec/sqrt(Hz)
>> Bandbreite ist 1kHz, kommt 1.25 °/sec noise raus, bei 14Bit und 80°/sec
>> full scale sind das effektiv 260ticks.

Kannst du mir noch erklären, wie du auf die 260 Ticks kommst? Und wie 
kommst du dann drauf, dass das Rauschen im Bild eh dem Angaben im 
Datenblatt entspricht??
Ich danke Dir :)

von Mike (Gast)


Lesenswert?

Siebzehn Zu Fuenfzehn schrieb:
> Bei groesseren Zeiten, wenden Analogfilter zu klotzig, dann sind
> die FIR kleiner, der Effekt ist aber identisch.

Wie sollte man bei dem ADIS16060 auch ein Analogfilter zwischenschalten. 
Da der seinen 14-Bit ADC bereits intern hat, dürfte es etwas fummelig 
werden, da mit zusätzlicher analoger Signalaufbereitung dazwischen zu 
kommen ;-)

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

J. S. schrieb:
> J. S. schrieb:
>> Detlef _a schrieb:
>>> Naja,
>>> spec. sagt zu noise 0.04 °/sec/sqrt(Hz)
>>> Bandbreite ist 1kHz, kommt 1.25 °/sec noise raus, bei 14Bit und 80°/sec
>>> full scale sind das effektiv 260ticks.
>
> Kannst du mir noch erklären, wie du auf die 260 Ticks kommst? Und wie
> kommst du dann drauf, dass das Rauschen im Bild eh dem Angaben im
> Datenblatt entspricht??
> Ich danke Dir :)


> Kannst du mir noch erklären, wie du auf die 260 Ticks kommst? Und wie

Hab ich probiert:
>>spec. sagt zu noise 0.04 °/sec/sqrt(Hz)
Bandbreite ist laut datasheet 1kHz, Wurzel daraus ungefähr 31,

31*sqrt(Hz)*0.04°/sec/sqrt(hz) ~ 1.25°/sec

Dreisatz jetzt: 2^14 ticks entspricht 80°/sec, dann entspricht 1.25°/sec 
ungefähr 260.

>>>>>Und wie
> kommst du dann drauf, dass das Rauschen im Bild eh dem Angaben im
> Datenblatt entspricht??

Von Deinen Messdaten hast Du ein Bild angehängt. Ich habe ein Bild 
angehängt mit synthetisiertem, weissen, gaussverteiltem Rauschen. Das 
hat effektiv 200ticks, Spitze/Spitze ungefähr 1100 und sieht so ähnlich 
wie Dein Rauschen aus. Aus Deinem Bild hatte ich den Effektivwert von 
ca. 260 auch geschätzt.

Cheers
Detlef

von J. S. (nonexistence)


Lesenswert?

Hmm jaaa, danke!

Aber es ist doch so, dass 2^14 +/- 80°/sec entsprechen. Also 2^14 
entspricht 160°/sec. Also sind 1,25 °/sec um die 100 Ticks... Und die 
Daten im Bild haben doch viel viel mehr Abweichung als 100! Oder lieg 
ich falsch? Ist es doch kein Rauschen? Woran kann der Fehler sonst 
liegen?

: Bearbeitet durch User
von Oldie (Gast)


Lesenswert?

Vor den aufwändigeren Maßnahmen:

Fang doch erstmal damit an, den (gleitenden) Mittelwert aus
je N = 4 (8, 16) Messungen aufzuzeichnen, statt der Rohdaten.

Eventuell lässt sich damit schon das Rauschen deutlich mindern
- oder man erkennt eine Tendenz, bzw. woran es liegen könnte.

Vorteil des gleitenden Mittelwerts ist auch noch, dass seine
Verzögerung einfach zu überblicken ist: N/2 * Sampleperiode

von Detlef _. (detlef_a)


Lesenswert?

J. S. schrieb:
> Hmm jaaa, danke!
>
> Aber es ist doch so, dass 2^14 +/- 80°/sec entsprechen. Also 2^14
> entspricht 160°/sec. Also sind 1,25 °/sec um die 100 Ticks... Und die
> Daten im Bild haben doch viel viel mehr Abweichung als 100! Oder lieg
> ich falsch? Ist es doch kein Rauschen? Woran kann der Fehler sonst
> liegen?

Faktor 2 ist bei dieser Schätzerei immer drin.

>>Und die Daten im Bild haben doch viel viel mehr Abweichung als 100!
Es geht nicht um die Abweichung, bei gaussverteiltem Rauschen kann die 
beliebig gross werden. Bei Rauschsignalen ist die Rauschenergie die 
Varianz des Signals 
http://de.wikipedia.org/wiki/Varianz_%28Stochastik%29
Die Wurzel daraus ist die Standardabweichung, das ist der Effektivwert 
des überlagerten Rauschens, den kannste direkt in Ticks des A/D 
übersetzen.

Dein Bild kommt vllt. aus Matlab, da kannst Du die Standardabweichung 
deines Signals mit std() berechnen. Das Bild habe ich mit 
plot(200*randn(1,2000)+7600) erzeugt, das hat 200 ticks überlagerten 
Effektivwert, aber die Originaldaten kenne ich nicht.

Das Ganze ist plausibel, Du mißt richtig, vermute ich. Ordentlich 
tiefpaßfiltern, das glättet die Werte und macht die Bandbreite kleiner, 
was das gleiche ist.

Cheers
Detlef

: Bearbeitet durch User
von J. S. (nonexistence)


Lesenswert?

Detlef _a schrieb:
> J. S. schrieb:
>>
>> Aber es ist doch so, dass 2^14 +/- 80°/sec entsprechen. Also 2^14
>> entspricht 160°/sec. Also sind 1,25 °/sec um die 100 Ticks...
> Faktor 2 ist bei dieser Schätzerei immer drin.

Was meinst du damit, dass der Faktor 2 bei dieser Schätzerei immer mit 
drin ist? In wie fern????

Alles andere ist ganz klar. Die Standardabweichung ist immer um die 260 
- 290 Ticks...

von Detlef _. (detlef_a)


Lesenswert?

J. S. schrieb:
> Detlef _a schrieb:
>> J. S. schrieb:
>>>
>>> Aber es ist doch so, dass 2^14 +/- 80°/sec entsprechen. Also 2^14
>>> entspricht 160°/sec. Also sind 1,25 °/sec um die 100 Ticks...
>> Faktor 2 ist bei dieser Schätzerei immer drin.
>
> Was meinst du damit, dass der Faktor 2 bei dieser Schätzerei immer mit
> drin ist? In wie fern????

Mit der Bemerkung wollte ich tarnen, dass ich im Datenblatt nur 80°/sec 
wahrgenommen hatte und nicht +/- 80° ;-))
Aber es ging bei der Betrachtung auch nur um Grössenordnungen, ich 
kannte die Standardabweichung Deiner Daten ja nicht.

>
> Alles andere ist ganz klar. Die Standardabweichung ist immer um die 260
> - 290 Ticks...

260 Ticks Rauscheffektivwert macht 2.53°/sec 
Winkelgeschwindigkeitsrauschen. Bißchen über der spec, aber doch keine 
Welten.

Du muß die Werte jetzt tiefpaßfiltern, damit kannst Du Geschwindigkeit 
gegen Genauigkeit handeln: Entweder schnell falsche Werte oder langsam 
richtige. Dein Filter hängt jetzt von den Anforderungen ab, die Du an 
den Meßwert hast.

Cheers
Detlef

von J. S. (nonexistence)


Lesenswert?

> 260 Ticks Rauscheffektivwert macht 2.53°/sec
> Winkelgeschwindigkeitsrauschen. Bißchen über der spec, aber doch keine
> Welten.

Naja, es ist doppelt so viel, wie im Datenblatt steht. Hab ich vl nicht 
doch irgendwo einen Fehler eingebaut?
An was könnte das Raschen denn sonst noch liegen?

> Du muß die Werte jetzt tiefpaßfiltern, damit kannst Du Geschwindigkeit
> gegen Genauigkeit handeln: Entweder schnell falsche Werte oder langsam
> richtige. Dein Filter hängt jetzt von den Anforderungen ab, die Du an
> den Meßwert hast.


Also eh schon wie der andere Kollege gemeint hat, ein FIR-Filter 
implementieren?

von Purzel H. (hacky)


Lesenswert?


von Detlef _. (detlef_a)


Lesenswert?

Wie hacky schon schrieb, IIR 1.Ordnung als Tiefpass ist viel weniger 
Aufwand, hier auch mal beschrieben:

Beitrag "Grenzfrequenz digitaler Tiefpass"

'leaky integrator' heissen die im Netz.

Cheers
Detlef

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.