2010-08-26 24 views
6

El filtro de suavizado de Savitzky-Golay se puede usar para calcular los coeficientes para calcular los valores y suavizados aplicando los coeficientes a los valores adyacentes. La curva suavizada se ve genial.cómo usar el coeficiente liso de Savitzky-Golay para calcular derivadas

De acuerdo con los documentos, los coeficientes también se pueden usar para calcular las derivadas hasta el quinto orden. El parámetro de cálculo de coeficientes ld necesitaría establecerse en el orden de las derivadas. Para la primera derivada, la configuración apropiada es ld = 1, y el valor de la derivada es la suma acumulada dividida por el intervalo de muestreo h.

Mi pregunta es: ¿cómo usar los coeficientes obtenidos para calcular la suma acumulada? ¿cómo se calcula la derivada? cualquier código de muestra?

+0

La entrada de Wikipedia sobre [suavizado numérico y diferenciación] (http://en.wikipedia.org/wiki/Numerical_smoothing_and_differentiation) me ayudó a diseñar un filtro S-G. –

+0

El wiki no es claro acerca de las relaciones de los valores Y suavizados con los valores de {a0, a1, a2, ..., ak}, especialmente en el movimiento de x. Entonces, para calcular la primera derivada en (xi, yi), ¿siempre suponemos Z = 0? o use la fórmula (a1 + 2 * a2 * z + 3 * a3 * z^2)/h? ¿Cuáles son los valores de a1, a2 y a3 en relación con yi o el Yi suavizado? La fórmula da una especie de forma correcta, pero en la parte superior aplanada de la primera derivada, tome una onda sinusoidal como ejemplo, el valor en los puntos aplanados debe ser cero, ¿cómo lograr eso? –

Respuesta

2

Para calcular las derivadas usando el filtro de suavizado Savitzky-Golay, el cálculo de los coeficientes polinomiales tiene un parámetro b, el valor b [derivativo] debe establecerse en 1.0, la matriz be se usará en la llamada de descomposición LU.

La clave para obtener derivados directamente es comprender la fórmula polinómica: Y = a0 + a1 * z + a2 * z^2 + ... + ak * z^k. Los valores a0, a1, a2, ..., ak son realmente los valores suavizados dentro de la ventana móvil, z = (x - x0)/h, para el punto central de la ventana móvil, podemos suponer z = 0 dado que x = x0.

Por lo tanto, en los cálculos derivados:

dY/dx = a1/h; and d2Y/dx2 = 2a2/h^2. 

Donde a1, a2 son los valores suavizados de y mediante el uso de los coeficientes calculados en los derivados correspondientes.

Cuestiones relacionadas