|e(w)| = N 2-B, (7.3.4)
|e(w)| = 2-B(N/3)1/2, (7.3.5)
|e(w)| = N 2-B[(N ln N)/3]1/2. (7.3.6)
Выражение (7.3.4) наиболее пессимистично и предполагает наихудшие ситуации вычислений. Два других выражения носят более реальный характер по статистическим данным.
Курсовая работа 8-07. Разработка программы расчета универсального частотного НЦФ (низкочастотный, высокочастотный, полосовой) и его использования при обработке цифровых сигналов.
7.4. Гладкие частотные фильтры /24/.
В некоторых случаях (при последовательном соединении фильтров, при выделении сигналов на уровне сильных помех и т.п.) осцилляции на передаточных характеристиках фильтров являются весьма нежелательными даже при их малой остаточной величине. Так, например, двойное последовательное применение фильтров приводит к тому, что ошибки в полосе пропускания приблизительно удваиваются, а полосе подавления возводятся в квадрат, при этом длина окна эквивалентного фильтра практически удваивается.
Принцип синтеза фильтров. Очевидно, что фильтры с гладкой передаточной характеристикой можно получить только в том случае, если возможно разложение передаточной функции в конечный ряд Фурье.
Допустим, мы имеем симметричный НЦФ с передаточной функцией:
H(w) = hо+2
hn cos nw. (7.4.1)Как известно, cos nw равен полиному по cos w степени n, при этом выражение (7.4.1) можно записать в виде:
H(w) =
gn (cos w)n = gn xn, (7.4.2)где переменная х=cos w изменяется от 1 до -1 (поскольку w изменяется от 0 до p). Преобразование переменной представляет собой нелинейное растяжение оси абсцисс с поворотом на 180o (по переменной х передаточные функции ФНЧ похожи на ФВЧ, и наоборот) с выражением функции через степенной полином. Последнее примечательно тем, что синтез гладких функций на базе степенных полиномов затруднений не представляет.
Так, например, для конструирования ФНЧ в качестве исходной может быть принята степенная функция вида:
g(x)= (1+x)z (1-x)r, (7.4.3)
где z и r - параметры.
Рис. 7.4.1. Примеры синтеза гладких фильтров. |
Функция (7.4.3) имеет нули порядка z и r в точках соответственно х = -1 и х = 1 (рис. 7.4.1), при этом значения параметров z и r характеризуют степень касания функцией оси абсцисс. Чем больше порядок, тем медленнее функция отходит ("отрывается") от оси абсцисс.
Если выражение функции (7.4.3) проинтегрировать в пределах от -1 до х и нормировать на значение интеграла от -1 до 1 , то будет получена гладкая передаточная характеристика низкочастотного фильтра. На рисунке 7.4.1 приведены передаточные функции для двух пар параметров z и r, вычисленные по формуле:
H(x)=
g(x)dx / g(x)dx. (7.4.4) Рис. 7.4.2. Схема возврата к ряду Фурье. |
Функция H(x) имеет перегиб в точке (z-r)/(z+r) и переходную зону, крутизна которой тем больше, чем больше значения z и r. Подстановкой x=cos w осуществляется возврат к частотной переменной w с сохранением монотонности функции.
В заключение, для определения коэффициентов фильтра hn требуется осуществить обратное преобразование от степенной формы (7.4.2) к ряду Фурье (7.4.1). Выполнение данной операции достаточно просто производится рекурсивным способом, показанным на рис. 7.4.2. Подробное обоснование рекурсии приведено в /24/.
Пример расчета гладкого фильтра.
Произвести расчет ФНЧ с гладкой частотной характеристикой с перегибом характеристики в точке p/3. За исходную функцию принять функцию (7.4.3).
1. x= cos(p/3)= 0.5= (z-r)/(z+r). Принято: z=3, r=1.
Исходный многочлен: g(x) = (1-x)(1+x)3 = 1+2x-2x3-x4.
2. H(x)=
g(x)dx = C+x+x2-0.5 x4-0.2 x5. При х= -1, H(-1)= 0, откуда С=0.3. При х=1, H(1)=1.6.Отсюда: H(x)= (3+10x+10x2-5x4-2x5)/16. gn = {3/16, 10/16, 10/16, 0, -5/16, -2/16}.
3. Применяя рекурсивное преобразование, получаем: hn= {(98, 70, 20, -5, -5, -1)/256}.
Для расчетов гладких фильтров высоких частот в выражении (7.4.4) достаточно поменять местами пределы интегрирования. Гладкие полосовые фильтры получаются комбинацией ФНЧ и ФВЧ с перекрытием частот пропускания.
Курсовая работа 9-07. Разработка методики и программы расчета весовых функций на базе гладких нерекурсивных фильтров.
7.5. Дифференцирующие цифровые фильтры.
Передаточная функция. Из выражения для производной d(exp(jwt))/dt = jw exp(jwt)
следует, что при расчете фильтра производной массива данных необходимо аппроксимировать рядом Фурье передаточную функцию вида H(w) = jw. Поскольку коэффициенты такого фильтра будут обладать нечетной симметрией (h-n = -hn) и выполняется равенство
hn [exp(jwn)-exp(-jwn)] = 2j hn sin nw,
то передаточная характеристика фильтра имеет вид:
H(w) = 2j(h1 sin w + h2 sin 2w + ... + hN sin Nw),
т.е. является мнимой нечетной, a сам фильтр является линейной комбинацией разностей симметрично расположенных относительно sk значений функции. Уравнение фильтрации:
yn =
hn(sk+n - sk-n).Если дифференцированию подлежит низкочастотный сигнал, а высокие частоты в массиве данных представлены помехами, то для аппроксимации в пределах главного частотного диапазона задается (без индекса мнимости) передаточная функция фильтра вида:
H(w) = w, w £ wв, H(w) = 0, wв< w £ wN.
Оператор дифференцирующего фильтра:
h(n) = (2/p)
H(w) sin(npw/wN) dw, n = 0,1,2,... (7.5.1)Принимая, как обычно, wN = p (Dt = 1) и решая (7.5.1) при H(w) = w, получаем:
hn = (2/p)[sin(nwв)/n2 - wв cos(nwв)/n], (7.5.2)
hо = 0, h-n = -hn.
Частотная характеристика:
Im(H(w)) =
hn sin nw = 2 hn sin nw. (7.5.3)Точность дифференцирования. На рис. 7.5.1 приведен пример расчета коэффициентов дифференцирующего фильтра на интервал частот {0-0.5}p при Dt=1 (wв = p/2). Операторы дифференцирующих фильтров, как правило, затухают очень медленно и, соответственно, достаточно точная реализация функции (7.5.3) весьма затруднительна.
Рис. 7.5.1. Коэффициенты оператора фильтра. |
Ряд (7.5.3) усекается до N членов, и с помощью весовых функций производится нейтрализация явления Гиббса. Явление Гиббса для дифференцирующих фильтров имеет весьма существенное значение, и может приводить к большим погрешностям при обработке информации, если не произвести его нейтрализацию. Примеры ограничения оператора, приведенного на рис. 7.5.1, и соответствующие передаточные функции H'(w) усеченных операторов показаны на рис. 7.5.2.
Для оценки возможных погрешностей дифференцирования усеченными операторами произведем расчет фильтра при wв = p/2. По формулам (7.5.2) определяем:
h0-10 = 0, 0.3183, 0.25, -0.0354, -0.125, 0.0127, 0.0833, -0.0065, -0.0625, 0.0039, 0.05.
Рис. 7.5.2. Частотные функции фильтров. |
Произведем проверку работы фильтра на простом массиве данных sn = n, производная которого постоянна и равна 1. Для массива с постоянной производной фильтр может быть проверен в любой точке массива, в том числе и в точке n=0, для которой имеем:
у =
hn so-n = 2 n hn,при этом получаем: у=0.5512 при N=5, у=1.53 при N=10.
Рис. 7.5.3. Погрешность дифференцирования. |
Такое существенное расхождение с действительным значением производной объясняется тем, что при w=0 тангенс угла наклона реальных передаточных функций фильтра, как это видно на рисунке 7.5.2, весьма существенно отличается от тангенса угла наклона аппроксимируемой функции H(w) = w. На рис. 7.5.3 приведены частотные графики относительной погрешности дифференцирования s = Hн'(w)/Hн(w) с вычислением значений на нулевой частоте по пределам функций при N → ∞. На рис. 7.5.4 приведен пример операции дифференцирования гармоники s с частотой wo оператором с N=10 в сопоставлении с точным дифференцированием ds/dk.
Рис. 7.5.4. Пример операции дифференцирования.
Применение весовых функций. Применим для нейтрализации явления Гиббса весовую функцию Хемминга. Результат нейтрализации для фильтра с N=10 приведен на рис. 7.5.5. Повторим проверочный расчет дифференцирования на массиве sn = n и получим результат у=1.041, т.е. погрешность дифференцирования уменьшается порядок.