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) в форме с двумя переменными состояния. Проектировщик фильтра должен сам решить, какой подход предпочтительно использовать в каждом конкретном случае.