Как найти сглаженные оценки производной и второй производной сигнала?

10

ΔTея(Tязнак равнояΔT)язнак равно0,...,N-1е'(T)е"(T)

Моей первой мыслью было оценить производные по центральным различиям:

f(ti)=f(ti+1)f(ti1)2Δtf(ti)=f(ti+1)2f(ti)+f(ti1)(Δt)2

Однако сигнал может иметь много высокочастотных шумов, которые могут вызывать быстрые колебания и .f ff

Каков наилучший способ найти «сглаженные» оценки и ?f е'е"

Энди
источник

Ответы:

6

Вероятно, это зависит больше от ваших данных. Просто знайте, поскольку дифференцирование является линейной операцией, если вы выбираете любой линейный фильтр для сглаживания f 'и f' ', это эквивалентно сглаживанию f с использованием того же фильтра, а затем его производных.

Можете ли вы опубликовать несколько фотографий или дополнительную информацию о сигнале, который вы хотите дифференцировать? Вероятно, вам нужен какой-то фильтр нижних частот для сглаживания сигнала. Пара действительно простых опций включает однополюсный рекурсивный фильтр, такой как , или фильтр Ганна, который просто свертывает сигнал с окном Ханна. Опция фильтра Ханна хороша тем, что она линейно-фазовая. Если вы знаете частотный диапазон, который вас интересует, вы можете просто разработать подходящий фильтр нижних частот в частотной области.Y(N)знак равноaИкс(N)+(1-a)Y(N-1)

schnarf
источник
Спасибо, Шнарф! Так как сглаживание с последующим дифференцированием равно дифференцированию с последующим сглаживанием; Я могу также сгладить исходный сигнал, свернув, например, с окном Ханна? Как насчет более простого подхода использования конечной разности по большему промежутку: f '(t) ~ = [f (t + 10 * Dt) -f (t-10 * Dt)] / (20 * Dt), будет ли это дать достаточно хорошую оценку сглаженной производной?
Энди