Цифровые фильтры. Моделирование в Xcos — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Цифровые фильтры. Моделирование в Xcos

2019-08-04 388
Цифровые фильтры. Моделирование в Xcos 0.00 из 5.00 0 оценок
Заказать работу

Цифровой фильтр – это программа обработки оцифрованного сигнала. Цифровой фильтр из входной последовательности значений { e [k]} строит на выходе новую последовательность { v [k]}:

Например, линейный фильтр второго порядка вычисляет очередное значение сигнала выхода v [ k ] по формуле

v [ k ] = a 2· e [ k ] + a 1· e [ k– 1] + a 0· e [ k– 2] – b 1· v [ k– 1] – b 0· v [ k– 2]

Здесь a 2, a 1, a 0, b 1 и b 0 – коэффициенты фильтра; e [ k ] – текущее (только что полученное) значение входного сигнала; e [ k– 1] и e [ k– 2] – два предыдущих значения входного сигнала полученные соответственно в моменты k –1 и k –2; v [ k– 1] и v [ k– 2] – два предыдущих значения выходного сигнала.

Вычислим реакцию такого фильтра на единичный ступенчатый входной сигнал e [ k ], который равен 0 при всех k < 0 и равен 1 при всех k ³ 0:

… = e [–2] = e [–1] = 0

e [0] = e [1] = e [2] = … = 1

Подставляя эти значения, получаем

v [0] = a 2· e [0] = a 2

v [1] = a 2· e [1] + a 1· e [0] – b 1· v [0] = a 2 + a 1b 1· v [0]

v [2] = a 2 + a 1 + a 0b 1· v [1] – b 0· v [0]

Так последовательно можно найти значения v [ k ] при всех k.

Рассмотрим особый случай, когда b 1 = b 0 = 0, то есть уравнение фильтра не использует прошлых значений выхода:

v [ k ] = a 2· e [ k ] + a 1· e [ k– 1] + a 0· e [ k– 2]

В этом случае получаем

v [0] = a 2, v [1] = a 2 + a 1

v [2] = a 2 + a 1 + a 0

v [3] = a 2 + a 1 + a 0

Это значит, что, начиная с момента k = 2, все значения сигнала выхода будут равны a 2 + a 1 + a 0, то есть переходный процесс заканчивается за конечное число шагов. Такие фильтры называются фильтрами с конечной импульсной характеристикой (КИХ-фильтрами).

По уравнению фильтра можно определить установившееся значение выходного сигнала (если оно существует). Пусть на вход поступает единичный ступенчатый сигнал. Тогда в установившемся режиме выход не меняется, то есть должно выполняться равенство

v [ k ] = v [ k– 1] = v [ k– 2] = v ¥ = const

Поэтому, учитывая, что e [ k ] = e [ k– 1] = e [ k– 2] = 1, получаем

v ¥ = a 2 + a 1 + a 0b 1· v ¥b 0· v ¥

Отсюда сразу следует, что

.

Вернёмся снова к уравнению фильтра:

v [ k ] = a 2· e [ k ] + a 1· e [ k– 1] + a 0· e [ k– 2] – b 1· v [ k– 1] – b 0· v [ k– 2]

и запишем его в операторной форме, используя оператор запаздывания z –1, такой что

z –1 v [ k ] = v [ k– 1], … z –m v [ k ] = v [ k–m ].

Получаем

v [ k ] = a 2· e [ k ] + a 1· z –1e[ k ] + a 0· z –2 e [ k ] – b 1· z –1 v [ k ] – b 0· z –2 v [ k ]

Перенесем все значения выходного сигнала в левую часть:

v [ k ] + b 1· z –1 v [ k ] + b 0· z –2 v [ k ] = a 2· e [ k ] + a 1· z –1e[ k ] + a 0· z –2 e [ k ]

и вынесем общие множители в обеих частях:

 (1 + b 1· z –1 + b 0· z –2) v [ k ] = (a 2 + a 1· z –1 + a 0· z –2) e [ k ]

Разделим обе части равенства на скобку в левой части:

.

Умножим числитель и знаменатель на z 2:

Функция

называется передаточной функцией цифрового фильтра. Для КИХ-фильтра знаменатель передаточной функции имеет вид zN, например,

.

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

.

Для моделирования цифрового фильтра в Xcos используется блок DLR (группа Системы с дискретным временем). Период квантования задается таймером, который подключен к красному входу. В свойствах блока нужно ввести числитель (Numerator) и знаменатель (Denominator) передаточной функции фильтра.

При вводе числителя и знаменателя можно использовать переменные, например, так:

При сохранении этих данных в модели Xcos программа проверяет, есть ли такие переменные. Поэтому их нужно заранее определить в рабочем пространстве Scilab (присвоив им любые подходящие значения, в данном случае – числовые).

Можно также взять числитель и знаменатель из существующей модели Scilab:

Для этого модель цифрового фильтра должна быть заранее создана в рабочей области Scilab в формате передаточной функции:

--> a0 = 1.2;

--> a1 = 2.3;

--> b0 = -0.8;

--> C = syslin("d", a0*%z^2+a1*%z+1, %z^2+b1*%z+b0)

Существует особый блок с передаточной функцией , который выполняет запаздывание на один такт. Действительно, операторное уравнение такого фильтра

zv [ k ] = e [ k ] или v [ k ] = z 1 e [ k ]

 

может быть записано в виде разностного уравнения

v [ k ] = e [ k –1].

Это значит, что текущее значение выхода равно предыдущему значению входа.


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.