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.