Gast
#4569537
Moin! Ich bekomme von einem externen Kompassmodul einen fertig berechneten Kompass-Wert (0.0 bis 359.9 Grad) über eine serielle Schnittstelle (als ASCII mit einer Dezimalstelle und einem Zeilenende als Abschluss). Der Wert ist allerdings mit einem Rauschen von etwa 2 Grad Spitze-Spitze überlagert und taugt noch nicht zur direkten Anzeige - das wackelt zu viel. Da die Messfrequenz ungefähr 30 Hertz beträgt und mein Messobjekt nicht besonders dynamisch ist, könnte ich über ungefähr 20 bis 40 Werte tiefpassfiltern. Das habe ich auch schon umgesetzt und es funktioniert auch ganz gut, die Anzeige schwankt nur um 0.1 Grad. Allerdings gibt es an einer Stelle (logischerweise) ein Problem: Wenn der Wert bei Nordkurs zwischen 359 bis 1 Grad schwankt, erhalte ich als Ergebnis aus dem Tiefpaßfilter 180 Grad als Anzeige. Das ist nun ganz und gar ein unerwünschtes Verhalten! Wie kann man diese Filterung eleganter lösen, so dass ein stabiler Kompasswert herauskommt, insbesondere wenn sich das Messobjekt langsam dreht? Sprich - wie filtert man einen Messwert, der eine Diskontinuität im Bereich hat?
