Forum: Digitale Signalverarbeitung / DSP / Machine Learning Filter gesucht


von Klaus (Gast)


Lesenswert?

Ich habe ein verrauschtes Sensorsignal. Welche Filter unterdrücken zwar 
Rauschen aber erhalten plötzliche Sprünge? Was nehmt ihr für solche 
Zwecke? Median Filter habe ich ausprobiert.

von Joe F. (easylife)


Lesenswert?

Kommt darauf an,
- wie steil ein Sprung ist bzw. nach der Filterung noch sein darf
- wie viel Verzögerung der Filter erzeugen darf
- wie das Signal generell so aussieht
-  ob man z.B. das Rauschen unterhalb einer zu definierenden Schwelle 
annehmen kann,
- etc...

Vielleicht hast du ja mal ein Beispiel deines Signals (Tabelle und/oder 
Grafik)

: Bearbeitet durch User
von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Joe F. schrieb:
> Kommt darauf an,
> - wie steil ein Sprung ist bzw. nach der Filterung noch sein darf
> - wie viel Verzögerung der Filter erzeugen darf
> - wie das Signal generell so aussieht
> -  ob man z.B. das Rauschen unterhalb einer zu definierenden Schwelle
> annehmen kann,
> - etc...
>
> Vielleicht hast du ja mal ein Beispiel deines Signals (Tabelle und/oder
> Grafik)

Ich habe ein Beispiel gemacht. Das ist auf die schnelle in Matlab 
entstanden, aber im Prinzip genau das: Ein verrauschtes Konstantsignal 
mit Kanten drin.

Welche Filter kämen denn generell in Frage? Es gibt ja sicher zumindest 
ein paar mögliche Kandidaten

von Alex (Gast)


Lesenswert?

Jeweils zwei mal gleitenden Mittelwert der z.B. 30 letzten Messungen 
berechnen (Abstand 15 Messungen) und dann Sprünge zwischen den beiden 
Mittelwerten als Signal werten.

Alternativ: Rauschen ist hier viel hochfrequenter als das Nutzsignal => 
Gutes Tiefpassfilter dem Sensor nachschalten (z.B. ein Siebenpoliges aus 
mehreren L und C ).
Berechnung mit Freeware AADE:
http://www.aade.com/

von Horst (Gast)


Lesenswert?

Wenn die Kanten weiterhin scharf bleiben sollen, sind normale LTI-Filter 
ungeeignet. Dafür nimmt man dann eher Median-Filter oder etwas anderes 
nicht-lineares.

von J. S. (engineer) Benutzerseite


Lesenswert?

Alex schrieb:
> Jeweils zwei mal gleitenden Mittelwert der z.B. 30 letzten Messungen
> berechnen (Abstand 15 Messungen) und dann Sprünge zwischen den beiden
> Mittelwerten als Signal werten.

Wenn du das SO machst, haben die Mittelwerte keine Sprünge mehr, sondern 
sind schwache Rampen.

Du brauchst ein diskretes Filter, das jeweils Annahmen über Rauschen und 
Sprung macht und eine ausreichen große Betrachtungslänge. Gfs kann sich 
das Filter selber einstellen - im Rahmen gewisser Grenzen, vor allem für 
das Rauschen. Es läuft dann darauf hinaus, dass Sprünge unterhalb einer 
gewissen Stufe nicht mehr erkannt werden.

von Klaus (Gast)


Lesenswert?

Weißt du die Namen solcher Filter, die ich mir mal genauer ansehen 
sollte?

Median hatte ich wie gesagt schon probiert (Kantenerhaltung okay, aber 
Rauschunterdrückung nicht so überzeugend fand ich).

von Master of the Universe (RWTH) (Gast)


Lesenswert?

Klaus schrieb:
> Median hatte ich wie gesagt schon probiert (Kantenerhaltung okay, aber
> Rauschunterdrückung nicht so überzeugend fand ich).

Mit welcher Länge denn?
Außerdem, was genau willst du alles an dem Signal messen? Ich dachte es 
geht nur um ein Rechteck? Oder auch noch die Höhe dessen? Dann kannst du 
ja erst die Kanten erkennen und dann bereichsselektiv noch LTI-Filter 
verwenden, dann sind die auch schön smooth.

von Horst (Gast)


Lesenswert?

Stell einfach ein paar Beispielsamples ein, dann wird irgendjemand dir 
schon ein Skript zusammenschustern, was die (von dir noch zu 
spezifizierenden) Größen rausholt.

von Mr (Gast)


Lesenswert?

Schau mal nach Bessel Filter (für gute Spitzenerkennung).
Oder Gauß-Filter.

Wenn du schon dabei bist schau auch nach Tschebyscheff und Butterworth.

von Joe F. (easylife)


Lesenswert?

Klaus schrieb:
> Ich habe ein Beispiel gemacht. Das ist auf die schnelle in Matlab
> entstanden, aber im Prinzip genau das: Ein verrauschtes Konstantsignal
> mit Kanten drin.

Also wenn das "Signal" wirklich so aussieht, dann kann man da eh nicht 
all zu viel retten.
Einen gewissen Signal-to-noise Abstand sollte man schon haben.
Evtl. loht es ja, sich mal Gedanken zu machen, warum das Signal so 
schlecht ist und die Hardware entsprechend verbessern.

: Bearbeitet durch User
von Horst (Gast)


Lesenswert?

Mr schrieb:
> Schau mal nach Bessel Filter (für gute Spitzenerkennung).
> Oder Gauß-Filter.
>
> Wenn du schon dabei bist schau auch nach Tschebyscheff und Butterworth.

Was soll denn Spitzenerkennung in diesem Fall sein?

Und nein, alles was du da vor dich hin faselst, ist in diesem Fall kein 
Filter, den man (als erstes) verwenden sollte. Der TO fragte explizit 
danach, Signaldiskontinuitäten nicht platt zu machen.
Wenn du lesen könntest, hab ich das aber schon dreimal erwähnt, dass 
LTI-Filter an dieser Stelle nutzlos sind!

von Horst (Gast)


Lesenswert?

In der Bildverarbeitung heißen die übrigens rank order filters 
(Rangordnungsfilter). Du hattest ja nach einem Namen gefragt.

von Burkhard K. (buks)


Lesenswert?

Joe F. schrieb:
> Klaus schrieb:
>>Ein verrauschtes Konstantsignal
>> mit Kanten drin.
>
> Also wenn das "Signal" wirklich so aussieht, dann kann man da eh nicht
> all zu viel retten.

Biologen/Biophysiker arbeiten ständig mit solchen Signalen (z.B. EEGs, 
Patch-Clamp-Messungen, etc.) Wenn das Signal reproduzierbar ist - oder 
reproduzierbar gemacht werden kann, dann kommt "averagen" in Frage. Der 
Artikel in der englischen WP hat dazu sogar ein Matlab Script: 
https://en.wikipedia.org/wiki/Signal_averaging

So wie Joe's Signal aussieht, müssten aber wohl schon mind. 10000 
Wiederholungen gemittelt werden, um ein brauchbares S/N-Verhältnis zu 
bekommen - nichtkorrelierte Signal werden mit der Wurzel der 
Wiederholungen gedämpft.

von Mr (Gast)


Lesenswert?

@Horst

Dein Ton ist sehr unangebracht (asozial und arrogant zu gleich) und 
hilft dem TE noch weniger als mein Tip sich die Standardfilter mal 
anzusehen.
Ich kann mir auch nicht vorstellen, dass er sie noch nicht kennt.

Der Bessel-Filter ist halt auf eine gute Rechteckübertragung ausgelegt.
Da kann ich auch nicht für, dass dir das nicht passt.

Ich hab halt keine Lust mir das png in Zahlen zu wandeln, dass ich sie 
mir ansehen kann.
(Wenn der Bessel-Filter nicht passt, versuch ein Signal welches du 
suchst (Rechteck) mit deinem Rauschen zu korrelieren (Ich weiß ja nicht 
genau was du vorhast)).

Ansonsten für alle anderen, welche sich auch von mir angegriffen fühlen 
bitte ich um Vergebung. Ich versichere hiermit, dass ich als ich das 
schrieb keine schlechten Gedanken hatte und auch niemanden schaden 
wollte.

von Horst (Gast)


Lesenswert?

Mr schrieb:
> Dein Ton ist sehr unangebracht (asozial und arrogant zu gleich) und
> hilft dem TE noch weniger als mein Tip sich die Standardfilter mal
> anzusehen.

Unangebracht vielleicht, aber weniger helfen nicht! LTI-Filter als erste 
Stufe bringen hier nichts, aber das kapierst du ja offenbar nicht.

Mr schrieb:
> Ich kann mir auch nicht vorstellen, dass er sie noch nicht kennt.

Warum schlägst du die dann vor?

Mr schrieb:
> Der Bessel-Filter ist halt auf eine gute Rechteckübertragung ausgelegt.

Was ist das für ein absoluter Blödsinn? Ein Bessel-Filter zeichnet sich 
nur durch Ripple- und Flankeneigenschaften gegenüber Butterworth etc 
aus.
Des weiteren kann man damit alles mögliche (TP, HP, BP, BS) bauen, was 
aber alles kein Rechteck erhält! Ein Rechteck besteht aus sehr vielen 
Oberwellen und nimmst du auch nur eine davon weg, war es das mit dem 
Rechteck.

Ich weiß ja nicht, wo du diesen Unfug gelernt hast, aber eine gute 
Rechteckübertragungsfunktion hat dieses Filter nicht. Genauso wenig wie 
alle anderen LTI-Filter (außer Allpass).

Mr schrieb:
> korrelieren

Das wiederum ist eine vernünftige Idee und könnte man auch mal 
probieren. AKF könnte da schon was bringen.

von Mr (Gast)


Lesenswert?

@Horst
lass doch diese negativen Worte wie "Blödsinn", "Unfug" und "Gefasel" 
weg.
Damit hast du immer noch das Gleiche gesagt alle mögen dich, hören eher 
auf dich und du hast doppelt gewonnen, wenn du es denn so sehen willst 
(Gewonnen).

Ich kannte mal einen der war der absolute Obercrack, hat es sich aber 
mit allen Verscherzt und musste gehen. So gut wie alle anderen zusammen, 
war er eben doch nicht. Jetzt wird er wegen seines Wissens vermisst aber 
keinesfalls wegen seines Charakters. Ist doch ne doofe Sache.

Und mir ist bewusst das ich jetzt in deine Redensart zu viel hinein 
Interpretiere. Im Leben außerhalb des INets drückst du dich doch 
bestimmt auch anders aus?


...jaa das meine ich mit "Rechteckübertragung". Wenn der TE nicht 
spezifiziert, wie sein Rechteck auszusehen hat kann man halt nicht 
besser Antworten. Das hast du ja auch schon selber angemerkt.
Mit der AKF wird er auch kein Rechteck erhalten, weiß aber wo eins ist.

Und leg nicht alles so auf die Goldwaage. Z.B., dass es nichts zu 
"meinen" gibt sondern nur Richtig und Falsch. Da kann man ja immer noch 
einen drauf setzen. Es gibt ja gar kein ideales Rechteck. Eine Sache der 
Spezifikation eben.



Ich hab bestimmt schon ganz viele Minusse;-) oder? Bin zum Glück nicht 
angemeldet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.