wie Wertet man Meßwerte aus?



  • Vieleicht kann mir hier jemand helfen. Ich versuche einen Wert möglichst genau zu bestimmen. Ich habe keine Ahnung wie groß dieser Wert ist. Ich meße diesen Wert periodisch immer wieder, doch beim Meßen treten oft Fehler auf die das Ergebnis verfälschen.
    Wie mach ich das am besten? Das ganze soll in einem Programm ausgewertet werden, und möglichst keine Rechnleistung/ Speicher verbrauchen, also ich kann nicht hunderte von Meßwerten speichern.



  • Huns schrieb:

    Vieleicht kann mir hier jemand helfen. Ich versuche einen Wert möglichst genau zu bestimmen. Ich habe keine Ahnung wie groß dieser Wert ist. Ich meße diesen Wert periodisch immer wieder, doch beim Meßen treten oft Fehler auf die das Ergebnis verfälschen.
    Wie mach ich das am besten? Das ganze soll in einem Programm ausgewertet werden, und möglichst keine Rechnleistung/ Speicher verbrauchen, also ich kann nicht hunderte von Meßwerten speichern.

    Hallo,

    über dieses Problem wurden schon Bücher geschrieben, Vorlesungen gehalten und Duelle gefochten.

    Allgemein kann man sagen dass du dir klar werden solltest, welche und wieviele Ressourcen du zum Messen aufwänden kannst. Und du musst die Quellen der Fehler verstehen um diese in den Griff zu bekommen.

    Link:
    http://en.wikipedia.org/wiki/Kalman_filter



  • Laufender Mittelwert.



  • Eine speicher-und rechenzeitfreundliche Variante ist der klassische IIR-Tiefpassfilter. Neben dem bereits erwähnten gleitenden Mittelwert kann man auch noch einen nicht-gleitenden Mittelwert über n Werte machen, da braucht man nur einen Speicher (und einen Zähler), bekommt aber halt auch nur alle n Werte ein neues Ergebnis. Ein Medianfilter wäre auch denkbar...

    Hängt alles davon ab wie das zu filternde Signal aussieht (also das Nutzsignal selbst und die Störeinflüsse) und wieviel Resourcen man ausgeben möchte. Ein paar Details dazu wären ganz hilfreich.



  • Naja, ich versuche den Maßstab einer Karte festzustellen und Meße immer wieder den Geschwindigkeitsvektor und die Position auf der Karte von einem Objekt, und natürlich die Zeit. Wenn das Objekt wärend zwei Meßungen seinen Geschwindigkeitsvektor nicht geändert hat und sich in Richtung des Geschwindigkeitsvektors bewegt hat dann berechne ich daraus den Maßstab. Dieser Wert ist allerdings falsch, wenn das Objekt zwischen zwei Meßungen angehalten hat oder sich kurzzeitig schneller bewegt hat oder sich auf einer S-Kurve bewegt hat oder wenn die Zeit für das Objekt langsamer verläuft oder...

    Also ein Mittelwert liefert sehr schlechte Ergebnisse.



  • Wenn du aus vorherigen Bewegungen des Objekts nicht auf Geschwindigkeit und Richtungsvektor schliessen kannst, dann darfst Du nur den letzten Punkt betrachten. Wenn sich das Objekt hinsichtlich diskreter Werte (mehrere Punkte pro Sampling-Zeit) gleichförmig auf ein Ziel zubewegt, dann ist der Vorschlag mit dem Kalman-Filter wohl ganz passend.


Anmelden zum Antworten