Frequenzunabhängiger Filter

Gast #1324195
Lesenswert?

Hallo,

ich schreibe momentan eine Projektarbeit und habe folgendes Problem:

Mit einem Triangulationslaser wird die Oberfläche eines runden 
Metallteils gemessen. Das Messsignal rauscht allerdings (sehr 
unregelmäßig...hat vielleicht was mit der glänzenden Oberfläche des 
Teils zu tun?) und teilweise werden Werte erzeugt, die physikalisch 
nicht möglich sind.
Meine Aufgabe ist nun einen digitalen Filter zu implementieren, der 
diese "physikalisch-nicht-möglichen" Werte eliminieren soll. Das Problem 
dabei ist, dass das ganze frequenzunabhängig gefiltert werden soll...
Es werden quasi für jedes Teil eine bestimmte Anzahl von Messwerten 
generiert und diese sollen gefiltert werden. Ein moving-average-Filter 
kann ich nicht benutzen, weil die anderen "möglichen" Messwerte nicht 
verfälscht werden sollen.

Hat jemand eine Idee?

Vielen Dank im Voraus!!!
Gruß
Gast #1324319
Lesenswert?

Du kannst einfach die größten und kleinsten Messwerte verwerfen.

Entweder machst du das mit "Brute Force" und nimmst z.B. die größten 15% 
und kleinsten 15% nicht mehr.

Oder du berechnest den Mittelwert  und die Standardabweichung und nimmst 
nur die Werte innerhalb Mittelwert +/- Z x Standardabweichung. Mit z.B. 
Z=3. Das kannst du auch iterativ machen, also wiederholen.

Alternativ kannst du evtl einen Teil der Messwerte bestimmen die 
physikalisch unmöglich sind und das dann mit einem der obigen Verfahren 
kombinieren.
Gast #1324897
Lesenswert?

Danke für die Antworten.
Das Problem ist, dass nicht unbedingt der größte bzw kleinste Wert 
falsch sein muss. Ein Beispiel: Ist das Drehteil verkippt eingespannt 
müssten die Messwerte etwas Sinus/Cosinus-mäßiges ergeben (siehe 
Skizze)...und die in rot gehaltenen Messwerte sind falsch und sollen 
gefiltert werden...

Gruß
Angehängte Dateien:
#1324975
Lesenswert?

Vielleicht denke ich ja immer noch zu einfach :-)
Aber bei einem Cosinus sehen die Werte größenordnungsmäßig doch so aus:

Maximale Amplitude -->
positiver Wert, kleiner als der vorherige -->
positiver Wert, kleiner als der vorherige -->
positiver Wert, kleiner als der vorherige -->
positiver Wert, kleiner als der vorherige -->
Null (bei Pi/2) -->
negativer Wert, kleiner als der vorherige -->
negativer Wert, kleiner als der vorherige -->
negativer Wert, kleiner als der vorherige -->
negativer Wert, kleiner als der vorherige -->
Minimum (bei Pi)
negativer Wert, größer als der vorherige -->
negativer Wert, größer als der vorherige -->
negativer Wert, größer als der vorherige -->
negativer Wert, größer als der vorherige -->
Null (bei 1,5*Pi) -->
positiver Wert, größer als der vorherige -->
positiver Wert, größer als der vorherige -->
positiver Wert, größer als der vorherige -->
positiver Wert, größer als der vorherige -->
Maximale Amplitude (bei 2*Pi)

Wenn man weiß, "wo auf dem Cosinus" man gerade ist (anhand der 
Nulldurchgänge und der Minima/Maxima feststellbar), ist es doch ein 
Leichtes den aktuellen Signalwert mit dem vorherigen zu vergleichen und 
zu prüfen, ob der aktuelle Wert plausibel ist.

Man könnte auch die erste Ableitung bilden und wenn diese sich bei drei 
Signalwerten in Folge zweimal ändert (vom Vorzeichen her), passt es eben 
nicht.
Gast #1325203
Lesenswert?

Also ich habe mir etwas überlegt:

Du weißt, dass das Signal ein Sinus mit Offset ist und kennst die 
Frequenz (Drehgeschwindigkeit des Messteils).

Zuerst würde ich aus den Messdaten versuchen den Sinus zu bestimmen, 
genauer die Phase, das Offset und Amplitude z.B. der Methode der 
kleinsten Fehlerquadrate. Im 2. Schritt würde ich alle Datenpunkte die 
"zu weit" weg vom Sinus sind entfernen.

Gegebenenfalls dies iterieren.
Gast #1367872
Lesenswert?

da es ein ditigaler Filter sein soll....versuche es doch einmal mit 
einer Autokorrelationsfunktion, da das Signal ja wohl periodisch zu 
seinen scheint kannst du ganz einfach Abweichung (Artefakte...) an der 
Selbstähnlichkeit bzw. Nicht-Selbstähnlichkeit des Signals erkennen.

ist zwar nicht die einfachste methode..aber wohl die effektivste!


aber der thread hier ist eh tot oder?? :-)

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