logo
Лекции по ЦО АВС

1.5.4 Дифференцирующие цифровые фильтры

Передаточная функция.

Из выражения для производной d(exp(jt))/dt = j exp(jt) следует, что при расчете фильтра производной массива данных необходимо аппроксимировать рядом Фурье передаточную функцию вида H() = j. Поскольку коэффициенты такого фильтра будут обладать нечетной симметрией (h-n = -hn) и выполняется равенство

hn [exp(jn)-exp(-jn)] = 2j hn sin n,

то передаточная характеристика фильтра имеет вид:

H() = 2j(h1 sin + h2 sin 2+ ... + hN sin N),

т.е. является мнимой нечетной, a сам фильтр является линейной комбинацией разностей симметрично расположенных относительно sk значений функции. Уравнение фильтрации:

yn = hn(sk+n - sk-n).

Если дифференцированию подлежит низкочастотный сигнал, а высокие частоты в массиве данных представлены помехами, то для аппроксимации в пределах главного частотного диапазона задается передаточная функция фильтра вида:

H() = в, H() = 0, в< N.

Оператор дифференцирующего фильтра:

h(n) = (1/) H() sin(n/N) dn = 0,1,2,... (5.4.1)

Принимая, как обычно, N =  (t = 1) и решая (5.4.1) при H() = , получаем:

hn = (1/)[sin(nв)/n2 - в cos(nв)/n], (5.4.2)

hо = 0, h-n = -hn.

Проверка: H() = hn sin n = 2 hn sin n (5.4.3)

На рис. 5.4.1 приведен пример расчета коэффициентов дифференцирующего фильтра на интервал {0-0.5} при t=1 (в = ). Операторы дифференцирующих фильтров, как правило, затухают очень медленно и, соответственно, достаточно точная реализация функции (5.4.3) весьма затруднительна.

Рис. 5.4.1. Коэффициенты оператора фильтра.

Ряд (5.4.3) усекается до N членов, и с помощью весовых функций производится нейтрализация явления Гиббса. Явление Гиббса для дифференцирующих фильтров имеет весьма существенное значение, и может приводить к большим погрешностям при обработке информации, если не произвести его нейтрализацию. Примеры ограничения оператора, приве- денного на рис. 5.4.1, и соответствующие передаточные функции H'() усеченных операторов показаны на рис. 5.4.2.

Рис. 5.4.2. Частотные функции фильтров.

Для оценки возможных погрешностей дифференцирования усеченными операторами произведем расчет фильтра при в = . По формулам (5.4.2) определяем:

h0-10 = 0, 0.3183, 0.25, -0.0354, -0.125, 0.0127, 0.0833, -0.0065, -0.0625, 0.0039, 0.05.

Произведем проверку работы фильтра на простом массиве данных sn = n, производная которого постоянна и равна 1. Для массива с постоянной производной фильтр может быть проверен в любой точке массива, в том числе и в точке n=0, для которой имеем:

у = hn so-n = 2 n hn,

при этом получаем: у=0.5512 при N=5, у=1.53 при N=10.

Рис. 5.4.3. Погрешность дифференцирования.

Такое существенное расхождение с действительным значением производной объясняется тем, что при =0 тангенс угла наклона реальных передаточных функций фильтра, как это видно на рисунке 5.4.2, весьма существенно отличается от тангенса угла наклона аппроксимируемой функции H()= . На рис. 5.4.3 приведены частотные графики относительной погрешности дифференцирования  = Hн'()/Hн() с вычислением значений на нулевой частоте по пределам функций при N На рис. 5.4.4 приведен пример операции дифференцирования s*h гармоники s с частотой  оператором с N=10 в сопоставлении с точным дифференцированием ds/dk.

Рис. 5.4.4. Пример операции дифференцирования.

Применим для нейтрализации явления Гиббса весовую функцию Хемминга. Результат нейтрализации для фильтра с N=10 приведен на рис. 5.4.5. Повторим проверочный расчет дифференцирования на массиве sn = n и получим результат у=1.041, т.е. погрешность дифференцирования уменьшается порядок.

Рис. 5.4.5. Дифференцирование с применением весовой функции.

Аналогично производится расчет и полосовых дифференцирующих фильтров с соответствующим изменением пределов интегрирования в (5.4.1) от н до в. При этом получаем:

hn = (нcos nн-вcos nв)/(n) + (sin nв-sin nн)/(n2).

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4