5.2.2. Обобщения итерационной схемы
Пожалуй, самым неприятным
ограничением итерационной схемы, описанной в предыдущем разделе, является
существование устойчивых БИХ-фильтров, не удовлетворяющих условию сходимости
(5.22). Такие фильтры нельзя реализовать с помощью итерационных вычислений. В
этом разделе мы обсудим некоторые обобщения, позволяющие выполнять итерационную
реализацию любого устойчивого БИХ-фильтра.
Для упрощения выкладок рассмотрим
частный случай, когда полином-знаменатель является чисто вещественной и строго
положительной функцией
. (5.30)
Требуемый
частотный отклик БИХ-фильтра можно записать следующим образом:
, (5.31)
где
константа -
параметры, которые требуется определить. Теперь можно переопределить в виде
. (5.32)
Как
и выше, построим итерационное выражение для нахождения частотного отклика
. (5.33)
Условие
сходимости остается
без изменения, однако теперь функция содержит свободный параметр . Поскольку мы
приняли, что функция строго положительна, то получается, что для положительных
значений .
Для выполнения условия сходимости остается потребовать, чтобы выполнялось
условие .
Этого можно добиться, выбирая константу в интервале
. (5.34)
В
результате обеспечивается выполнение условия . Случай, когда функция вещественна и
положительна, имеет определенную практическую ценность, поскольку он включает в
себя некоторые симметричные двумерные БИХ-фильтры, используемые в обработке
изображений.
В более общем случае представляет собой
комплексную тригонометрическую полиномиальную функцию, которая для устойчивого
двумерного БИХ-фильтра удовлетворяет условию
. (5.35)
Для
этого общего случая отклик можно записать в виде
. (5.36)
Здесь
в знаменателе стоит вещественная и положительная функция , что дает возможность
повторить приведенные выше выкладки. Переопределив функцию
, (5.37)
получим
новое итерационное выражение:
. (5.38)
Как
и ранее, функция должна
удовлетворять условию сходимости . Это обеспечивается выбором константы в интервале
. (5.39)
Итерационное выражение (5.38)
позволяет реализовать любой устойчивый двумерный рациональный частотный отклик
и, кроме того, обладает еще некоторыми интересными свойствами. Например, легко
показать, что фаза спектра сходится к нужному значению после первой же
итерации. Это можно выразить следующим образом:
для
(5.40)
с учетом
.
Этот
интересный факт объясняется тем, что фаза совпадает с фазой . Поэтому
(5.41)
Последующие
итерации лишь уточняют амплитуду спектра.
Итерационное выражение (5.38)
обладает большей общностью по сравнению с более простым выражением (5.17) в том
смысле, что позволяет реализовывать более широкий класс частотных откликов. С
другой стороны, оно требует большего объема вычислений. Входной сигнал должен подвергаться
фильтрации последовательно соединенными фильтрами и , а не одним фильтром . КИХ-фильтр, соответствующий
функции ,
также оказывается более сложным, он требует примерно вдвое больше вычислений по
сравнению с реализацией прямой сверткой.
Переопределение функции , не изменило
соотношение между ошибкой и функцией . Повторим для удобства это соотношение:
. (5.42)
Если
в какой-то полосе частот функция близка к нулю, то ошибка в этой полосе частот
будет быстро приближаться к нулю по мере увеличения номера итерации. Наоборот,
если для некоторой спектральной области функция близка к 1, то ошибка в этой области
будет оставаться значительной даже после нескольких итераций.
Иногда желательно иметь
возможность перераспределять ошибки в частотной плоскости, например, для того,
чтобы распределить их более равномерно по всей полосе частот или, наоборот,
чтобы уменьшить ошибки в пределах более важной полосы частот за счет
относительно менее важной полосы. Этого можно добиться с помощью еще одного
обобщения. Вместо множителя в выражениях (5.36) и (5.37) можно
использовать более общую частотно-зависимую функцию релаксации . Тогда можно записать
(5.43)
и
снова переопределить функцию следующим образом:
. (5.44)
Тогда
итерационное выражение примет вид
. (5.45)
Теперь
следует так выбрать ,
чтобы в важной для нас полосе частот выполнялось условие . [Теоретически можно было бы
выбрать функцию и
ограничиться одной итерацией, но реализовать непосредственно невозможно.] Из
практических соображений мы ограничиваемся функциями , которые являются частотными
откликами КИХ-фильтров. Расширив пространственную протяженность обратного
преобразования Фурье функции , можно принудительно уменьшить . Однако чем больше
пространственная протяженность, тем больше объем вычислений на каждой итерации
выражения (5.45); таким образом, приходится идти на компромисс между объемом
вычислений на каждой итерации и числом итераций, требуемых для снижения ошибки до допустимого
значения в заданной полосе частот.