2.2.2.Нахождение корней.
Для нахождения полюсов нужно вычислить корни всех полиномов знаменателя, т.е. найти корни следующих полиномов
1 1.25z 1 0.25z 2 0 z2 1.25z 0.25 0
и
1 z 1 0.24z 2 1 z2 z 0.24 0 .
Для первого полинома получим4:
roots_bih1=roots([1.00 -1.25 0.25])
roots_bih1 =
1.0000
0.2500
Аналогично, для второго полинома:
roots_bih2=roots([1.00 1 0.24])
roots_bih2 =
-0.6000 -0.4000
Таким образом, имеем следующие корни:
z |
БИХ |
1, 0.25, |
0.6, 0.4 |
|
(12) . |
|
|
|
|
||
Условие устойчивости БИХ-фильтра: все полюсы должны лежать |
|||||
внутри единичной окружности, т.е. |
модуль каждого корня должен быть |
||||
меньше 1, zroot 1.
Среди корней в (12) имеется один корень, модуль которого равен 1.
Поэтому данный БИХ-фильтр будет неустойчивым.
2.2.3.Функциональная схема
Для построения функциональной схемы представим передаточную функцию представить в виде рациональной дроби, т.е. числитель и знаменатель нужно представить в виде соответствующих полиномов.
Числитель от z не зависит, следовательно, в числителе полином - нулевого
4 Здесь используется программный способ вычисления корней. Но, поскольку данные полиномы являются квадратными трехчленами, то также можно использовать и ручной метод, описанный в 2.1.2.
11
порядка. Для вычисления полинома знаменателя необходимо перемножить два полинома
H |
БИХ z |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
1 |
1.25z 1 |
0.25z 2 |
1 |
z 1 |
0.24z 2 |
|
|
|||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
1 1.25z 1 |
0.25z 2 |
|
z 1 |
1 1.25z 1 |
0.25z 2 |
|
|
|||||
|
0.24z 2 |
|
1.25z 1 |
0.25z 2 |
|
|
|
|
|
|
||
|
1 |
|
|
|
|
|
|
|||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
1 1.25z 1 0.25z 2 z 1 1.25z 2 0.25z 30.24z 2 0.3z 3 0.06z 4
|
1 |
|
|
1 0.25z 1 0.76z 2 0.05z 3 0.06z 4 |
Таким образом, результирующая передаточная функция БИХ-фильтра будет иметь вид
HБИХ z |
|
|
1 |
|
. |
(13) |
|
|
|
|
|||
|
0.25z 1 |
0.76z 2 0.05z 3 |
0.06z 4 |
|||
1 |
|
|
||||
Имеем БИХ-фильтр четвѐртого порядка. Для правильного отображения коэффициентов фильтра запишем передаточную функцию в следующем виде:
HБИХ z |
|
|
1 |
|
|
. |
(14) |
|
|
|
|
|
|||
|
0.25z 1 |
0.76z 2 0.05z 3 |
0.06z 4 |
|
|||
1 |
|
|
|||||
В этой формуле коэффициенты при переменной z |
|
|
определяют |
||||
весовые коэффициенты обратной связи в БИХ-фильтре.
Схема фильтра приведена на рисунке 4.
12
xn |
yn |
|
|
|
|
|
Z-1 |
|
0.25 |
|
Z-1 |
|
0.76 |
|
Z-1 |
|
0.05 |
|
Z-1 |
|
0.06 |
Рисунок 4 – Функциональная схема БИХ-фильтра
Следует отметить, что вычисление результирующей передаточной функции можно выполнить программно с использованием функции пакета
Matlab conv(a,b) или poly(roots), например:
poly([1.00 0.25 -0.60 -0.40]) ans =
1.00-0.25 -0.76 -0.05 0.06
2.2.4.Импульсная реакция фильтра5
Импульсная реакция фильтра – это выходной сигнал фильтра при воздействии на входе единичного импульса. Выходной сигнал БИХ-фильтра
с передаточной функцией вида (14) определяется следующим выражением:
yn xn b1 yn 1 b2 yn 2 b3 yn 3 b4 yn 4 , |
(15) |
где b1 0.25, b2 0.76, b3 0.05, b4 0.06 .
Для вычисления передаточной функции нужно сформировать входной сигнал
5 При построении импульсной реакции БИХ-фильтра нужно брать не менее 20
точек.
13
|
|
1 |
для |
n 1 |
|
|
xn |
|
0 |
для всех |
n 1 |
, |
(16) |
|
|
|
|
и вычислить yn для n 1,2,....20 .
Используем функцию пакета MatLab filter(). Для БИХ-фильтра это
выглядит следующим образом:
x=zeros(1,20);
b=[1.0000 -0.2500 -0.7600 -0.0500 0.0600] x(1)=1;
y=filter(1,b,x);
figure(3) stem(y,'LineWidth',2); grid
Следует обратить внимание, что вектор с коэффициентами знаменателя ставится на втором месте в функции filter.
Результат расчѐта выводится на графике и приведѐн на рисунке 2.
Рисунок 5 – Импульсная реакция БИХ фильтра
Здесь видно, что импульсная реакция фильтра не является затухающей функцией времени. Это подтверждает вывод, что фильтр является неустойчивым.
14
2.2.5. |
АЧХ фильтра |
|
|
|
|
|
Для вычисления АЧХ фильтра нужно вычислить модуль передаточной |
||||||
функцию, |
как функцию от частоты |
f |
в диапазоне |
от 0 |
до 1 , т.е. в |
|
|
|
|
|
|
T |
|
выражении для передаточной функции заменить z e j 2 fT (или |
z 1 e j 2 fT ) |
|||||
где T - заданный период дискретизации. |
Для функции (7) имеем |
|
||||
HБИХ |
z e j 2 fT |
|
1 |
|
|
.(17) |
|
|
|
|
|||
|
1 0.25e j 2 fT 0.76e j 4 fT 0.05e j 6 fT 0.06e j8 fT |
|
||||
АЧХ БИХ фильтра в диапазоне от 0 до 1000 Гц |
приведена на рисунке |
|||||
6. |
|
|
|
|
|
|
|
Рисунок 6 – АЧХ БИХ-фильтра |
|
|
|
||
15
2.3. Анализ последовательного соединения КИХ-фильтра и
БИХ-фильтра
При последовательном соединении фильтров передаточная функция
результирующего фильтра будет равна произведению передаточных функций
всех фильтров |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
H |
|
z H |
|
z H |
|
z |
1 0.9z 1 |
0.1z 2 1 0.1z 1 |
0.72z 2 |
(18) |
|||||
КИХ-БИХ |
КИХ |
БИХ |
|
1.25z 1 0.25z 2 |
|
z 1 |
0.24z 2 |
|
|||||||
|
|
|
|
|
|||||||||||
|
|
|
|
1 |
1 |
|
|
||||||||
С учетом полученных преобразованных передаточных функций КИХ-
фильтра (7) и БИХ-фильтра (13) можно записать
HКИХ-БИХ z HКИХ z HБИХ z |
1 0.8z 1 0.92z 2 0.647z 3 |
0.072z 4 |
(19) |
|
1 0.25z 1 0.76z 2 0.05z 3 |
0.06z 4 |
|||
|
|
2.3.1.Устойчивость.
Согласно общему определению результирующий фильтр относится к типу БИХ-фильтров, так как его передаточная функция представлена в виде
рациональной дроби и содержит знаменатель.
Все дальнейшие вычисления можно осуществлять с передаточной
функцией вида (19), но поскольку, корни полиномов числителя и
знаменателя уже были вычислены в разделах 2.1.2 и 2.2.2, то можно существенно упростить процедуру анализа. Для этого анализируем корни
исходного КИХ-фильтра (6) zКИХ [1, |
0.1, |
|
0.8, |
0.9] ( это корни числителя |
|||
передаточной функции КИХ-БИХ фильтра) |
и корни исходного БИХ- |
||||||
фильтра (12) |
z |
БИХ |
1, 0.25, 0.6, |
0.4 |
|
( |
это корни знаменателя |
|
|
|
|
|
|
||
передаточной функции КИХ-БИХ фильтра). Находим совпадающие корни и
удаляем их. В данном примере имеется общий корень |
zКИХ 1 и zБИХ |
1. |
Поэтому удаляем его из множества корней числителя и знаменателя. |
В |
|
результате числитель имеет корни znum [ 0.1, 0.8, |
0.9] , а знаменатель |
|
zdenom 0.25, 0.6, 0.4 . |
|
|
16
Все оставшиеся корни знаменателя будут полюсами передаточной
функции. Поскольку модули всех полюсов |
|
zdenom |
|
0.25, |
0.8, 0.4 меньше |
|
|
||||
1, то результирующий фильтр будет устойчивым. |
|
||||
2.3.2. Нахождение корней. |
|
||||
Корни числителя и знаменателя получены в разделе 2.3.1.
2.3.3.Функциональная схема
Для построения функциональной схемы представим передаточную функцию в виде рациональной дроби, т.е. числитель и знаменатель нужно представить в виде соответствующих полиномов. Поскольку корни числителя и знаменателя известны, то результирующую передаточную функцию можно записать через корни полиномов
H z |
1 rnum,1z 1 1 rnum,2 z 1 ... 1 rnum,k z 1 |
|
||||||||
|
|
, |
|
(20) |
||||||
1 rdenom,1z 1 1 rdenom,2 z 1 ... 1 rdenom,l z 1 |
||||||||||
где rnum,i - корни числителя, rdenom,i |
- корни знаменателя. |
|
||||||||
Для быстрого вычисления можно использовать функция пакета MatLab |
||||||||||
poly. Получим коэффициенты полинома числителя для вектора корней |
||||||||||
r_num = |
|
|
|
|
|
|
|
|
|
|
0.8000 -0.1000 -0.9000 |
|
|
|
|
|
|
||||
a=poly(r_num) |
|
|
|
|
|
|
|
|
||
a = |
|
|
|
|
|
|
|
|
|
|
1.0000 |
0.2000 |
-0.7100 |
-0.0720 |
|
|
|
|
|||
Аналогично получим коэффициенты полинома знаменателя для |
||||||||||
вектора корней |
|
|
|
|
|
|
|
|
||
r_denom = |
|
|
|
|
|
|
|
|
|
|
-0.6000 |
0.2500 |
-0.4000 |
|
|
|
|
|
|
||
b=poly(r_denom) |
|
|
|
|
|
|
|
|
||
b = |
|
|
|
|
|
|
|
|
|
|
1.0000 |
0.7500 |
-0.0100 |
-0.0600 |
|
|
|
|
|||
В |
результате |
можно |
записать |
передаточную |
функцию |
|||||
результирующего КИХ-БИХ фильтра |
|
|
|
|
||||||
|
|
H z |
1 0.2z 1 0.71z 2 0.072z 3 |
. |
(21) |
|||||
|
|
|
||||||||
|
|
|
|
1 0.75z 1 0.01z 2 |
0.06z 3 |
|
||||
17
Здесь видно, что при последовательном соединении заданных КИХ- |
|||
фильтра 4-го порядка и БИХ-фильтра 4-го порядка, результирующий фильтр |
|||
стал БИХ фильтром 3-го порядка и, к тому же, он стал устойчивым. |
|
|
|
Для удобства представления в виде функциональной схемы |
|||
преобразуем знаменатель в выражении (21) следующим образом |
|
|
|
1 0.2z 1 0.71z 2 0.072z 3 |
|
|
|
H z 1 0.75z 1 |
0.01z 2 0.06z 3 . |
|
(22) |
Коэффициенты в скобках в знаменателе будут определять весовые |
|||
коэффициенты обратной связи. |
|
|
|
Схема фильтра приведена на рисунке 7. |
|
|
|
xn |
|
y |
n |
|
|
|
|
|
|
|
|
|
1 |
|
|
Z-1 |
|
|
|
0.75 |
0.2 |
|
|
Z-1 |
|
|
|
0.01 |
0.71 |
|
|
Z-1 |
|
|
|
0.06 |
0.072 |
|
|
|
|
|
|
Рисунок 7 – Функциональная схема результирующего КИХ-БИХ-фильтра |
|||
2.3.4.Импульсная реакция фильтра
Импульсная реакция фильтра – это выходной сигнал фильтра при воздействии на входе единичного импульса. Выходной сигнал БИХ-фильтра
с передаточной функцией вида (14) определяется следующим выражением:
|
yn a0 xn |
a1xn 1 a2 xn 2 a3xn 3 b1 yn 1 b2 yn 2 b3 yn 3 , |
(23) |
где a0 1, |
a1 0.2, a2 |
0.71, a3 0.072 b1 0.75, b2 0.01, b3 0.06 |
|
Для вычисления передаточной функции нужно сформировать входной сигнал
18
|
|
1 |
для |
n 1 |
|
|
xn |
|
0 |
для всех |
n 1 |
, |
(24) |
|
|
|
|
и вычислить yn для n 1,2,....20 .
Используем функцию пакета MatLab filter(). Для БИХ-фильтра с передаточной функцией (21) это выглядит следующим образом:
|
x=zeros(1,20); |
|
|
|
||
|
x(1)=1; |
|
|
|
|
|
a |
= |
[ |
1.0000 |
0.2000 |
-0.7100 |
-0.0720] |
b |
= |
[ |
1.0000 |
0.7500 |
-0.0100 |
-0.0600] |
y=filter(a,b,x);
figure(3) stem(y,'LineWidth',2); grid
Результат расчѐта выводится на графике и приведѐн на рисунке 8.
Рисунок 8 – Импульсная реакция БИХ фильтра
19
2.3.5. |
АЧХ фильтра |
|
|
|
|
|
|
|
Для вычисления АЧХ фильтра нужно вычислить модуль передаточной |
||||||||
функцию, |
как функцию от частоты |
f |
в диапазоне |
от 0 |
до |
1 , т.е. в |
||
|
|
|
|
|
|
|
T |
|
выражении для передаточной функции заменить z e j 2 fT (или |
z 1 e j 2 fT ) |
|||||||
где T - заданный период дискретизации. |
Для функции (7) имеем |
|
|
|||||
HКИХ-БИХ z e j 2 fT 1 0.2e j 2 fT |
0.71e j 4 fT 0.072e j 6 fT |
. |
(25) |
|||||
|
1 0.75e j 2 fT 0.01e j 4 fT 0.06e j 6 fT |
|
|
|||||
АЧХ |
результирующего |
фильтра |
в диапазоне |
от 0 |
до |
1000 |
Гц |
|
приведена на рисунке 9. |
|
|
|
|
|
|
|
|
|
Рисунок 9 – АЧХ результирующего БИХ-фильтра |
|
|
|
||||
20
