УДК 621.39:519.652 А.С. Окишев
Применение обратной интерполяции в численных алгоритмах синтеза цифровых фильтров
Исследуются численные методы решения нелинейных уравнений при минимизации функции нескольких переменных, полученные на основе разложения в ряд Тейлора обратной функции. Предлагается алгоритм, который позволяет получить итерационные функции с более высоким порядком сходимости, содержащие только значения самой функции и ее первой производной.
Ключевые слова: цифровой фильтр, оптимизация функций, итерационный алгоритм, базовая последовательность, порядок сходимости.
Введение
Одной из основных задач современной теории связи является построение систем, обеспечивающих максимальную скорость передачи информации при минимальных искажениях. Наиболее перспективные системы передачи информации основываются на методах цифровой обработки сигналов [1]. Как правило, такие системы содержат цифровые фильтры (ЦФ) высоких порядков, которые выполняют необходимые частотные преобразования передаваемых сигналов.
Методы проектирования ЦФ можно разделить на две группы: методы синтеза по аналоговым прототипам [1] и прямые методы синтеза. Наиболее универсальными можно считать прямые методы, основанные на оптимизационных алгоритмах, минимизирующих согласно заданному критерию функцию ошибки между заданными и полученными характеристиками фильтра.
Общим методом расчета коэффициентов ЦФ является алгоритм минимизации L2p ошибки. Например, если при синтезе фильтра нас интересует его АЧХ, минимизируемая функция при использовании 2p-нормы ошибки рассчитывается следующим образом:
L г ^p
F (x)=l|_| H (ej x)|-| Hz (ej ^)
(1)
где H{ej'Юl,х) и Hz {г^ ) - полученная и заданная АФЧХ ЦФ; х - вектор искомых коэффициентов ЦФ; Ю1 - частоты, на которых учитывается ошибка аппроксимации; L -количество отсчетов АФЧХ.
В общем случае задача поиска вектора коэффициентов фильтра х не имеет аналитического решения и решается итерационными численными методами. В качестве оптимизационной процедуры обычно используются методы безусловной минимизации вещественной функции нескольких переменных. Они строятся исходя из необходимого условия экстремума целевой функции:
VF {х) = 0. (2)
Выражение (2) представляет собой систему нелинейных уравнений, для решения которой обычно используют градиентные или квазиньютоновские методы. Данные методы успешно применяются для поиска экстремума унимодальных функций, имеющих единственный экстремум.
В то же время проведенный анализ функции ошибки АЧХ ЦФ показал, что ее зависимости от коэффициентов передаточной функции фильтра могут быть неунимодальными (рис. 1), поэтому для решения задачи требуется задавать начальное приближение, достаточно близкое к оптимальному значению. В противном случае метод будет сходиться не к глобальному, а к локальному минимуму.
Так как минимум ошибки в выражении (1) стремится к нулю, предлагается заменить численную минимизацию (2) методами решения нелинейных уравнений:
F {х) = 0. (3)
Решение уравнения (3) будет соответствовать глобальному минимуму функции (1), поэтому начальное приближение может быть удалено от оптимального значения, т.е. область сходимости методов для неунимодальных функций существенно увеличивается.
Рис. 1. Типовые зависимости целевой функции от коэффициентов числителя (а) и знаменателя (б) передаточной функции ЦФ
1. Постановка задачи
Поиск оптимального значения аргумента х* е R" минимизируемой положительной функции F (х)е R1 заменим задачей определения корня уравнения (3). Для ее решения
обычно применяют итерационные процедуры вычисления каждого последующего приближения х^+1 к точному решению х* по реккурентной формуле
хк +1 = хк + ^ , (4) где - вектор спуска, указывающий направление сдвига из точки
Построение последовательности (4) продолжается до тех пор, пока не будет выполнено одно из условий:
\\хк +1 - хк ||<е или \F (хк +!)-F (хк )|<е , где е - заданная точность, ||х^ +1 -х^ || - норма вектора х^ +1 -х^ .
Одним из подходов получения итерационной функции является использование прямой интерполяции, когда непрерывная и т раз дифференцируемая в окрестности точки функция F(x) заменяется рядом Тейлора. Далее могут использоваться различные варианты аппроксимации этого ряда полиномами, позволяющими учитывать первые т производных. Следует отметить, что на практике вычисление второй и высших производных функции нескольких переменных является трудоемкой задачей, поэтому обычно учитываются значения самой функции и ее первой производной, что является достаточно грубой аппроксимацией.
Чтобы учесть вклад высших производных, можно использовать метод линеаризации Рунге-Кутта, разработанный для решения обыкновенных дифференциальных уравнений [2]. В этом случае для вычисления каждого последующего приближения используется информация о значении первой производной в нескольких точках, что повышает точность результата. Однако в работе [3] было показано, что с увеличением количества точек скорость сходимости метода не увеличивается и ограничивается третьим порядком.
Для увеличения скорости сходимости предлагается использовать обратную интерполяцию. Необходимо получить общий вид базовой итерационной последовательности, используя разложение в ряд Тейлора обратной функции, после чего выбрать структуру и определить параметры аппроксимирующих полиномов.
2. Получение базовой итерационной последовательности
Пусть функция F(x) непрерывна на отрезке [а, Ь] и имеет на нем корень х = х * , причем а,Ь,х,х*еИ™. Определим х=Ф(у) как обратную функцию на отрезке [с, d], где [с, d] -
область значений функции у = F (х) ; с, d, у е И1, Ф(у )е Я™ . Тогда справедливо тождество:
х - Ф^ (х)) , (5)
откуда получаем правило определения корня уравнения (3):
х* = Ф(у о), у о = 0. (6)
Если функция Ф(у) непрерывна и т раз дифференцируема в окрестности нуля, то она может быть представлена в виде ряда Тейлора:
т ; V1 Ф (у) •
Ф (0) = Ф (у ) + I (-1)г г + Rm+1 ,
г =1
г!
(7)
где Rm+1 =(-1)
т+1
V
т+1
Ф (л)
т+1
(т +1)!
- остаточный член ряда Тейлора; ле[с, .
Обозначим
VmФ{F {х)) = ёт {х), (8)
тогда разложение обратной функции в ряд Тейлора до степени m можно записать в виде
^{х) = х + £{-1)гgi{x){F{х))г .
(9)
г=1
Уравнение х = фm {х) имеет корень х = х * , так как по определению F {х *) = 0 и все слагаемые, кроме первого, в выражении (9) обращаются в нуль. Тогда {х *) = х * . Положив х^+1 = фг (х^), получим итерационный метод {г +1) -го порядка, так как все итерационные функции (ИФ) порядков m = 1,2,...,г будут равны нулю.
Функцию фг {х) можно выразить в явном виде через F {х) и ее производные, последовательно дифференцируя тождество (5) по переменной х:
—Ф ^ {х)) = — х ; ах у у " —х
VФ {F {х))^ {х) = 1 ; V2Ф^ {х))^{х))[2] +VФ{F {х))-V2F{х) = 0 ; V3Ф{F {х))^{х))[3] + 3 V2Ф{F {х))^{х^ {х) + +VФ {F {х))^ {х) = 0;
В многомерных представлениях (11) и (12) введены обозначения (VF {х))[г ]е К которые рекуррентно определяются выражениями:
{V F {x))[2]={VF {х))®^ {х)) , {V F {х))И=^ F {х)/2^ F{x)) , ...,
где ® - операция кронекеровского тензорного произведения матриц.
Используя обозначение (8), по выражениям (10)-(12) получим систему уравнений:
ё1 • VF = 1;
ё2 ^)[2] + ё1 -У^ = 0;
ё3 • ^)[3] + 3д2 • VF • + ё1 • V3F = 0;
(10) (11)
(12)
,п1 X 1
(13)
в которой каждая последующая функция ё ¿+1 выражается через предыдущие
ёг, ёг -l,..., ё1:
ё1 =
VFJ
ёз
ё2 =
VF1
VF1
V2F
VFJ
й
[2]
I -
VFJ
V3F
VF1
[3]
(14)
Здесь под [•^ понимается операция псеводообращения для матриц РТ размером {1 х п) и в общем виде
Рт
И 2 Р ,
где || Р||2 = ^р2 ; р1 - г-й элемент матрицы Р.
г =1
Для компактной записи итерационной последовательности фГ {х) введем обозначения:
+
+
+
+
А, =1 У /!
VFJ
и =
VF1
V/ F:
F .
(15)
(16)
Подставляя соотношения (14) в формулу ряда (9) с учетом обозначений (15) и (16), получим выражения для базовых итерационных последовательностей ф (х) порядка
1 < г < 4 , которые приведены в таблице. Отметим, что аналогичные выражения были получены ранее другим способом в работе [4].
Выражения для базовой итерационной последовательности
+
г Итерационная последовательность фг (х)
1 ф (х) = х - и
2 Ф2 (х) = х - и - А2и2
3 Ф3 (х) = х - и - А2и2 -(2А2 - А3)и3
4 ф4 (х) = х - и - А2и2 - (2А2 - А3)и3 - (5А2 - 5А2А3 + А4)и4
3. Выбор структуры и параметров аппроксимирующих полиномов
Коэффициенты А/ базовой итерационной последовательности содержат производные /-го порядка функции ¥ (х) . Необходимо аппроксимировать последовательность ф (х) полиномами, содержащими значения только самой функции и ее первой производной. В качестве аппроксимации будем использовать семейство ИФ третьего порядка:
У3 (х) = х -а^ (x)-а2W2 (х) , (17)
где Wl = и(х), W2 =
VFT (х-
'(х + рW1 (х))] ¥ (х).
Очевидно, что последовательность У3 (х) , как и ф(х), имеет рекуррентный характер,
т.е. каждое последующее слагаемое выражается через предыдущие.
Определим параметры итерационной функции (17). Разложив W2 (х) в ряд по степеням и(х), получим:
w2 (х) = (х + р W1 (х))]+ ¥ (х) = и (х) - 2РА2 (х)и2 (х) + [4р2 А| (х) - 3р2 А3 (х)] и3 (х) + О [и4 (х) . Поэтому
у3 (х) = х-(а1 +а2)и(х) + 2ра2А2 (х)- 4р2а2А2 (х)-3р2а2А3 (х) и3 (х) + О и4 (х)
Уз (х) - Ф3 (х) = (1 - а1 - а2 )и (х) + (1 + 2ра2 ) А2 (х) и2 (х) +
+(2 - 4р2а2)а2 (х)и3 (х) + (3р2а2 -1)А3 (х)и3 (х) + О и4 (х) .
ИФ У3 (х) имеет третий порядок тогда и только тогда, когда слагаемые при и (х) и и2 (х) равны нулю:
1 -а1 -а2 = 0; 1 + 2а2р = 0,
2р +1 1 „ п
откуда общее решение а1 =-, а2 =--, р ^ 0 .
2р
(18)
При этом
или х^ +1 - х * ^
2р
I ф (х) - х *|| ^
2(р +1) А2 (х *)-|1 + ^ р| А3 (х *)
х - х *
(19)
2(р +1) А2 (х *)-|1 + - р| А3 (х *)
\хк -х-
Таким образом, (17) включает однопараметрическое семейство ИФ третьего порядка при р^ 0. Значения свободного параметра в могут быть выбраны произвольно. Для боль-
3
3
шинства гладких функций выполняется условие А2 > А3 , поэтому можно ожидать, что константа асимптотики погрешности (19) будет иметь меньшее значение, если в нее не будут входить производные второго порядка, т.е. слагаемое А2 {х) . Поэтому примем
Р = -1, тогда а1 = а2 = 0,5 и ИФ третьего порядка имеет вид
Отметим, что предложенный алгоритм выбора параметров по базовой последовательности, полученной методом обратной интерполяции, позволяет получить ИФ и более высоких порядков.
Заключение
Задача прямого синтеза цифровых фильтров по заданным характеристикам относится к классу задач безусловной оптимизации функции нескольких переменных. Так как оптимальное значение целевой функции равно нулю, предлагается использовать методы поиска корней нелинейных уравнений, которые основаны на итерационных процедурах. Одним из подходов к получению таких процедур является использование обратной интерполяции, при которой по разложению обратной функций в ряд Тейлора формируется базовая итерационная последовательность.
Аналитическое вычисление производных второго и высших порядков функции многих переменных является трудоемкой задачей, поэтому для учета высших производных используется аппроксимация базовой последовательности полиномами, включающими значения функции и ее первой производной в нескольких точках. Представленный в статье алгоритм вычисления коэффициентов этих полиномов позволяет получить ИФ с высокими порядками сходимости без использования второй и высших производных.
Описанный метод является универсальным и может применяться не только при проектировании цифровых фильтров, но и в других задачах оптимизации, а также при решении систем нелинейных уравнений, когда вычисление производных высших порядков невозможно, но при этом требуется высокая скорость сходимости.
Литература
1. Оппенгейм А. Цифровая обработка сигналов / А. Оппенгейм, Р. Шафер. - М.: Техносфера, 2007. - 856 с.
2. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. - М.: Оникс, 2005. - 400 с.
3. Когут А.Т. Полиномиальная аппроксимация в некоторых задачах оптимизации и управления. - Омск: Омский гос. ун-т путей сообщения, 2003. - 243 с.
4. Трауб Дж. Итерационные методы решения уравнений. - М.: Мир, 1985. - 264 с.
Окишев Андрей Сергеевич
Аспирант каф. радиотехнических и управляющих систем Омского государственного университета путей сообщения Тел.: +7 (913) 673-33-41; (381-2) 31-98-76 Эл. почта: [email protected]
Okishev A.S.
Application of the regressive interpolation in numerical methods for digital filters designing
The numerical methods for solving nonlinear equations with minimization of function of several vari-ables,which are result of Taylor expansion of the inverse function,are investigated. An algorithm allowing to obtain the iterative procedures with more higher order of the convergence, which include the function values and its first derivative only,is suggested.
Keywords: digital filter, functions optimization, iterative algorithm, baseline sequence, order of convergence.