Вычисление сглаженной производной сигнала с использованием разности с большим шагом = свертки с прямоугольным окном

9

У меня есть сигнал , дискретизированный в , где я = 0..n-1. Я хочу найти первую производную сигнала: f '(t).ΔT:ея(Tязнак равнояΔT)

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

е'(Tя)знак равное(Tя+1)-е(Tя-1)2ΔT

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

Коллега предложил более быстрый способ нахождения сглаженной оценки производной: используйте центральную разницу по 2n выборкам, где n >> 1:

е'(Tя)знак равное(Tя+N)-е(Tя-N)2NΔT

Это, конечно, вычислительно быстрее, чем первое свертывание с оконной функцией, но это хорошее решение?

Если мы сформируем сумму:

Sзнак равно2ΔT[е'(Tя-N+1)+е'(Tя-N+2)+,,+е'(Tя+N-1)]

ΔT

Sзнак равное(Tя-N+2)-е(Tя-N)+е(Tя-N+3)-е(Tя-N+2)+,,+е(Tя+N)-е(Tя+N-2)

все условия кроме двух отменяются:

Sзнак равное(Tя+N)-е(Tя-N)знак равно2NΔTе'(Tя)

Следовательно:

е'(Tя)знак равно1N[е'(Tя-N+1)+е'(Tя-N+2)+,,+е'(Tя+N-1)]

Таким образом, взятие центральной разности по 2n выборкам эквивалентно первому свертыванию прямоугольным окном размером 2n - 2, а затем взятию центральной разности по +/- 1 выборке.

Насколько "плохо" это сглаживать с прямоугольным окном?

Если мы возьмем БПФ, это вызовет «звонок», но нам не нужно брать БПФ.

Заранее спасибо за любые ответы!

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

Ответы:

4

Это сложный вопрос для решения в целом. Сглаживание с прямоугольным окном используется постоянно (часто называемое «скользящим средним»), так что это не обязательно проблема. Я не уверен, что вы звоните, возможно, боковые лепестки частотного отклика прямоугольного окна.

Дифференциация по своей сути является операцией высоких частот; Идеальный непрерывный дифференциатор имеет передаточную функцию:

ЧАС(s)знак равноs

Так что его величина ответа:

|ЧАС(Jω)|знак равноω

Поэтому коэффициент усиления дифференциатора монотонно увеличивается с частотой. Если ваш сигнал содержит высокочастотный шум, его можно усилить, применяя дифференциатор. Для борьбы с этим очевидны два подхода:

  • Разработайте более сложный дифференцирующий фильтр, который обладает желаемой линейной амплитудной характеристикой на той части полосы, которая покрывает интересующий вас сигнал, а затем резко ослабляет более высокие частоты. Вы можете разработать такой фильтр, например, используя метод наименьших квадратов или метод частотной выборки.

  • Используйте каскадный подход, при котором вы сначала подавляете все высокочастотные шумы, которые вы можете использовать с помощью фильтра нижних частот, а затем следите за дифференциатором. Частотное покрытие дифференциатора не обязательно должно быть таким узким, поскольку фильтр нижних частот устраняет внеполосный шум.

Методы должны быть примерно эквивалентны, если вы используете линейные фильтры; Вы могли бы думать о первом подходе с одним фильтром как о каскаде дифференциатора и фильтра нижних частот. Как вы заметили, подход с центральными отличиями можно смоделировать таким образом. Всем сложно сказать, что это «плохо», не зная вашего приложения. Моей главной мыслью будет то, что «плохо», если операция сглаживания ощутимо ослабляет интересующий вас сигнал, так что оценка производной больше не является полезной. Однако, если параметры сигнала таковы, что вы можете сгладить шум без заметного искажения сигнала (т. Е. Если сигнал слишком сильно дискретизирован), то это может быть победой.

Джейсон Р
источник