PIC Digital Low Pass Filter

#3635253
Lesenswert?

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.
Gast #3635916
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren