Problema.
Hay una señal discreta (ejemplo a continuación).
Se sabe que tienen una forma de pulso rectangular con ruido gaussiano blanco aditivo.
,
,
,
Dónde
es una función de paso Heaviside,
es un ruido gaussiano blanco aditivo,
es una altura de pulso rectangular,
es un índice de la primera muestra de pulso rectangular,
es un índice de la última muestra de pulso rectangular,
es un nivel constante de señal,
Es un parámetro ajustable.
Todos los parámetros pueden tener un amplio rango de valores.
Se requiere encontrar el valor de (duración del pulso rectangular en muestras).
Soluciones posibles.
Por el momento, he intentado dos formas de resolver este problema.
Filtro de paso bajo con umbral.
Como primer intento, he usado un esquema simple con filtro de paso bajo y umbral.
1. Aplique el filtro de paso bajo FIR con una frecuencia de corte igual a.
2. Estimación media y dispersión de ruido filtrado desde el principio Muestras de la señal.
3. Establecer umbral.
4. Estimación.
5. Estime .
Pros:
1. Este algoritmo es simple.
2. Es fácil escribir una implementación rápida.
Contras:
1. Es difícil estimar el valor eficiente de la frecuencia de corte del filtro. Por un lado, un valor bajo puede corromper la forma de pulsos cortos. Por otro lado, un gran valor disminuye el efecto de la filtración.
2. El algoritmo no usa toda la información, tenemos acerca de la señal.
Análisis de regresión
Como segundo intento, he intentado aproximar la secuencia de entrada de muestras con la función .
, , donde es un parámetro pequeño.
Para la aproximación, he usado el método de mínimos cuadrados con pendiente de gradiente para minimizar la función de costo.
1. Establezca los valores iniciales para , , , .
2. Realizar descenso de gradiente.
3. Establezca el umbral .
4. Estime .
5. Estime .
Pros:
1. Este algoritmo da resultados con buena precisión.
2. Funciona para una amplia gama de duraciones.
Contras:
1. Es muy lento.
Pregunta.
Después de todo, no estoy satisfecho con la precisión del primer algoritmo y con la velocidad del segundo. Como resolverías este problema?
¿Hay alguna solución clásica que no pude encontrar?
Ideas, enlaces, cualquier comentario será muy apreciado.
Gracias.
fuente
Respuestas:
Desea un método que elimine el ruido mientras conserva los bordes. Esto no se puede lograr bien mediante el filtrado lineal, como te has dado cuenta. Sé de dos enfoques que podrían funcionar bien para su problema. El primero es el filtrado medio , donde las muestras dentro de una ventana se reemplazan por su mediana. La siguiente gráfica muestra el resultado del filtrado medio con una longitud de ventana de 25 muestras (en rojo):
El otro enfoque, más complejo, es la eliminación de ruido de variación total , que funciona muy bien para señales constantes por partes. Hay una muy buena descripción de la variación total de ruido que incluye el código Matlab disponible: enlace .
fuente
Sé que esto es muy antiguo , y @Matt L. hace mucho tiempo dio una respuesta excelente e informativa. No tenía idea de que existía el cambio de variación total, así que aprendí algo bastante útil. En consecuencia, voté por la pregunta y la respuesta y quiero dar algo, tal como es, de vuelta al sitio. La idea básica es utilizar una versión digital simple del antiguo RC LPF y reducir en gran medida la "constante de tiempo" cuando se produce un paso. Luego, después del paso, aumente considerablemente la 'constante de tiempo'. NB La 'constante de tiempo' realmente no será constante, como se verá a continuación.
La figura a continuación muestra mi intento de replicar el ejemplo de pulso rectangular ruidoso genérico del OP y cómo funciona un filtro de paso bajo 'derivado recíproco' (en lo sucesivo denominado RD-LPF):
El RD-LPF es simplemente , donde y Usé . El pulso rectangular limpio tenía amplitud de unidad, comenzó en t = 3 y el ancho del pulso era 3. El ruido blanco gaussiano aditivo tenía y .y[ i ] = A y[ i - 1 ] + ( 1 - A ) x [ i ] A = e x p ( - KEl | y[ i - 1 ] - x [ i ] | ) K= 0.2 μ = 0 σ= 0.3
La siguiente figura compara la salida RD-LPF (trazo rojo) con (según la respuesta de Matt L.) una salida de filtro mediano móvil de 25 puntos (trazo azul):
No estoy diciendo que alguna vez usaría el RD-LPF para algo serio, pero tenía curiosidad por ver si se destruiría en esta pequeña comparación. Evidentemente, ese no es el caso.
fuente