5.3.3. Реализации с переменными состояния
В теории одномерных линейных
систем и в теории управления большую роль играет понятие состояния фильтра. В
принципе состояние фильтра в любой момент времени содержит всю информацию,
необходимую для вычисления оставшейся части выходного сигнала фильтра для
данного входного сигнала. Реализацию одномерного фильтра с одним входом и одним
выходом, базирующуюся на модели с переменными состояния, можно записать в виде
, (5.62а)
. (5.62б)
Эти
уравнения связывают входной сигнал
с выходным сигналом
с помощью вектора состояния
. Вектор состояния
изменяется во времени в соответствии с выражением (5.62а). Матрицы
,
и
, а также матрица
размера
определяют конкретную
форму взаимосвязи входа и выхода. (В общем случае эти матрицы могут изменяться
при изменении индекса
, а входной и выходной сигналы также
могут быть векторами.) Очень часто в качестве компонент вектора состояния
берутся выходные значения операторов задержки
в направленном графе, описывающем
одномерный фильтр. Классическая задача в теории переменных состояния состоит в
нахождении матриц
,
,
и
, которые дают требуемую
передаточную функцию
с минимальным числом переменных
состояния.
Аналогичный подход можно
использовать при построении двумерной модели с переменными состояния. Мы кратко
опишем модель, предложенную Рёссером [6] и получившую дальнейшее развитие в
работах Кунга и др. [7]. Модель Рёссера использует два типа переменных
состояния: переменные состояния горизонтального распространения, которые мы
будем обозначать через
и переменные состояния вертикального
распространения, обозначаемые
. Переменные состояния горизонтального
распространения, взятые в совокупности, образуют вектор
; аналогично образуется вектор
. Тогда модель с
переменными состояния двумерного ЛИС-фильтра с одним входом и одним выходом
принимает вид
, (5.63а)
. (5.63б)
Заметим, что, согласно (5.63а),
, распространяясь в
горизонтальном направлении, образует
, a
, распространяясь в вертикальном
направлении, образует
.
Для этого класса фильтров можно
найти передаточную функцию
,
выполнив
двумерное
-преобразование
выражений (5.63) и разрешив результат относительно
. Это дает
. (5.64)
Подматрица
- это
просто умноженная на
единичная матрица соответствующего
размера. Аналогично
-
это единичная матрица, умноженная на
. Цель задачи реализации с использованием
переменных состояния заключается в нахождении матриц
,
,
и
, которые дают функцию
, точно или приблизительно
равную требуемой передаточной функции
. В сущности, выражения (5.63) определяют
способ реализации, для которой следует найти алгоритм синтеза. Недостаток места
не позволяет нам вдаваться в подробности задачи синтеза; интересующиеся
отсылаются к работе Кунга и др. [7], а также к литературе по теории управления
[8]. Ниже мы обсудим вопросы реализации с использованием переменных состояния
на основе направленных сигнальных графов.
Одна из возможностей состоит в
выборе в качестве переменных состояния выходных сигналов операторов сдвига. В
этом случае
-
вектор, содержащий выходные сигналы операторов
, a
- вектор, образованный выходными
сигналами операторов
. (Заметим, что выходной сигнал ветви
оператора сдвига не обязательно совпадает с сигналом в узле, на котором
заканчивается ветвь сигнала.) Если переменная состояния соответствует выходу
оператора сдвига, следующее значение этой переменной должно соответствовать
входу оператора сдвига. Чтобы получить подматрицы
,
,
и
в выражении (5.63а), нужно выразить
входной сигнал каждого оператора сдвига через выходы всех, операторов сдвига,
следя за тем, чтобы включить все ветви от выхода ко входу, не содержащие
сдвигов.
Вернемся к направленному
сигнальному графу на рис. 5.20 и получим для него реализацию с использованием
переменных состояния. Присвоим выходу верхнего оператора
обозначение
, выходу нижнего
оператора
обозначение
, выходу
левого оператора
обозначение
и выходу
правого оператора
обозначение
, как это
показано на рис. 5.21. Для этого примера выражения (5.63) принимают следующий
вид:
,
(5.65а)
. (5.65б)
Pиc. 5.21. Направленный граф из
рис. 5.20 с системой условных обозначений. Заметим, что метки
относятся к выходам
ветвей с операторами сдвига, а не к узловым сигналам.
Эти два векторно-матричных выражения
представляют собой алгоритм вычисления значений отсчетов выходного сигнала по
значениям отсчетов входного сигнала. Как и в предыдущем разделе, объем памяти,
требуемой для хранения переменных состояния, зависит от порядка, в котором
вычисляются значения выходных отсчетов. Можно представить себе
четырехпроцессорное устройство для решения уравнения (5.65а), где на каждый
процессор возлагается задача вычисления следующего значения конкретной
переменной состояния по текущему входному значению и текущим значениям
переменных состояния. Уравнение (5.65б) можно реализовать с помощью пятого
микропроцессора, который вычисляет требуемые значения выходного сигнала. При
использовании такой архитектуры минимизация числа микропроцессоров
соответствует минимизации числа переменных состояния, что представляет собой
задачу, глубоко разработанную в литературе по теории управления [7,8]. Можно
найти и другие структуры с тем же числом переменных состояния, приводящие к
реализации той же передаточной функции
, но отличающиеся меньшей
чувствительностью к погрешностям коэффициентов или меньшим шумом округления [7,9].
В частном случае двумерных
БИХ-фильтров, обладающих только полюсами, т. е. фильтров с передаточной
функцией вида
, (5.66)
где
-
константа, а
-
двумерный полином, можно показать, что реализации с использованием переменных состояния,
основанные на направленных сигнальных графах, когда в качестве переменных состояния
выбираются операторы сдвига, требуют минимального числа переменных состояния.
Они являются минимальными реализациями [7].
Любопытно отметить, что в более
общем случае, когда полином
не является константой, реализации с
использованием переменных состояния, основанные на обычных направленных
сигнальных графах, наподобие представленного на рис. 5.20, могут и не оказаться
минимальными. Рассмотрим такой пример. Пусть
. (5.67)
Ha
рис. 5.22 показано представление этой передаточной функции в виде направленного
сигнального графа с тремя операторами сдвига.
Рис. 5.22. Представление
передаточной функции в виде направленного сигнального графа.
Заметим, что ветвь
отсутствует.
Кунг и др. [7] показали, что
функцию
можно
реализовать с помощью следующих выражений с использованием переменных
состояния, в которых фигурируют только два оператора сдвига:
, (5.68а)
. (5.68б)
Константы
и
определяются из
совместного решения нелинейных уравнений:
, (5.69а)
. (5.69б)
Используя
уравнения (5.64) и (5.69), можно показать путем очевидных, но громоздких
выкладок, что функция
(5.70)
действительно
равна функции
,
описываемой уравнением (5.67). С помощью выражений (5.68) можно построить
направленный граф сигналов, имеющий только два оператора сдвига (рис. 5.23).
Рис. 5.23. Другой направленный
сигнальный граф функции
, использующий только два оператора
сдвига. В общем случае коэффициенты
и
- комплексные числа.
Кунг и др. [7] показали, что
принцип реализации с использованием переменных состояния в форме уравнений
(5.68) можно обобщить на любую передаточную функцию
, если она удовлетворяет
следующим трем условиям. Константа
в числителе должна быть равна нулю,
наибольшие степени
в
полиномах числителя и знаменателя должны совпадать и наибольшие степени
в полиномах числителя
и знаменателя также должны совпадать.
В реализациях этого типа с
использованием переменных состояния возникает одна потенциальная сложность. При
решении нелинейных уравнений значения констант
и
могут оказаться комплексными. Если,
например,
,
,
и
, то вычисления дадут
. Введение комплексной
арифметики и расход памяти для комплексных сигналов могут свести на нет всю
экономию (аппаратную, вычислительную и памяти), полученную от использования
выражения (5.68) в форме с двумя переменными состояния. Проектировщик фильтра
должен сам решить, какой подход предпочтительно использовать в каждом
конкретном случае.