Рекурсивный цифровой фильтр разностное уравнение

Разностные уравнения рекурсивных и нерекурсивных фильтров

Читайте также:
  1. V2: ДЕ 54 — Дифференциальные уравнения, допускающие понижение порядка
  2. V2: ДЕ 57 — Фундаментальная система решений линейного однородного дифференциального уравнения
  3. V2: Применения уравнения Шредингера
  4. V2: Уравнения Максвелла
  5. VI Дифференциальные уравнения
  6. Алгебраические уравнения
  7. Волновое уравнение и его решение. Физический смысл волнового уравнения. Скорость распространения волн в различных средах.
  8. Вопрос 24 поверхности второго порядка (эллипсоид, цилиндры, конус) и их канонически уравнения. Исследование формы поверхности методом параллельных сечений.
  9. Вывод уравнения совершенного гидравлического прыжка.(стр11)
  10. Геометрическая оптика.отражение и преломление света. законы отражения и преломления.Зеркала и линзы.Уравнения для зеркал и линз.оптические приборы.
  11. Геометрический образ уравнения состояния.
  12. Гидролиз дисахаридов Фильтрование вытяжки

Важную роль в системах обработки сигналов играют рекурсивные фильтры 1-го и 2-го порядков.

Базовый рекурсивный фильтр 1-го порядка. Базовым РФ 1-го порядка называют фильтр, описываемый разностным уравнением вида:

(6)

Применив z-преобразование к левой и правой частям уравнения, получим

. (7)

Следовательно, передаточная функция фильтра имеет вид

. (8)

Рекурсивный фильтр 1-го порядка. Разностное уравнение имеет вид:

(9)

Применив z-преобразование к левой и правой частям уравнения, получим

. (10)

. (11)

Базовый рекурсивный фильтр 2-го порядка.Разностное уравнение и передаточная функция имеют вид:

(12)

. (13)

Рекурсивный фильтр 2-го порядка. Разностное уравнение и передаточная Функция имеют вид:

(14)

. (15)

Нерекурсивный фильтр 2-го порядка. Разностное уравнение и передаточная функция имеют вид:

(16)

. (17)

На основе приведенных примеров можно сформулировать мнемоническое правило определения передаточной функции по разностному уравнению (и наоборот):

коэффициенты разностного уравнения являются коэффициентами передаточной функции;

коэффициенты разностного уравнения при равны коэффициентам числителя передаточной функции при z — k , k = 0,1. N -1.

коэффициенты разностного уравнения bk при xnk равны коэффициентам знаменателя передаточной функции (с обратным знаком) при z — k , k = О, 1. N

Пример. Известна передаточная функция рекурсивного фильтра

. (18)

Разностное уравнение имеет вид:

(19)

• В общем случае передаточная функция дискретного фильтра может быть получена путем применения z-преобразования к разностным уравнениям (1) и (2). Рекурсивный фильтр:

(20)

(21)

Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)

Рекурсивный цифровой фильтр разностное уравнение

21.6. ЦИФРОВЫЕ ФИЛЬТРЫ, ИХ РАЗНОСТНЫЕ УРАВНЕНИЯ, ПЕРЕДАТОЧНЫЕ ФУНКЦИИ И ИМПУЛЬСНЫЕ ХАРАКТЕРИСТИКИ

Цифровой фильтр описывается тремя характеристиками — разностным уравнением , которому может быть поставлена в соответствие передаточная функция K ( z ) или полученная в результате обратного z -преобразования K ( z ) его дискретная импульсная характеристика h [ k ] . Из приведенных примеров следует, что существуют два принципиально различных класса цифровых фильтров. Фильтры первого класса — нерекурсивные — описываются разностным уравнением, в котором выходная величина y [ k ] выражается только через конечное число значений входного сигнала x [ n ] . Таким, например, является уравнение усреднения, рассмотренное выше.

Фильтры второго класса — рекурсивные — описываются уравнением, в котором выходная переменная y [ k ] выражается не только через значения входного сигнала x [ n ], но и через предшествующие значения выходного сигнала y [ k – m ] . Сюда, например, относится разностное уравнение u2[ k + 1] = u2[ k ] e -T/ t + u1[ k ][h(T) – h(TTи)], описывающее преобразование прямоугольных сигналов RС -цепью (см. п. 20.4), а также дискретные модели любых других аналоговых динамических систем (в частности, электрических цепей).

Нерекурсивный цифровой фильтр сохраняет информацию о входном сигнале за конечное число шагов — его импульсная характеристика конечна, а передаточная функция имеет вид ряда по степеням z (который включает и отрицательные показатели).

Информация, поступившая на вход рекурсивного фильтра, сохраняется в нем бесконечно долго; он имеет бесконечную по длительности импульсную характеристику и описывается передаточной функцией в виде рациональной дроби. Максимальная разность индексов переменных в разностном уравнении, который отвечает разность степеней z в числителе и знаменателе передаточной функции, определяет порядок цифрового фильтра.

Так, нерекурсивный цифровой фильтр второго порядка описывается разностным уравнением f 2 [ n ] = a 0 f 1 [ n ] + a 1 f 1 [ n – 1] + a 2 f 1 [ n – 2], его передаточная функция K ( z ) = a 0 + a 1 z –1 + a 2 z –2 , а импульсная характеристика определяется коэффициентами, h [ n ] = a 0 , a 1 , a 2 , 0, 0, 0, 0, .

Рекурсивный цифровой фильтр второго порядка описывается разностным уравнением f 2 [ n ] = a 0 f 1 [ n ] + a 1 f 1 [ n – 1] + a 2 f 1 [ n – 2] + b 1 f 2 [ n – 1] + b 2 f 2 [ n – 2],

а его передаточная функция — .

По известным значениям коэффициентов разностного уравнения a k и b k цифровой фильтр 2-го порядка может быть реализован с помощью умножителей, сумматоров и блоков задержки.

Блок-схемы цифровых фильтров обоих классов 2-го порядка, включающие перечисленные блоки, показаны на рис. 21.10 ( а – нерекурсивный; б – рекурсивный).

Цифровые рекурсивные фильтры. Часть 1.

Я долго думал, как назвать тему. Вариантов было много: от рекламно-жизнерадостного «Цифровые фильтры — это очень просто!» до (с ярким оттенком снобизма) «Алгоритмы построения цифровых IIR- фильтров Баттерворта — для тупых!»
«По совету друзей» (с) я решил остановиться на нейтральном названии (простенько, но со вкусом (с)): «Цифровые рекурсивные фильтры», или, как их ещё называют в простонародье, «БИХ-фильтры» или фильтры с Бесконечной Импульсной Характеристикой, что эквивалентно буржуйскому IIR (infinite impulse response).
Моя цель — подготовить подготовить вас к чтению серьёзных статей по этой тематике (не дай Бог, конечно, но в жизни может всякое случиться. ).
Продолжение в Часть 2. Часть 3.

Что от вас требуется:
1. Умение пользоваться Googleм (многие термины я объяснить подробно не смогу)
2. Знание математики в пределах 1 курса технического ВУЗа или продвинутое (см. пункт 1)
3. Знание программирования. Язык значения не имеет. Я буду приводить примеры на том языке, который под руку попадёт. В основном это будет Си и Фортран.
Претензии любителей Бэйсика, Дельфи, МатЛаба и PHP не принимаются.

I. Комплексная передаточная характеристика аналогового фильтра низких частот (ФНЧ).

«Аналоговый фильтр — это такая хрень устройство из сопротивлений, индуктивностей и конденсаторов» (с).Если кто ещё помнит ТОЭ (теоретические основы электротехники), комплексное сопротивление индуктивности
Z=jωL, конденсатора: Z=1/(jωC) где j — мнимая единица, ω- круговая частота
H(jω) — комплексная передаточная характеристика фильтра. То что в скобках стоит jω просто подчёркивает «комплексность» этой функции.H(jω) полностью описывает АЧХ (амплитудно-частотную характеристику) и ФЧХ (фазо-частотную характеристику) фильтра.Обычно обозначают jω=S.
Аналоговые фильтры давно и хорошо изучены. Здесь всё уже украдено придумано до нас.
Вот например:
Аналоговый ФНЧ Баттерворта 1 порядка:

Аналоговый ФНЧ Баттерворта 2 порядка:

Аналоговый ФНЧ Баттерворта 3 порядка:

Параметр β определяет частоту среза фильтра.

II. z- преобразование.

Наша задача превратить аналоговый ФНЧ в цифровой фильтр.
Чтобы перейти к цифровому фильтру надо сделать z-преобразование H(S)—> H(z)
Для ФНЧ z-преобразование имеет вид:

Для ФВЧ z-преобразование имеет вид:

Для фильтров низких порядков это легко: тупо подставляем в формулу Н(S) формулу S(z).
Давайте найдём H(z) ФВЧ 2-го порядка:

Упрощаем:

Окончательно:

В принципе, цифровой ФВЧ Баттерворта 2 порядка готов! Можно писать рекуррентную формулу 🙂
В общем виде H(z) 2-го порядка:

Тогда:



Fs -частота среза фильтра, FN — частота Найквиста
α — параметр, определяющий по какому уровню мы определяем Fs.
Можно положить α=1, что соответствует уровню -3дБ.
Итак, мы определили коэффициенты H(z) для ФВЧ.
Соответствующая рекуррентная формула:

Примечание: Обычно, чтобы не тащить в рекуррентную формулу сомножитель 1/Ao, в формуле H(z) числитель и знаменатель умножают на 1/Ao.
Если мы проведём такие же выкладки для ФНЧ, то получим, что нечётные коэффициенты поменяют знаки.
A1фнч=-A1фвч и B1фнч=-B1фвч.

III. Матрица z- преобразования.

Пока порядок фильтра не очень высок, коэффициенты фильтра определить легко. На высоких порядках получаются многоэтажные дроби, которые трудно упростить.
Поэтому воспользуемся матрицами z -преобразования.
Для ФНЧ Баттерворта 2-го порядка:

Соответствующая матрица z- преобразования ФНЧ-ФВЧ имеет вид:


То есть умножая матрицу z- преобразования на столбец, состоящий из коэффициентов H(S), сразу получаем искомые коэффициенты рекуррентной формулы!
Заметим, чтобы получить матрицу z- преобразования ФВЧ надо у матрицы z- преобразования ФНЧ переставить столбцы (и наоборот).
Матрицу z- преобразования относительно просто вычислить.
Вот пример матрицы ФНЧ 15 порядка:

Матрица z-преобразования зависит только от порядка фильтра. Сам фильтр может быть любым — Баттерворта, Чебышева 1 и 2 рода, Кауэра. Естественно и коэффициенты Bn придётся вычислять при помощи этой матрицы.
Сложнее дело обстоит с полосовыми и режекторными фильтрами. Матрица z-преобразования также существует, но имеет более сложный вид.
Пусть аналоговый ФНЧ- прототип 6-го порядка имеет вид:

Матрица ПФ 6 порядка:

К- параметр определяющий центральную частоту фильтра.
Искомые коэффициенты рекуррентной формулы Ai, Bi определяются из уравнений, где ai, bi — коэффициенты H(S):


Для практической реализации осталось только определить параметр К.
z- преобразование ФНЧ—> ПФ имеет вид:

где

F0 — центральная частота, FN- частота Найквиста, Fs- частота среза ФНЧ — прототипа (полоса фильтра).

IV. Быстрый алгоритм вычисления коэффициентов рекуррентной формулы.

В реальных вычислениях матрица принимает более простой вид из-за симметрии коэффициентов по столбцам. (Количество умножений уменьшается почти в 2 раза).
Рассмотрим алгоритм быстрого расчёта коэффициентов рекуррентной формулы на примере полосового фильтра 6 порядка.Переставим строки (для наглядности).
Вот так рассчитываются коэффициенты по «обычному» алгоритму:

Обнулим элементы матрицы, выделенные желтым цветом:

Получили разряженную матрицу, но «потеряли» значения искомых коэффициентов Аi.
А теперь элементарно восстановим «потерянные» значения Аi:

Аналогично находятся коэффициенты Вi.

V. Практическая реализация.

Программа расчёта коэффициентов полосового фильтра 5 порядка быстрым методом:

Рекуррентная формула для полосового БИХ-фильтра 5-го порядка будет иметь вид:
y[n]=B[0]*x[n]+B[1]*x[n-1]+B[2]*x[n-2]+B[3]*x[n-3]+B[4]*x[n-4]+B[5]*x[n-5]+B[6]*x[n-6]+
B[7]*x[n-7]+B[8]*x[n-8]+B[9]*x[n-9]+B[10]*x[n-10]-
-A[1]*y[n-1]-A[2]*y[n-2]-A[3]*y[n-3]-A[4]*y[n-4]-A[5]*y[n-5]-A[6]*y[n-6]-
-A[7]*y[n-7]-A[8]*y[n-8]-A[9]*y[n-9]-A[10]*y[n-10]
где x[n] — входные выборки, y[n] — выходной (отфильтрованный) сигнал.

Эффективность алгоритма.
Процессор Intel Atom 1.6 ГГц
Фильтр — полосовой фильтр Кауэра 5 порядка.
Рассчитывалось 5 млн. фильтров с одинаковой полосой, менялась только центральная частота.
Время расчёта коэффициентов по обычной методике — 46 секунд.
Время расчёта быстрым методом — 28 секунд.
Можно сравнить с медленным алгоритмом:
http://forum.easyelectronics.ru/viewtopic.php?f=9&t=22252&start=0

Более простая программа:
Вычисление коэффициентов полосового фильтра Баттерворта 3 порядка на ATmega8:

Рекуррентная формула для полосового БИХ-фильтра 3-го порядка будет иметь вид:
y[n]=B[0]*x[n]+B[1]*x[n-1]+B[2]*x[n-2]+B[3]*x[n-3]+B[4]*x[n-4]+B[5]*x[n-5]+B[6]*x[n-6]-
-A[1]*y[n-1]-A[2]*y[n-2]-A[3]*y[n-3]-A[4]*y[n-4]-A[5]*y[n-5]-A[6]*y[n-6]
где x[n] — входные выборки, то y[n] — выходной (отфильтрованный) сигнал.

VI. Приложение.

Матрицы z — преобразования ФНЧ-ФНЧ порядков 1-4:

Свойства матрицы z — преобразования:
Сумма элементов столбцов (кроме крайнего левого (ФВЧ) или правого(ФНЧ)) равна 0.
Сумма элементов нечётных строк = 0.

Матрицы z — преобразования ФНЧ—> ПФ порядков 2-3:


источники:

http://eelib.narod.ru/toe/Novg_2.01/21/Ct21-6.htm

http://we.easyelectronics.ru/Theory/cifrovye-rekursivnye-filtry-chast-1.html