Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


5.4.2. Методы спуска для синтеза в пространственной области

Для решения задачи синтеза двумерных БИХ-фильтров можно использовать общие методы нелинейной оптимизации. Ограниченность объема книги не позволяет нам привести здесь общее сравнение и оценку всех известных методов. Заинтересованному читателю хорошую отправную точку дадут работы [10,11]. В этом разделе мы отметим несколько методов оптимизации, часто используемых при проектировании как одномерных, так и двумерных БИХ-фильтров.

Для удобства определим вектор параметров  как набор коэффициентов фильтра . Возмущения вектора параметров обозначим через . В общем случае алгоритмы нелинейной оптимизации итеративны по своей природе. На каждой итерации заданием возмущений текущих значений параметров делается попытка уменьшить ошибку аппроксимации. Обозначим функциональную зависимость ошибки от вектора параметров . Тогда на каждой итерации отыскивается вектор возмущений , для которого

.                                                                         (5.91)

(На практике  можно умножить на положительный скаляр . Тогда можно считать, что  определяет направление поиска, а  - размер шага.)

В методе наискорейшего спуска вектор направления  выбирается равным градиенту функционала ошибки, взятому со знаком минус:

.                       (5.92)

Частные производные  связаны с частными производными выходного сигнала  выражениями (5.77).

Метод наискорейшего спуска относительно прост в использовании, но отличается медленной сходимостью [10,13]. Поэтому часто его используют лишь на нескольких первых итерациях минимизации.

Метод Ньютона аппроксимирует функционал ошибки  с помощью ряда Тейлора второго порядка вида

,                                  (5.93)

где  - матрица Гессе, -я компонента которой представляет собой частную производную второго порядка , a  и  - -я и -я компоненты вектора параметров . Чтобы найти вектор возмущений , необходимо продифференцировать выражение (5.93) по  и приравнять результат нулю. Это приводит к системе линейных уравнений

,                                                                                    (5.94)

которая решается на каждой итерации для нахождения .

Теоретически этот метод обеспечивает квадратичную сходимость, если вектор параметров  близок к оптимальному. Однако метод требует для нахождения  вычисления частных производных второго порядка. Это, конечно, связано с дополнительными вычислительными расходами. Несмотря на потенциально быструю сходимость, метод Ньютона часто вообще не сходится при минимизации в пространственной области, потому что при векторе , близком к оптимальному, матрица Гессе может иметь отрицательные собственные значения [10]. Тем не менее, как мы увидим в разд. 5.6.1, метод Ньютона используется с определенным успехом при минимизации в частотной области.

Для синтеза прямых форм двумерных БИХ-фильтров успешно использовался [13] алгоритм минимизации Флетчера-Пауэлла [14]. Этот алгоритм получил название «алгоритма наискорейшего спуска с ускоренной сходимостью», поскольку в нем для вычисления частных производных второго порядка используются частные производные первого порядка плюс информация, полученная на предыдущих итерациях. Алгоритм Флетчера-Пауэлла, как и алгоритмы наискорейшего спуска и Ньютона, требует начальной оценки вектора параметров. Обоснованный выбор этой начальной оценки помогает ускорить сходимость, а также избежать при поиске глобального минимума локальных минимумов. Часто в качестве хорошей начальной оценки используется алгоритм Шэнкса [11].

При синтезе одномерных и двумерных БИХ-фильтров успешно применялся также метод линеаризации [10,15,16]. В этом методе используется разложение в ряд Тейлора первого порядка вариации выходного сигнала  как функции вектора параметров . Чтобы подчеркнуть эту функциональную зависимость, а также для некоторого упрощения обозначений будем использовать индекс  и опустим указание на зависимость от , т. е. определим

.                                                                  (5.95)

Запишем ряд Тейлора первого порядка

,                                                          (5.96)

в котором компоненты градиентного вектора  представляют собой частные производные  по коэффициентам фильтра, образующим вектор параметров . Теперь функционал ошибки можно приближенно выразить в виде

.                 (5.97)

Дифференцируя это выражение по вектору возмущений  и приравнивая производные нулю, получим

.                   (5.98)

Эти нормальные уравнения следует разрешить относительно . Используя соотношение

,                                (5.99)

их можно записать в более сжатом виде. Подставив (5.99) в (5.98), получим систему линейных уравнений

,                                                          (5.100)

где  - матрица, -й элемент которой имеет вид

.                                                (5.101)

Поскольку на первой итерации значение вектора  известно, можно вычислить величины  и . Из них легко получить  и  и нормальные уравнения (5.100), которые затем разрешаются относительно .

Строго говоря, все эти способы не могут гарантировать устойчивости [ни в смысле ограниченности входа и выхода , ни в среднеквадратичном смысле ], поскольку на практике квадратичная ошибка суммируется только по области конечной протяженности в плоскости . Однако если требуемый сигнал  квадратично суммируем и область суммирования ошибки выбрана достаточно протяженной, то фильтр будет скорее всего устойчив в обоих упомянутых выше смыслах.

В интересах полноты упомянем алгоритм минимизации Левенберга-Марквардта [17], который использовался для синтеза двумерного БИХ-фильтра в частотной области [18]. Этот алгоритм можно рассматривать как компромисс между методами Ньютона и наискорейшего спуска. Поэтому он итеративен и обеспечивает решение системы линейных уравнений относительно вектора направления  на каждой итерации. В варианте метода, использованном в работе [18], необходимые частные производные вычислялись не с помощью явных формул, а численно.

 



<< ПредыдущаяОглавлениеСледующая >>