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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.