Cálculo de la derivada suavizada de una señal utilizando la diferencia con un paso más grande = convolucionando con una ventana rectangular

9

Tengo una señal muestreada en Δt:Fyo(tyo=yoΔt) donde i = 0..n-1. Quiero encontrar la primera derivada de la señal: f '(t).

Mi primer pensamiento fue estimar esto por una diferencia central:

F(tyo)=F(tyo+1)-F(tyo-1)2Δt

Sin embargo, la señal puede tener mucho ruido de alta frecuencia que puede causar fluctuaciones rápidas en f '. Supongo que lo correcto podría ser suavizar la señal convolucionando con una función de ventana, por ejemplo, Hann, y luego encontrar la derivada de las diferencias.

Un colega sugirió una forma más rápida de encontrar una estimación suavizada de la derivada: use una diferencia central sobre 2n muestras, donde n >> 1:

F(tyo)=F(tyo+norte)-F(tyo-norte)2norteΔt

Por supuesto, esto sería computacionalmente más rápido que convolucionarse primero con una función de ventana, pero ¿es una buena solución?

Si formamos la suma:

S=2Δt[f(tin+1)+f(tin+2)+..+f(ti+n1)]

y expanda cada derivada por la diferencia central con el paso :Δt

S=f(tin+2)f(tin)+f(ti-norte+3)-F(tyo-norte+2)+..+F(tyo+norte)-F(tyo+norte-2)

todos los términos excepto dos cancelan:

S=F(tyo+norte)-F(tyo-norte)=2norteΔtF(tyo)

Por lo tanto:

F(tyo)=1norte[F(tyo-norte+1)+F(tyo-norte+2)+..+F(tyo+norte-1)]

Por lo tanto, tomar la diferencia central sobre 2n muestras es equivalente a convolucionar primero por una ventana rectangular de tamaño 2n - 2 y luego tomar una diferencia central sobre +/- 1 muestra.

¿Qué tan "malo" es suavizar con una ventana rectangular?

Si tomamos la FFT esto causará "timbre", pero no necesitamos tomar la FFT.

Gracias de antemano por cualquier respuesta!

Andy
fuente

Respuestas:

4

Esta es una pregunta difícil de manejar en general. El suavizado con una ventana rectangular se usa todo el tiempo (a menudo llamado "promedio móvil"), por lo que no es necesariamente un problema. No estoy seguro de a qué timbre te refieres, quizás los lóbulos laterales de la respuesta de frecuencia de la ventana rectangular.

La diferenciación es inherentemente una operación de paso alto; El diferenciador ideal de tiempo continuo tiene una función de transferencia de:

H(s)=s

Para que su respuesta de magnitud sea:

El |H(jω)El |=ω

La ganancia de un diferenciador, por lo tanto, aumenta monotónicamente con la frecuencia. Si su señal contiene ruido de alta frecuencia, entonces podría amplificarse aplicando un diferenciador. Para combatir esto, son aparentes dos enfoques:

  • Diseñe un filtro diferenciador más sofisticado que tenga la respuesta de magnitud lineal deseada sobre la parte de la banda que cubre su señal de interés, luego atenúa bruscamente las frecuencias más altas. Podría diseñar dicho filtro utilizando métodos de mínimos cuadrados o el método de muestreo de frecuencia, por ejemplo.

  • Use un enfoque en cascada donde primero suprima todo el ruido de alta frecuencia que puede usar con un filtro de paso bajo, luego siga con el diferenciador. La cobertura de frecuencia del diferenciador no necesita ser tan ajustada ya que el filtro de paso bajo eliminará el ruido fuera de banda.

Los métodos deberían ser aproximadamente equivalentes si está utilizando filtros lineales; Se podría pensar en el primer enfoque de filtro único como solo una cascada de un diferenciador y un filtro de paso bajo. Como notó, el enfoque de la diferencia central se puede modelar de esta manera. Es difícil para cualquiera decir que es "malo" sin ningún conocimiento de su aplicación. Mi pensamiento principal sería que es "malo" si la operación de suavizado atenúa tangiblemente su señal de interés, de modo que la estimación derivada ya no sea útil. Sin embargo, si los parámetros de la señal son tales que puede suavizar el ruido sin distorsionar notablemente la señal (es decir, si la señal está sobremuestreada), entonces podría ser una victoria.

Jason R
fuente