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! :)
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?
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
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
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.
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... )
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 ;)
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 ;)
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
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 :)
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.
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 :)
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 ;-)
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
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
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
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
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...
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
> 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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.