Trickkiste für die Rauschunterdrückung von Signalen unter Beibehaltung scharfer Übergänge

  • Ich weiß, dass dies signalabhängig ist. Wenn Sie sich jedoch einem neuen verrauschten Signal stellen, was sind Ihre Tricks, wenn Sie versuchen, ein Signal zu entrasten, während Sie scharfe Übergänge beibehalten (z. B. jede Art einfacher Mittelung, z mit einem Gaussian, ist raus). Ich sehe mich oft dieser Frage gegenüber und fühle mich nicht so, als wüsste ich, was ich versuchen sollte (abgesehen von Splines, aber sie können auch die richtige Art von scharfem Übergang ernsthaft niederschlagen).

    PS Wenn Sie einige gute Methoden kennen, die Wavelets verwenden, lassen Sie mich wissen, was es ist. Es scheint, als hätten sie auf diesem Gebiet viel Potenzial, aber obwohl es in den 90er Jahren einige Papiere mit genügend Zitaten gibt, die darauf schließen lassen, dass sich die Methode der Papiere gut entwickelt hat, kann ich nichts darüber herausfinden, welche Methoden sich als Spitzenkandidaten durchgesetzt haben die dazwischenliegenden Jahre. Sicherlich erwiesen sich einige Methoden seitdem als "erste Dinge zum Ausprobieren".

    12 May 2018
    RoyiJohn Robertson
4 answers
  • Die Minimierung der L1-Norm (Compressed Sensing) kann im Hinblick auf die Kantenerhaltung eine relativ bessere Arbeit leisten als das herkömmliche Fourier-Denoising

    $$ | xy | ^ 2 + b | f (y) | $$

    wo $ x $ ist das Rauschsignal, $ y $ ist das Denoised-Signal, $ b $ ist der reguläre Parameter und $ | f (y) | $ ist eine Strafe nach L1-Norm. Die Rauschunterdrückung wird durch Auffinden der Lösung $ y $ für dieses Optimierungsproblem erreicht, und $ b $ hängt vom Rauschpegel ab.

    Um Kanten zu erhalten, abhängig vom Signal $ y $, Sie können verschiedene Strafen wählen, so dass $ f (y) $ spärlich ist (Geist der komprimierten Wahrnehmung):

    • , wenn $ y $ ist Stückweise kann $ f (y) $ eine Gesamtabweichung (TV) sein.

    • Wenn $ y $ kurvenartig ist (z. B. Sinogramm), kann $ f (y) $ die Expansionskoeffizienten von $ y $ in Bezug auf curvelets . (Dies gilt für 2D / 3D-Signale, nicht für 1D);

    • Wenn $ y $ isotrope Singularitäten (Kanten) hat, kann $ f (y) $ der sein Expansionskoeffizienten von $ y $ in Bezug auf Wavelets .

    Wenn $ f (y) $ die Expansionskoeffizienten in Bezug auf einige Basisfunktionen ist (wie Curvelet / Wavelet oben), ist das Lösen des Optimierungsproblems äquivalent zum Schwellenwert der Expansion Koeffizienten.

    Beachten Sie, dass dieser Ansatz auch auf die Dekonvolution angewendet werden kann, bei der die Zielfunktion zu $ ​​| x-Hy | + b | f (y) | $ wird, wobei $ H $ ist der Faltungsoperator.

    30 August 2013
    chaohuang
  • Sie können anisotrope Diffusion in Betracht ziehen. Es gibt viele Methoden, die auf dieser Technik basieren. Im Allgemeinen handelt es sich um Bilder. Es ist eine adaptive Rauschunterdrückungsmethode, die darauf abzielt, Nichtkantenbereiche eines Bildes zu glätten und Kanten zu erhalten.

    Außerdem können Sie zur Minimierung der Gesamtvariation dieses Tutorial . Autoren stellen auch MATLAB-Code bereit. Sie erkennen das Problem als vorhergehendes Problem der Analyse, es ähnelt der Verwendung einer linearen Abbildung (z. B. Zeit-Frequenz-Darstellungen). Sie verwenden jedoch eine Differenzmatrix anstelle einer Transformation.

    Ein weiterer interessanter Ansatz wird von Boyd bereitgestellt, der als Trendfilterung . Dies ist auch der TV-Regularisierung sehr ähnlich, aber ich denke, Boyd verwendet eine andere $ D $ -Matrix in der Problemformulierung.

    15 August 2012
    dmo
  • Chaohuang hat eine gute Antwort, aber ich möchte auch hinzufügen, dass eine andere Methode, die Sie verwenden können, die Haar-Wavelet-Transformation ist, gefolgt von einer Wavelet-Koeffizientenreduktion und einer inversen Haar-Transformation aus der Zeit -Domain.

    Die Haar-Wavelet-Transformation zerlegt Ihr Signal in Koeffizienten von Quadrat- und Differenzfunktionen, wenn auch in unterschiedlichen Maßstäben. Die Idee hier ist, dass Sie die neue Rechtecksignaldarstellung "erzwingen", um am besten zu Ihrem ursprünglichen Signal zu passen, und somit eine, die am besten darstellt, wo Ihre Kanten liegen.

    Wenn Sie eine koeffiziente Schrumpfung durchführen, bedeutet dies, dass Sie bestimmte Koeffizienten der Haar-transformierten Funktion auf Null setzen. (Es gibt noch andere Methoden, aber das ist die einfachste). Die in Haar transformierten Wavelet-Koeffizienten sind Scores, die mit unterschiedlichen Quadrat- / Differenzfunktionen auf verschiedenen Skalen verbunden sind. Das RHS des in Haar transformierten Signals repräsentiert Quadrat- / Differenz-Basen auf der niedrigsten Skala und kann somit bei der 'höchsten Frequenz' interpretiert werden. Die meiste Rauschenergie liegt also hier, VS die meiste Energie des Signals, die auf der LHS liegen würde. Ist diese Basen-Koeffizienten, die auf Null gesetzt werden, und das Ergebnis wird anschließend invers in die Zeitdomäne zurücktransformiert.

    Im Anhang ist ein Beispiel für ein Sinusoid dargestellt, das durch starkes AWGN-Rauschen beschädigt ist. Ziel ist es herauszufinden, wo der Start und der Stopp des Pulses liegen. Herkömmliche Filterung verschmiert die hochfrequenten (und zeitlich stark lokalisierten) Flanken, da die Filterung im Kern eine L-2-Technik ist. Im Gegensatz dazu wird der folgende iterative Prozess die Kanten sowohl entrasten als auch beibehalten:

    (Ich dachte, man könnte hier Filme anhängen, scheint aber nicht in der Lage zu sein. Sie können herunterladen Film, den ich aus dem Prozess gemacht habe hier ). (Rechtsklick und 'Link speichern unter').

    Ich habe den Vorgang "von Hand" in MATLAB geschrieben.

    08 August 2012
    Spacey
  • Eine einfache Methode, die häufig funktioniert, ist das Anwenden eines Medianfilters.

    20 May 2013
    geometrikal