Bolsa de trucos para las señales de Denoising mientras se mantienen transiciones nítidas

21

Sé que esto depende de la señal, pero cuando se enfrenta a una nueva señal ruidosa, ¿cuál es su bolsa de trucos para tratar de reemplazar una señal mientras mantiene transiciones bruscas (por ejemplo, cualquier tipo de promedio simple, es decir, convolucionarse con un gaussiano, está fuera)? A menudo me encuentro enfrentando esta pregunta y no siento que sé lo que debería intentar (además de las splines, pero también pueden derribar seriamente el tipo correcto de transición aguda).

PD Como nota al margen, si conoces algunos buenos métodos usando wavelets, avísame de qué se trata. Parece que tienen mucho potencial en esta área, pero si bien hay algunos documentos en los años 90 con suficientes citas para sugerir que el método del documento resultó bien, no puedo encontrar nada sobre qué métodos terminaron ganando como los mejores candidatos en los años intermedios Seguramente algunos métodos resultaron ser generalmente "lo primero que hay que probar" desde entonces.

John Robertson
fuente

Respuestas:

14

La minimización de la norma L1 (detección comprimida) puede hacer un trabajo relativamente mejor que la eliminación de ruido Fourier convencional en términos de preservación de bordes.

El procedimiento consiste en minimizar una función objetivo.

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

donde es la señal ruidosa, es la señal sin ruido , es el parámetro de regularización yes una penalización de la norma L1. La eliminación del ruido se logra al encontrar la solución para este problema de optimización, y depende del nivel de ruido.xyb|f(y)|yb

Para preservar los bordes, dependiendo de la señal , puede elegir diferentes penalizaciones de manera que sea ​​escasa (el espíritu de la detección comprimida):yf(y)

  • si es por partes, puede ser penalización por variación total (TV);yf(y)

  • si tiene forma de curva (por ejemplo, sinograma), puede ser el coeficiente de expansión de con respecto a las curvas . (Esto es para señales 2D / 3D, no 1D);yf(y)y

  • si tiene singularidades isotrópicas (aristas), puede ser el coeficiente de expansión de con respecto a las ondículas .yf(y)y

Cuando son los coeficientes de expansión con respecto a algunas funciones básicas (como la curva / wavelet anterior), resolver el problema de optimización es equivalente a umbralizar los coeficientes de expansión.f(y)

Tenga en cuenta que este enfoque también se puede aplicar a la deconvolución en la que la función objetivo se convierte en, Donde es el operador convolución.|xHy|+b|f(y)|H

chaohuang
fuente
yyy
1
L1
¿Qué métodos le gustan para resolver f, especialmente si la señal es larga?
John Robertson
¿Cuál es el nombre de este método? Si lo uso en mi investigación, ¿qué debo citar?
bayer
@bayer Depende de la regularización que utilice, podría ser la eliminación de ruido de la curva o la eliminación de ondas, por ejemplo. En general, todos pertenecen a la familia de minimización de la norma L1.
chaohuang
7

Puede considerar la difusión anisotrópica. Existen muchos métodos basados ​​en esta técnica. En general, es para imágenes. Es un método de eliminación de ruido adaptativo que tiene como objetivo suavizar las partes sin borde de una imagen y preservar los bordes.

Además, para minimizar la variación total, puede usar este tutorial . Los autores también proporcionan el código MATLAB. Reconocen el problema como un problema previo de análisis, de alguna manera es similar a usar un mapeo lineal (como las representaciones de frecuencia de tiempo). Pero, usan una matriz de diferencia en lugar de una transformación.

D

Deniz
fuente
6

Chaohuang tiene una buena respuesta, pero también agregaré que otro método que puede usar sería a través de la Transformación Wavelet de Haar, seguido por la contracción del coeficiente wavelet y una Transformación Haar inversa de regreso al dominio del tiempo.

La transformada wavelet de Haar descompone su señal en coeficientes de funciones cuadradas y diferenciales, aunque a diferentes escalas. La idea aquí es que 'fuerce' la nueva representación de señal cuadrada para que coincida mejor con su señal original y, por lo tanto, una que represente mejor dónde se encuentran sus bordes.

Cuando realiza una contracción coeficiente, todo lo que significa es que está configurando coeficientes específicos de la función transformada de Haar a cero. (Hay otros métodos más involucrados, pero ese es el más simple). Los coeficientes de wavelet transformados por Haar son puntajes asociados con diferentes funciones de cuadrado / diferencia en diferentes escalas. El RHS de la señal transformada de Haar representa bases cuadradas / diferenciales en la escala más baja y, por lo tanto, puede interpretarse en la 'frecuencia más alta'. Por lo tanto, la mayor parte de la energía del ruido estará aquí, VS la mayor parte de la energía de la señal que estaría en el LHS. Se trata de los coeficientes de las bases que se anulan y el resultado luego se transforma inversamente en el dominio del tiempo.

Se adjunta un ejemplo de una sinusoide corrompida por un fuerte ruido AWGN. El objetivo es descubrir dónde se encuentran el 'inicio' y 'parada' del pulso. El filtrado tradicional manchará los bordes de alta frecuencia (y altamente localizados en el tiempo), ya que en esencia, el filtrado es una técnica L-2. Por el contrario, el siguiente proceso iterativo anulará y preservará los bordes:

(Pensé que uno podía adjuntar películas aquí, pero no puedo hacerlo. Puede descargar la película que hice del proceso aquí ). (Haga clic derecho y 'guardar enlace como').

Escribí el proceso 'a mano' en MATLAB, y es así:

  • Crea un pulso sinusoide corrompido por AWGN pesado.
  • Calcule el sobre de lo anterior. (La señal').
  • Calcule la Transformada Wavelet de Haar de su señal en todas las escalas.
  • Denoise por umbralización coeficiente iterativa.
  • Haar inverso Transforma el vector de coeficiente reducido.

Puede ver claramente cómo se reducen los coeficientes y la Transformación de Haar Inversa resultante resultante de ello.

Sin embargo, un inconveniente de este método es que los bordes deben estar en o alrededor de las bases cuadradas / diferenciadas en una escala dada. De lo contrario, la transformación se ve obligada a saltar al siguiente nivel más alto y, por lo tanto, uno pierde una ubicación exacta para el borde. Hay métodos de resolución múltiple utilizados para contrarrestar esto, pero están más involucrados.

Spacey
fuente
4

Un método simple que a menudo funciona es aplicar un filtro mediano.

Geometrikal
fuente