Смекни!
smekni.com

Тема нерекурсивные частотные цифровые фильтры недостаточно овладеть премудростью, нужно уметь пользоваться ею (стр. 4 из 5)

|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, т.е. погрешность дифференцирования уменьшается порядок.