Hallo Zusammen Ich möchte ein Lowpass Filter Funktion für meinen PIC32 schreiben. Ich möchte den float Wert von einem Acclerometer Filtern kennt ihr ein gutes Tool im den Code zu erzeugen ... dsPICFD ist nur für dspPIC ? Gruß Raph
vorweg: bin hier nur sehr selten, also werde ich kaum ein 2. mal antworten. definiere deinen TP ein bisschen besser, ansonsten schlage ich dir vor: GefilterterWert = (AktuellerMesswert + 3 * GefilterterWert) >> 2; das ist zwar ein tiefpass, aber ob er deinen ansprüchen gerecht wird..? ein weiterer punkt: kannst du den wert nicht auch als ganzzahl filtern? z.b. anstatt 22.3 einfach mit 223 rechnen und du als programmierer weisst, dass da noch ein punkt ist.
Danke für die Antwort. Clever mit dem BitShifter... Gibts da vielleicht schon eine Libary von Mircochip ? Gruß RL
Der Code ist weniger das Problem, sondern, was für eine Art von Filter es überhaupt werden soll. Das wirst aber nur Du selber beurteilen können. Du könntest z.B. mit einem gleitenden Mittelwert anfangen, das ist ein sehr einfacher Tiefpass Filter, aber sehr effizient gegen Rauschen. http://de.wikipedia.org/wiki/Gleitender_Mittelwert Oder ein PT1-Tiefpass, der geht im Grunde so
1 | Y = Y * a + X * (1.0 - a) |
mit
1 | X = aktueller Messwert |
2 | Y = gefilterer Wert |
3 | a = Zeitkonstante (Gewichtungsfaktor) zwischen 0 und 1.0 |
http://de.wikipedia.org/wiki/PT1-Glied
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.