Hallo!
ich bin neu hier. Ich hätte nämlich eine Frage bezüglich DSV.
Ich habe folgende Beschleunigunssensoren (ADXL335) deren Analogausgänge
durch Arduino erfassen und danach verarbeiten möchte.
Gut...laut Shannons Theorem, die Abtastfrequenz muss mindestens 2 Mal
die höchste Signalfrequenz sein, um AntiAliasing zu vermeiden. Also: F
>= 2*f.
Nun frage ich mich....woher weiß ich, welche ist die höchste auftretende
Frequenz in den Beschleunigungssensoren?!??!?!
Aus dem Datenblatt der Sensoren habe ich folgendes gefunden (siehe im
Anhang). Dennoch woher weiß ich welche Frequenzen durchlassen soll und
welche unterdrücken?
Mein Projekt ist ein Autopilot für RC-Flugzeugmodelle, die durch
darartigen Sensoren (und Gyro) und Arduino stabilisiert werden sollten.
Das Problem ist, dass ich nicht weißt, ab welche Grenzfrequenz des
Signals, soll das Signal unterdrückt werden.
Wenn ich drüber überlege, würde ich sagen, dass ich aus dem Flugzeug her
wissen soll, welche Frequenzen sich im Flug erzeugen werden könnten. Und
daher mich entscheinen, wie ich mein Filter realisieren werden kann.
Dennoch bin ich nicht sicher...
Könnt ihr mir einen guten Tipp geben?!?!
Danke!
Gruß
Dav
Motorvibrationen wirst du sicher nicht ausregeln können. Insofern kannst du ein Antialiasing-Filter einsetzen, dessen Grenzfrequenz deine Vibrationen vom Wandler fernhält und sich aus der Agilität deines Modells ergibt.
In der Regel wird bei sowas eine Kombination aus Gyroskopen und Beschleunigungssensoren eingesetzt (Stichwort: Inertial Measurement Unit (IMU))[1] Problematisch dabei ist, dass man mit Beschleunigungssensoren im dynamischen Fall nicht die Roll, Nick, Gier-Winkel messen kann, da durch fremde Beschleunigungen oder Vibrationen (außer der Erdanziehung) nicht der Winkel über dier ARCTAN-Funktion berechnet werden kann. Es entstehen enorme Fehler. Des Weiteren driften die Offsetspannungen der Beschleunigungs- und Gyrosensoren für gewöhnlich erheblich mit der Temperatur oder Zeit. Um dem entgegen zu wirken wird für gewöhnlich eine Sensordatenfussion mittels Kalmanfilter durchgeführt. Ein zweites Stichwort ist die Direction-Cosine-Matrix. Um Deinem eigentlichen Problem noch auf die schliche zu kommen ein Gedanke dazu: * Warum baust Du den Sensor nicht einfach ein und hängst einen einfachen Logger mit dazu rein der das auf ne SD o.ä. mitloggt ? Dann könnte man eine komplette statistische Auswertung dazu machen. Ansonsten schau Dich mal bei den Quadkopter-Leuten um, die machen dass auch alle so. [1] http://de.wikipedia.org/wiki/Inertialsensor [2] http://de.wikipedia.org/wiki/Roll-Nick-Gier-Winkel
Danke Werner und SNR, vielen vielen Dank. Zuerst wollte ich sagen, dass ich in Arduino schon ein Kalmanfilter geschrieben habe, dessen Aufgabe ist, das Driften der Gyro zu "überwinden" und die Ausgangwerte der Beschleunigungssensoren zu "stabilisieren". Auf dem "Schreibtisch" bekommen ich sehr gute Ergebnisse. Im Flug... Das Problem jedoch besteht darin, dass ich nur letztlich mit DSV (Ich lerne nun dieses Fach an der Uni) beschäftige. Und Konzepte wie Nyquistfrequenz, Aliasing, Tiefpaßfilter vor dem A/D vorschalten usw..waren mir absolut unbekannt. Nun...besitzte ich zumindest dieses Wissen, dennoch stelle ich mich nun solche Fragen, wie die ich euch gestellt habe. Ich finde den Tipp von SNR wirklich hilfreich. Am besten bau ich in Arduino ein Modul mit SD Karte un logge alle Daten im Flug ein. Deren Auswrtung zufolge kann ich mithilfe eines Tiefpasses die Werte irgendwie..."fitlern". ich danke euch herzlich für eute Tipps...bitte falls euch etwas anderes einfällt, sag mir bitte Bescheid. Bislang wünsche ich euch einen wunderschönen super Tag :) Gruß! David
Allerdings musst Du auch da das Nyquist-Kriterium einhalten!Du musst also einen Tiefpass vor schalten und hoch genug ab tasten um kein Aliasing zu bekommen (oder zumindest so hoch das die Amplitude der Spiegelfrequenzen nicht stören). Dann kannst Du eine Auswertung machen und dann evtl langsamer Abtasten.
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.