Como "suavizar" os dados e calcular o gradiente de linhas?

Estou lendo dados de um dispositivo que mede a distância. Minha taxa de amostragem é alta para que eu possa medir grandes mudanças na distância (ou seja, velocidade), mas isso significa que, quando a velocidade é baixa, o dispositivo fornece um número de medidas idênticas (devido à granularidade do dispositivo). Isso resulta em uma curva "escalonada".

O que eu preciso fazer é suavizar a curva para calcular a velocidade. Depois disso, preciso calcular a aceleração.

Como melhor fazer isso?

(Taxa de amostragem até 1000Hz, taxa de cálculo de 10Hz seria ok. Usando C # no VS2005)

questionAnswers(6)

yourAnswerToTheQuestion