Forum: Digitale Signalverarbeitung / DSP / Machine Learning Beschleunigungssensor Werte filtern


von Luky (Gast)


Lesenswert?

Ich habe einen analogen 3-Achs Beschleunigungssensor mit einem 
Tiefpassfilter an jedem Ausgang (1. Ordnung, R im IC integriert, C muss 
noch extern hinzugefügt werden)
Ich möchte nun die 3 Achsen mit einem AVR (10Bit, 15KHz ADC) einlesen 
und wenn möglich die Werte so korrigieren, dass es wie eine 
gleichzeitige Abtastung der 3 Kanäle aussieht.
Am Ende benötige ich 10Hz (x3) Abtastrate für die Berechnung im µC.
Wie muss ich nun korrekt abtasten und digital filtern?

von schalter_walter (Gast)


Lesenswert?

Wieso nicht alle Werte gleichzeitig per Sample and hold festhalten und 
dann nacheinander auslesen??

http://de.wikipedia.org/wiki/Sample-and-Hold-Schaltung#Bausteine

mfg

von Luky (Gast)


Lesenswert?

Wenn möglich würde ich einen Zusatzbaustein gerne verhindern und es im 
Controller lösen.

von Mark B. (markbrandis)


Lesenswert?

Luky schrieb:
> (10Bit, 15KHz ADC) einlesen
> Am Ende benötige ich 10Hz (x3) Abtastrate für die Berechnung im µC

30 Hz = dreißig Werte pro Sekunde ist doch sehr niedrig im Vergleich zu 
der Anzahl, die der ADC pro Sekunde liefern kann. Da ist ein Faktor 500 
dazwischen. Ist es wirklich so gravierend, wenn zwischen den 
Abtastwerten zweier Achsen eine Verzögerung von t = (1/15000) s = 
66,66666... µs liegt?
Oder aber kann vielleicht der Mikrocontroller nicht so schnell zwischen 
den verschiedenen Eingangssignalen für die A/D-Wandlung umschalten?

von Luky (Gast)


Lesenswert?

Ich würde die Werte eben gerne digital Filtern und bis auf den 
Filterkondensator auf externe Beschaltung weitestgehend verzichten.
Der 10Bit ADC des AVRs ist nicht gerade ein spitzenprodukt, also würde 
eine Mittelung über ein paar Samples auch nicht schaden.
Die frage ist eben, wie ich das korrekt durchführen kann, sodass am ende 
10Hz Abtastrate pro Kanal rauskommen..

von Filter-Tipp (Gast)


Lesenswert?

Ich weiß nicht, ob das eventuell zuviel Aufwand im AVR ist, aber 
prinzipiell kannst du doch einen diskreten Kalman-Filter benutzten, um 
unterschiedliche Abtastzeitpunkte benutzen zu können. Vielleicht kann 
sich noch mal jemand, der das schon mit einem AVR gemacht hat äußern. 
Sonst findest du unter dem Stichwort auf jeden Fall was.

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.