5.1. Классические схемы двумерных БИХ-фильтров
Имеется целая группа хорошо изученных способов реализации одномерных БИХ-фильтров, включая прямые формы реализации, а также построение каскадных и параллельных схем [1]. Классические способы реализации двумерных БИХ-фильтров, рассматриваемые в настоящем разделе, являются развитием этих одномерных способов, однако для них характерны некоторые особенности, отсутствующие в одномерном случае. Например, в разд. 4.1.4 мы рассматривали порядок вычисления значений выходных отсчетов. В одномерных разностных уравнениях порядок вычисления обычно определен однозначно. В двумерном же случае имеется известная свобода при решении вопроса о том, в каком порядке будут выполняться вычисления значений очередных отсчетов.
Это проявляется и при построении блок-схем фильтров. В блок-схемах обычно подразумевается, что данные проходят через схему последовательно, в заранее определенном порядке. Однако в двумерном случае порядок прохождения данных не определен однозначно, хотя на него и наложены ограничения соотношениями предшествования. Этот вопрос детально рассматривается в разд. 5.3.
5.1.1. Прямые формы реализации
БИХ-фильтр можно реализовать в прямой форме, если преобразовать разностное уравнение таким образом, чтобы значение выходного отсчета выражалось через значения входных отсчетов, а также уже найденных выходных отсчетов. В разд. 4.1 были детально рассмотрены разностные уравнения, в частности такие вопросы, связанные с прямой формой реализации, как порядок вычислений, рекурсивная вычислимость, использование входных и выходных масок. В данном разделе мы продолжим изучение прямых форм реализации и рассмотрим случай, когда входная маска имеет ненулевую протяженность.
Для фильтра первого квадранта входной сигнал
связан с выходным сигналом
соотношением
. (5.1)
[Без нарушения общности здесь принято
.] Поскольку отклик фильтра на импульс
по определению равен импульсному отклику
, то можно получить соотношение
. (5.2)
Выполнив двумерные
-преобразования выражений, стоящих слева и справа от знака равенства, решим это уравнение относительно
:
. (5.3)
Можно считать, что полученное отношение описывает каскад из двух фильтров, КИХ-фильтра с передаточной функцией
и чисто рекурсивного фильтра с передаточной функцией, равной
, как это показано на рис. 5.1.

Рис. 5.1. Представление фильтра с передаточной функцией
.
Предположим, что входная маска имеет размер
точек, обработка выполняется столбец за столбцом и в каждом столбце желательно получить
выходных точек. В этом случае потребуется хранить
входных отсчетов, т. е. немного более
столбцов. Такой объем памяти как раз необходим для размещения входной маски, соответствующей КИХ-ступени в каскаде, показанном на рис. 5.1.
Вторая ступень каскада представляет собой БИХ-фильтр с постоянным числителем. Если его выходная маска содержит
точек и имеет отверстие в правом верхнем углу, то при фильтрации столбец за столбцом потребуется
ячеек памяти. В результате суммарный объем требуемой памяти для прямой формы реализации по столбцам составит
отсчетов.
Поскольку мы рассматриваем
как передаточную функцию каскада из двух ЛИС-фильтров, возникает возможность изменить порядок следования фильтров, как это показано на рис. 5.2; причем функция
останется при этом той же. Получившаяся реализация, которую мы будем называть двумерной прямой формой II, аналогична одномерной форме II [1]. В схеме, соответствующей двумерной форме II, объем требуемой памяти сокращен, поскольку намять используется совместно в петлях обратной и прямой связи. Система, представленная на рис. 5.2, соответствует реализации уравнения
(5.4)
и формированию затем выходного сигнала
путем фильтрации
КИХ-фильтром с передаточной функцией
:
. (5.5)

Рис. 5.2. Другая реализация функции
, называемая «прямой формой II».
При этом нет необходимости одновременно хранить в памяти весь промежуточный выходной массив
. В памяти должна находиться только часть массива
, требуемая для вычисления последующих значений
и
по формулам (5.4) и (5.5).
Рассмотрим
-точечную выходную маску, соответствующую формуле (5.4) и показанную на рис. 5.3. Маска скользит по массиву
(столбец за столбцом) и в соответствии с (5.4) формирует выходные значения
. Входная маска, соответствующая передаточной функции фильтра
, покрывает прямоугольную область шириной
точек и высотой
точек. Ограничимся пока случаем
и
. Если мы только что закончили вычисление выходного значения
для конкретной точки
, то можно сразу вычислять
в соответствии с формулой (5.5), поскольку, как это показано на рис. 5.3, все требуемые для этого отсчеты
имеются. В этом случае для реализации числителя передаточной функции фильтра дополнительная память не требуется.

Рис. 5.3.
-точечная выходная маска (сплошная линия) и
-точечная входная маска (штриховая линия) могут накладываться в случае реализации прямой формы II, что обеспечивает экономию памяти.
- ранее вычисленные выходные значения; О - выходное значение, вычисляемое в настоящий момент;
- выходные значении, которые будут вычисляться в дальнейшем.
В более общем случае
может быть больше
. Тогда для реализации формулы (5.5) потребуется сохранять в памяти
дополнительных столбцов массива
. Таким образом, при использовании прямой формы II и обработке по столбцам требуется объем памяти
, т. е. приблизительно
.