Синтез и анализ цифровых фильтров с использованием программного пакета MatLab. - 15 стр.

UptoLike

- 15 -
Теперь алгоритм включает в себя пять уравнений:
w[n]= b
10
x[n]
+v
1
[n-1]
v
1
[n]= b
11
x[n] – a
11
w[n]
y[n]= b
20
w[n]+u
1
[n-1]
u
1
[n]= b
21
w[n] – a
21
y[n]+ u
2
[n-1]
u
2
[n]= b
22
w[n] – a
22
y[n]
Анализ показывает, что каскадная форма рекурсивного фильтра обладает
меньшей чувствительностью частотной характеристики цифрового фильтра к
точности представления коэффициентов фильтра, чем прямая, каноническая
и транспонированная формы. Это означает, что при одинаковой разрядности
округлённых коэффициентов b и a частотная характеристика фильтра в
каскадной форме будет в меньшей степени отличаться от расчётной, чем
характеристики некаскадных форм.
Для получения коэффициентов передаточных функций для каскадного
представления фильтра можно использовать оператор MatLab
преобразования фильтра в соединение секций второго порядка (sos – second-
order sections):
>> [sos,g] = tf2sos (b, a);
где b,aвекторы-строки коэффициентов передаточной функции цифрового
фильтра, sosшестистолбцовая матрица, каждая строка которой
соответствует одной секции и имеет структуру
[ b
0
b
1
b
2
1 a
1
a
2
],
что соответствует передаточной функции секции вида
Kz()
b
0
b
1
z
1
+
b
2
z
2
+
1a
1
z
1
+
a
2
z
2
+
:=
В частном случае какая-либо из секций может иметь первый порядок; тогда
соответствующие элементы строки матрицы sos будут нулевыми:
[ b
0
b
1
0 1 a
1
0]. Передаточная функция, соответствующая такой строке:
Kz()
b
0
b
1
z
1
+
1a
1
z
1
+
:=
                                                  - 15 -

Теперь алгоритм включает в себя пять уравнений:

   w[n]= b10 x[n] +v1[n-1]
   v1[n]= b11 x[n] – a11 w[n]
   y[n]= b20 w[n]+u1[n-1]
   u1[n]= b21 w[n] – a21 y[n]+ u2[n-1]
   u2[n]= b22 w[n] – a22 y[n]

   Анализ показывает, что каскадная форма рекурсивного фильтра обладает
меньшей чувствительностью частотной характеристики цифрового фильтра к
точности представления коэффициентов фильтра, чем прямая, каноническая
и транспонированная формы. Это означает, что при одинаковой разрядности
округлённых коэффициентов b и a частотная характеристика фильтра в
каскадной форме будет в меньшей степени отличаться от расчётной, чем
характеристики некаскадных форм.
   Для получения коэффициентов передаточных функций для каскадного
представления    фильтра    можно     использовать   оператор     MatLab
преобразования фильтра в соединение секций второго порядка (sos – second-
order sections):

>> [sos,g] = tf2sos (b, a);

где b,a – векторы-строки коэффициентов передаточной функции цифрового
фильтра, sos – шестистолбцовая матрица, каждая строка которой
соответствует одной секции и имеет структуру

             [ b0 b1 b2 1 a1 a2 ],

что соответствует передаточной функции секции вида

                                     −1           −2
                        b 0 + b 1⋅z       + b 2⋅ z
              K(z) :=
                                 −1             −2
                         1 + a 1⋅z    + a 2⋅z

В частном случае какая-либо из секций может иметь первый порядок; тогда
соответствующие элементы строки матрицы sos будут нулевыми:
 [ b0 b1 0 1 a1 0]. Передаточная функция, соответствующая такой строке:
                                             −1
                              b 0 + b 1⋅z
                    K(z) :=
                                           −1
                               1 + a 1⋅z