РАДИОЭЛЕКТРОНИКА
УДК 621.513.6
В. И. Д жиган
МНОГОКАНАЛЬНЫЙ БЫСТРЫЙ RLS - АЛГОРИТМ АДАПТИВНОЙ ФИЛЬТРАЦИИ ДЛЯ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ С ПОМОЩЬЮ ЧЕТЫРЕХ ПРОЦЕССОРОВ
Рассмотрен новый регуляризированный быстрый RLS-алгоритм адаптивной фильтрации со скользящим окном, ориентированный на параллельную реализацию с помощью четырех процессоров. Алгоритм получен для общего случая многоканальных адаптивных фильтров с неодинаковым числом комплексных весовых коэффициентов в каналах. Данный алгоритм может быть использован для адаптивной фильтрации нестационарных сигналов, а также в качестве составной части регуляризированных RLS-алгоритмов со скользящим окном и линейными ограничениями.
В настоящее время рекурсивные алгоритмы адаптивной фильтрации по критерию наименьших квадратов (англ. Recursive Least Squares, RLS) [1-4] широко используются в различных приложениях адаптивной обработки сигналов, таких как подавление сигналов акустического и электрического эха, выравнивание каналов связи, адаптивные антенные решетки, и в ряде других приложений. Среди этих алгоритмов важное место занимают RLS-алгоритмы со скользящим окном (англ. Sliding Window, SW) [4], которые позволяют более эффективно обрабатывать нестационарные сигналы по сравнению с RLS-алгоритмами с бесконечным окном (англ. Prewindowed, PW).
Получение вычислительных процедур большинства RLS-алгорит-мов адаптивной фильтрации основано на использовании лемм об инверсии матриц [5]. В случае скользящего окна для обращения корреляционной матрицы адаптивного фильтра на каждой итерации алгоритма требуется применять такие леммы дважды. Это обуславливает примерно удвоенную вычислительную сложность (число арифметических операций за одну итерацию) SWRLS-алгоритмов по сравнению с PWRLS-алгоритмами.
Поскольку число отсчетов L (определяемое интервалом стационарности обрабатываемых сигналов), используемых при оценке корреляционной матрицы адаптивного фильтра на скользящем окне, ограничено, SWRLS-алгоритмы могут становиться нестабильными. Стабилизацию таких алгоритмов можно обеспечить путем динамической регуляризации корреляционной матрицы [6], что также обуславливает
примерно удвоенную вычислительную сложность регуляризирован-ных алгоритмов по сравнению с нерегуляризированными алгоритмами. В результате вычислительная сложность регуляризированных SWRLS-алгоритмов становится примерно в четыре раза больше, чем сложность нерегуляризированных PWRLS-aлгopитмoв.
Вычислительную нагрузку при реализации сложных алгоритмов адаптивной фильтрации можно уменьшить путем использования параллельных вычислений, которые можно осуществлять как на уровне векторных или матричных операций, так и на уровне операций над параллельными потоками обрабатываемых входных данных. Поскольку на практике может быть использовано небольшое число процессоров, параллельная реализация векторных и матричных вычислений является неэффективной. В то же время, в адаптивных фильтрах, использующих регуляризированные БWRLS-алгоритмы, существует четыре независимых потока входных данных, обусловленных включением и исключением входных сигналов и сигналов регуляризации в оценку корреляционной матрицы. Однако в силу того, что вычисления, обусловленные этими потоками, производятся последовательно, в известных регуляризированных SWRLS-aлгopитмax невозможно использовать параллельные вычисления для потоков входных данных.
Регуляризированные SWRLS-aлгopитмы, допускающие параллельные вычисления, могут быть получены с помощью приемов, рассмотренных в работе [7]. В этой работе представлены одноканальные SWRLS- и быстрый SWRLS-aлгopитмы адаптивной фильтрации с действительными весовыми коэффициентами, допускающие реализацию с помощью двух параллельных процессоров. Аналогичные многоканальные алгоритмы с комплексными весовыми коэффициентами, а также многоканальные SWRLS-aлгopитмы с линейными ограничениями получены в работе [8]. В случае регуляризированных алгоритмов из работы [8] приемы, рассмотренные в работе [7], должны быть использованы дважды, поскольку четыре потока данных обрабатываются с помощью двух процессоров.
Постановка и решение задачи. В настоящей работе представлена вычислительная процедура нового многоканального регуляри-зированного быстрого SWRLS-aлгopитмa адаптивной фильтрации, допускающего параллельную реализацию с помощью четырех процессоров. Далее приведем постановку задачи регуляризированной SWRLS-aдaптивнoй фильтрации, рассмотрим ее решение, а также введем основные обозначения, используемые в настоящей работе.
Структурная схема обобщенного М-канального адаптивного фильтра представлена на рис. 1. В общем случае такой фильтр может иметь
Рис. 1. Многоканальный адаптивный фильтр
неодинаковое число комплексных весовых коэффициентов для каждого канала. Целью многоканальной адаптивной фильтрации по критерию наименьших квадратов, определяемому на скользящем окне длиной Ь отсчетов, является минимизация энергии ошибок между требуемым сигналом ¿(к) и выходным сигналом адаптивного фильтра:
Вм(к)= £ \к-г №) - Ь*(к)хм(0) , (1)
г=к-Ь+1
где Ь* (к) = [Ь^ (к), Ь^ (к),...,Ь$т (к)>...,Ь^м_1 (к), Ь*м (к)] -вектор весовых коэффициентов М-канального адаптивного фильтра; Ь^т(к) = [Н0,т, ..., -1,т]Т — вектор весовых ко-
эффициентов в т-м канале фильтра; (к) = [х^1 (к), х^2 (к),..., (к),..., х^м_ 1 (к), х^м (к)] — вектор сигналов в адаптивном фильтре; хНт (к) = [жт(к),жт (к - 1),...,жт(к - + 2),
жто(к — Nm + 1)] — вектор сигналов в т-м канале фильтра; —
Ем
Nm — об-
т = 1
щее число весовых коэффициентов адаптивного фильтра; к — номер итерации (дискретное время); н и т — знаки эрмитова сопряжения и транспонирования; нижний индекс N используется для обозначения размерности векторов с числом элементов N и квадратных матриц с
числом элементов N х N. Параметр Л в уравнении (1) служит для экспоненциального взвешивания обрабатываемых сигналов. При обработке нестационарных сигналов этот параметр обеспечивает в небольших пределах возможность регулирования следящих свойств адаптивного фильтра. Допустимое значение параметра Л ограничено числом весовых коэффициентов фильтра [9]: тах{1 — 0,4^т} < Л < 1.
Минимизация функционала Ем (к) позволяет получить вектор оптимальных весовых коэффициентов (винеровское решение) многоканального адаптивного фильтра
Ьм (к) = И^1 (к )гм (к); (2)
здесь к
гм (к)= £ Хк~гХм =
г=к-Ь+1
= Агм(к - 1) + Хм(к)<Г (к) - ^Хм(к - ЬК(к - Ь)
— вектор взаимной корреляции между компонентами вектора хм(к) и сигналом ¿(к) \ * — знак комплексного сопряжения скалярной переменной; ^ = \ь\ в случае использования динамической регуляризации корреляционная матрица входных сигналов многоканального адаптивного фильтра, оцениваемая на скользящем окне, определяется следующим образом:
к
Rn (k)= J] Хк~г(хм (OxN (i)+ (¿К (О)
i=k—L+1
= ARn(k - 1) + Xn(fc)xN(k) - №(k - L)*N(k - L) +
+ С2Pn(k)pTN(k) - ^Vn(k - L)pN(k - L), (3)
где £ — небольшое число (параметр динамической регуляризации) [6], а вектор динамической регуляризации pN (k) многоканального адаптивного фильтра имеет вид [10]
PN (k) = p N (k), PN2 (k), PNm (k),•••, Pnm (k), Pnm (k)
здесь PNm(k) = [pm(k),pm(k - 1),--- ,pm(k-Nm+2),pm(k-Nm+1)]T,
(k) = J 0, еСЛИ 1 + n mod Nm = 1, pm(k) = S
[1, если 1 + n mod Nm = 1-Алгоритм адаптивной фильтрации. На основе приемов, рассмотренных в работах [7, 8], построен регуляризированный SWRLS-алгоритм адаптивной фильтрации [11], который может быть реализован с помощью четырех параллельных процессоров.
Алгоритм 1
Инициализация (шаг 0): %n(0) = 0N,... ,%n(0 _ L +1) = 0N, pN (0) = 0n,... ,Pn (0 - L + 1) = 0n, d(0) = 0,.. .,d(0 - L + 1) = 0, An = diag(1, A,...,AN "V..,1, Л,..., ANm_1,..., 1, A,..., Anm-1), R^(0) = А., h.(0) = 0.•
For k = 1, 2.....K
\-1D ""^"Удт
шаг 1: (k) = A 1RN1(k - 1)£pN(k),
шаг 2 шаг 3 шаг 4
tN,pD (k) = A"1 R.1(k - 1)£р.(k - L), t.,v (k) = A"1R.1(k - 1)%n(k),
tN,xD (k) = A"1R.1(k - 1)х.(k - L), шаг 5: Pu (k) = tN,Pu (k)^PN(k) шаг 6: Pd (k) = tN)Po (k)^P.(k - L)
шаг 7: ^x^(k) = tN,Xu (kk.(k),
шаг 8: SxDXd (k) = tN,xD (k)X.(k - L), шаг 9: ^PdPu (k) = -t.,^ (k)£p.(k)
или p (k) = t.,p (k)^PN(k - L),
шаг
10: SXdv (k)= t., (k)^. (k)
или
D
H
xrr (k) = (k)XN (k -
шаг 11: Pd (k) = tN,%D (k)^pN(k - L)
ИЛИ p (k) = -N,p (k)%N(k - L)
D D D
шаг 12: ¿Xu(k) = ^^ (k)^P.(k)
или ptt (k) = tN,Pu (k)XN(k),
шаг 13: Pu (k) = tN,xD (k)iPN(k)
ИЛИ ^XDPv (k) = tN,PU (k)XN (k - L), шаг 14: ¿XuPd (k) = ^^ (k)£p.(k - L)
или £ p (k)= t.,p (k)*. (k),
U D ,HD
шаг 15: (k) = 1 + 5Pupu(k),
шаг 16: ^nÜpd (k) = 1 - ^Spdpd (k), шаг 17: (k) = 1 + ^Xu (k)
шаг 18: р.* (k) = 1 - ^xnxn(k),
шаг 19: gN,p^ (k) = a,44(k)tN,Pu (к) - ^°'5аз4(k)tN,pD (k) +
+ a24(k)tN,%u (k) — yU°'5äi4(k)tN,xD (к),
шаг 20: gN,pD (k) = -^"°'5a43(k)tN,Pu (k) +
+ a.33(k)tN,pD (k) - ^"°'5ä23(k)tN,Xu (k) + äi3(k)tN,xD (k),
шаг 21: gw,Xu (k) = ^(k^N^ (k) - yU°,5a32(k)tN,pD (k) + + a22(k)tN,Xu (k) - ^°'5äi2(k)tN,Xo (k), шаг 22: gN,%D (k) = — ^_°,5ä41(k)tN,Pu (k) +
+ ¿31(k)tN,pD (k) - ¿21 (k)tw,Xu (k) + än(k)tN,xD (k),
шаг 23: R^(k) = A"^1 (k - 1) - g^ (k)tN,Pu (k) +
+ №n,Pd (k)tN,pD (k) - gN,Xu (k)tN,Xu (k) + ^gN,Xo (k)tN,%D (k),
шаг 24 aN,pv (k) = -hN (k - 1)£pn(k),
шаг 25 «N,pd (k) = -hN (k - 1)^Pn(k - L),
шаг 26 «n,xu (k) = d(k) - hN(k - 1)Xn(k),
шаг 27 «n,xd (k) = d(k - -L) - hN(k - 1)xn(k - L),
шаг 28 hN (k) = hN (k - 1)+gN,pu (k)«N,Pu (k)-
- №n,Pd (k)«N,pD (k) + (k)«N,Xu (k) - (k)«N,XD (k)
End for k.
Здесь нижние индексы U и D используются для обозначения вычислений, обусловленных операциями включения (updating) и исключения (downdating) данных в корреляционной матрице, оцениваемой в скользящем окне.
Чтобы получить данный алгоритм, необходимо в уравнении (2) использовать лемму об инверсии матриц [5]
R1 = B1 - B_1CA_1DB_1; (4)
здесь A = DB_1C + I.
Для этого необходимо представить уравнение (3) в виде
R = B + CD,
где C = [—y, x, —z, v] и D = [y, x, z, v]H.
Используя шаги 1-4 алгоритма 1 для априори векторов Калмана и выражения gN,p^(k) = RN1 (k)£pN(k), gN,pD(k) = RN^k)fpN(k - L),
gN,Xu(k) = RN1(k)XN(k) gN,%D(k) = RN1(k)XN(k - L) Для апостериори векторов Калмана, можно получить шаг 28 алгоритма 1 для рекуррентного вычисления вектора весовых коэффициентов адаптивного
фильтра Ьм(к), шаги 19-22 для вычисления векторов Калмана gN,pu(k), gN,xU(k)> gN,xD(k) и шаг 23 для вычисления обратной корреляционной матрицы И^1 (к). В шагах 19-22 используются коэффициенты ап,..., а44, которые представляют собой элементы матрицы А = А-1. Матрица А определяется следующим образом:
A =
(Pn,xd (k) ^xDxTJ (k)
*„ (k) pnL (k)
-^xnpn (k) PU (k)
PD (k) (k)
. (k) _ (k) (k) (k)
P„ (k) ,„ (k)
p„ (k) ^N1p (k)
В силу небольшой размерности матрицы А для вычисления матрицы А = А-1 могут быть использованы любые методы обращения матриц. Например, применение алгоритмов обращения клеточных матриц [5] позволяет осуществить такое обращение с помощью 54 умножений, 32 сложений и 4 делений.
Значение параметра £2 динамической регуляризации корреляционной матрицы и значение параметра б2 начальной регуляризации этой матрицы выбираются из условия £2, б2 > 0,01<гХ, где — дисперсия входных сигналов адаптивного фильтра [12]. В зависимости от типа решаемой задачи выходным сигналом адаптивного фильтра может являться сигнал ошибки (шаг 26) или сигнал у(к) = ЬМ(к — 1)хм(к).
Из определения векторов входных сигналов адаптивного фильтра следует, что число весовых коэффициентов в каналах адаптивного фильтра может быть неодинаковым. Возможность использования неодинакового числа весовых коэффициентов позволяет снизить требования к объему вычислительных ресурсов, если не требуется одинаковое число весовых коэффициентов в каналах. Вычислительная процедура алгоритма 1 может быть использована и для одноканальных адаптивных фильтров. В этом случае имеем хм (к) = хм1(к) и Рм (к) = Р^к)-Оценка вычислительной сложности алгоритма 1 равна 2 + 27^ + + 2М2 + 9М операций умножения и 2 + 2Ш + 2М2 + 9М операций сложения, т.е. 2). Для получения вычислительно эффективной (быстрой) версии рассмотренного алгоритма со сложностью ) арифметических операций необходимо воспользоваться приемами, рассмотренными в работах [5, 7, 8, 12, 13].
Отличие быстрых ЯЬЗ-алгоритмов от обычных (не быстрых) заключается в различных способах вычисления векторов Калмана. Вычисление векторов Калмана gM)X (к), gM)X (к), gM)p (к) и gM)p (к) в
быстрых RLS-алгоритмах производится с использованием теории линейного предсказания [5, 12]. В результате вместо вычислений, соответствующих шагам 1-4 и 23 алгоритма 1, со сложностью O(N2) арифметических операций используются вычисления векторов tN,Xu(k), tN,xD(k)> tN)P (k) и tNp (k) со сложностью O(N). В этих вычислениях обратная корреляционная матрица в явном виде не используется. Оба способа вычисления векторов коэффициентов Калмана являются математически эквивалентными. Поэтому RLS- и быстрые RLS-алгоритмы адаптивной фильтрации также являются математически эквивалентными по отношению друг к другу. Полученная процедура вычисления векторов Калмана для быстрого варианта алгоритма 1 приведена в виде алгоритма 2; обобщенная структурная схема регуляризированного быстрого SWRLS-алгоритма адаптивной фильтрации представлена на рис. 2.
Алгоритм 2
For m = M, M - 1,..., 1
шаг 1:
шаг 2:
f ? (k) = e(Pm(k) - f(m)H(k - 1)/4m)(k))
a
f (m)
(k) = £(pm(k - L) - hN(m)H(k - 1)pNm)(k - L))
,(m)/
шаг 3: (k) = xm(k) - h^k^k),
шаг 4: f) (k) = xm(k - L) - hN(m)H(k)xNm) (k - L)
шаг 5: t
(m)
шаг 6: t
(m)
(k) = A
(k) = A
a
1
f (m)
(k)
EN(m) (k - 1) (k)
hf (m) hN
f (m)
rpf (m EN
шаг 7: t
(m)
N+1,x,
шаг
t
(m)
N+1,x
(k) = A
(k) = A
a
1
) (k - 1)
f (m)
N,xr
h
f (m) N
(k - 1)
(k - 1)
(k)
EN(m)(k - 1) (k)
hf (m) hN
f (m)
5/V П
zf (m)
(k - 1)
h
f (m) N
(k - 1)
(k - 1)
тяг Q: S(m) T(m)Tt(m) (k) = шаг У: SN+1 TN+1 tN+1,o (k) =
шаг 10:
C(m) (m) /74 _
SN+1 TN+1 lN+1,PD (k) =
( m ) ( m ) ( m )
(k)
(k) (k)
(k)
+ 0 tvX (k)_
+ 0 t^D (k)_
+ 0 t^ и (k).
+ 0 tNm (k) D
1
1
1
1
тяг 11 • S(m ) T(m )Tt(m ) (k) — шаг II • +1 T N+1%+1,X.,(k) —
u
тяг 1?: S(m ) T(m )Tt(m ) (k) — шаг 12: SN+1TN+1 %+1,xD(k) —
qSL (k)
(k)
шаг 13: t^k) — qj#u(k) + ¿X(k)hNm)(k - 1), шаг 14: tN™"1^) — qg (k) + gg (k)hNm)(k - 1),
D D D
шаг 15: t^k) — qN^k) + (k)hNm)(k - 1), шаг 16: tN^k) — q^k) + ¿Nt (k)hNm)(k - 1),
шаг 17: ¿PuPu(k) — (k)^"^k),
шаг 18: ^Рд(k) — t^(k)^"_1)(k - L),
шаг 19: ¿Xu,u(k) — t^1*(k)xN"_1)(k),
шаг 20: ¿XdXd(k) — t^^k)^_1)(k - L),
шаг 21: ^Pu (k) — t^ (k)^"_1)(k)
или ¿;d Pu (k) — tNm;u1)H(k)epNm _1) (k - L),
шаг 22: ^XdXu(k) — tN,x-1)H(k)xN"1)(k)
или £dXu(k)— tNmx"u1)H(k)xN"1)(k - L), — +(т "1)^t>-1)
шаг 23: ¿XdPd(k) — t^"(k)^"iJ(k - L)
или £dPd (k) — tN";D1)H(k)xN"_1)(k - L),
, (m-1)H/? w (m-1)
шаг 24: ¿Xu Pu (k) — t^" (W iJ(k)
или ^ u Pu (k) — tNm;u1)H (k)xN-1)(k)
шаг 25: ¿XdPu(k) — t^^k)^"^(k)
или s*Xd Pu (k) — tNm;u1)H (k)xN" _1)(k - L), шаг 26: «LPn (k) — tNmx"1)H(k)£pNm"^(k - L)
или £uPn(k)— tNm;1)H(k)xN"1)(k),
шаг 27: ^N,Pu (k) — 1 + Pu (k), шаг 28: <fN\ (k) — 1 - pn (k)
шаг 29: pj^ (k) = 1 + ^xu (k)> шаг 30: (k) = 1 - xD (k)
шаг3i: hN(m)(k) = hN(m)(k -1) + gj^(fc)«N(;U*(fc)-
- ßgSD (k)f(;>)+gSt (kfV) - ßgKD wft
шаг 32: f (k) = fm (k)fmD*(k)4m)(k), шаг 33: f (k) = (kfD'W^k), шаг 34: f (k) = (kf^(k^k),
' и 'ии
35: f(k) = aJfmD(kf^k^^k),
36: f (k) = f) (k)f;D*(k)4m)(k), 37: if0(k) = (k)«N(;)*(k)^Sm)(k),
шаг ..... n _
шаг 38: £#т)(k) = Ая£т)(k - 1)+^ (k)fu(k^l-^l^(k)) -
- (k)«fm)* (k)(i+ß4m) (k))+ + fU (kf (k)(l - 4^)) -- f) (kf* ( k)(l + ßtf^k)) + ß(f (k) + f (k)) + + (k) + f(k)) - (f(k) + f*(k)) + ß(f(k) + f*(k)) + + (k)+ f*(k)) - ^2(^(o(k) + ¿Й (k)),
шаг 39: g^ (k) = M^tN;1^) " ß0'5¿34(k)tN"p-1)(k) +
U "'u D
Mk^k) - ^0'5ai4(k)t<mx-D1)(k), шаг 40: g^ (k) = -^'^(k)tN"p-1)(k) + ^(k)^"^(k)-
D 'ии "D
- ß"0'5¿23(k)tN:;u1)(k) + a13(k)tN;x-D1)(k),
шаг 41: g^x (k) = M^tST^k) - /'W^t^^H
u ,rU D
+ a22(k)tNmx-u1)(k) - ^0'5a12(k)tNm;D1)(k),
шаг 42: g^x (k) = -ß^'W^tST^k) + ^(k^N-^k)-
D '^U D
- ^-0'5 ¿21 (k)tNm;u1)(k) + än(k)tNmXD1)(k), шаг 43: i(m_1) = a42(k)^XuPu (k) - ^0'5ä32(k)^XupD (k) +
xr7
(k) (k),
шаг 44: ¿<™_1) = -д"0,5«^)^Ри (к) + «а^к)^(к)-- P"0,5fl2i(k)iv v (к) + «11(к)5х х (к),
J2
шаг 45: =«44(к)8й р (к) - д0,5^(к)^ р (к) +
+ «24(к)6* р (к) - д0,5«м(к)£* (к),
Vu
шаг 46: ¿4™ 1) = ~Д 0'5«4а(к)^Рд^ (к) + а,аа(к)£РдРп (к)-
S ulС(к) + «1а(к )£ шаг 47: ¿5m_iJ = -д"0,5«41 (к)^хи^ (к) + «а1(к)^Хиpd (к)- д"0,5«21(к)^ХиXu (к) + äu(k)£dXu (к),
шаг 48: = "Д~0,5«4a(k)£PuPu (к) + «аа^)^ (к)-
- Д"0,5«2а(ВДuPu (к) + «1аdPu (к) шаг 49: = «44(k)5XuPu (к) - д0^(к)5xuРд (к) +
+ «24(k)5XuXu (к) - д0,5«м(к)^xu (к),
шаг 50: 4™-1) = «44(k)^Dpv (к) " Д0'5«а4(k)^Dpd (к) + + «24 (k)^xD Xu (к) - Д0'5 «14(k)^XD XD (k), шаг 51: 4™_1) = -Д"0'5«4a(k)^xrrPu (к) + «aa(k)^Xuрп (кЬ
- Д"0,5«2а(ВД _ (к)+«1а(к)<£ р (к),
«-(ш-^ _ ,,-0,5-
uu
- Д-0,5«2a(k)^XuXu (к) + аи(к)£^Xu (к),
шаг 52: _1) = -Д"^5«4а(к)^ХдPu (к) +
+ «aa(k)^xDpd (к) - Д"^«2a(k)^xDXu (к) + «1a(k)^xDxD (k),
шаг 53: а^ (к) = АЯ$<ш)(к - 1)qN,)u (к),
шаг 54: (к) = ^^(к - 1)?^ (к),
шаг 55: (к) = АЯ$<ш)(к - 1)qiN^u (к),
шаг 56: (к) = AE^(к - 1)^ (к),
шаг 57: ^ш)(к) = Ь^ш)(к - 1) + g^Wa^k)-
- дg£г>)«!¡Ц;(k) + g!C w^i» - дg^>)4í;(k),
шаг 58: (к) = aN,xu (к)а*£ (k)St -1)
шаг 59: ¿6(к) = ^Pu (к)а*£ (к)4Ш 1)
шаг 60: $ (к) = aN,xu (к)а*£ -1)
шаг 61: 6Ь8(k) = (к^Чк^Лк),
D 'rU
шаг 62: ¿*(k) = a*? (k^Nf(k),
UD
шаг 63: ¿?0(fc)= a^ (k)«^*(kÄ_1)(k),
DD
шаг 64: (k) = AE^(k-1)+«N!mU М^ММ?"^^)) -
+4;U (k)«^mu*(k)(l - (k)) -
- (k)4;>)(i+^m_1)(k))++# (k))+ + ß$(k) + #(k)) - (i?(k) + ¿*(k)) + ß$(k) + ^(k)) + + (k) + ¿J*(k)) - ß2(5jo(k) + ^10(k))
End for m.
Инициализация быстрого алгоритма 2 осуществляется следующим образом: Хм(°) = °м, •••, Хм(° - Ь + 1) = °м, Рм(°) = °м, •••, Рм(° - Ь + 1) = °м, ¿(°) = ¿(° - Ь + 1) = 0, ьМ(т)(°) = °м,
ьмт)(°) = °м, 1мл;) (1) = °м, tмм) (1) = °м, tмлм) (1) = °м,
tMлMx)D (1) = °М, gMMP)u (1) = °м, gMMP)D (1) = °м, gMMx)u (1) = °м, (1) = °м, ЕМ(т)(°) = ¿2, (°) = ¿2А"мт, ьМ(°) = °м,
) (1) = °.....8[М]1 (1) = где ьМ(т), ьМт) и £М(т), - векторы
весовых коэффициентов и энергии ошибок фильтров прямого и обратного линейного предсказания [5, 12]. Здесь f и Ь — индексы прямого и обратного линейного предсказания.
В случае М-канального адаптивного фильтра быстрое вычисление векторов Калмана осуществляется в течение М итераций (на каждой к-й итерации алгоритма, см. рис. 2). В этих вычислениях участвуют 2М фильтров линейного предсказания с одинаковым числом весовых коэффициентов, равным N. Векторы входных сигналов этих фильтров определяются следующим образом [10]:
х5?(к) = Хм (к),
%Я)(к) = [хтмх (к - 1), хтм2 (к),.. .,хМт (к),.. .,хМм (к)
x!vm)(k)= xN (k - 1),xN (k - 1),...
(k - 1),xNm+1 (k),...,xTNM(k)
%NM)(k) = [xTNi (k - 1), xN2 (k - 1),.. .,xNm (k - 1),.. .,xTNM (k - 1)
Выражения для векторов р^(к) определяются аналогично. В алгоритме 2 используются перестановочные матрицы 8
(т) N+1,
Тдг+1 [13]. Их применение не требует арифметических операций. Вид перестановочных матриц зависит от способа реализации быстрого многоканального ЯЬЗ-алгоритма. В алгоритме 2 перестановочные
= 3 имеют вид
■ 1 0T 0Ni 0TN2 0TT3
0Ni IN1 °Ni,N2 °Ni,N3
0n2 on2,n1 IN2 °N2,N3
L 0N3 0N3,N1 °N3,N2 IN3
" 0Ni IN1 °Ni,N2 °Ni,N3
1 0T 0Ni 0TN2 0TT3
0n2 0N2,Ni IN2 0N2,N3
L 0N3 0N3,Ni °N3,N2 IN3
" 0Ni INi °Ni,N2 °Ni,N3
0n2 on2,n1 IN2 °N2,N3
1 0T 0N1 0TN2 0TT3
- 0N3 0N3,N1 °N3,N2 IN3
InI 0Ni °Ni,N2 °Ni,N3
ON2,Ni 0n2 IN2 °N2,N3
ON3,N1 0N3 °N3,N2 IN3
0T L 0N1 1 0TN2 0TT3
IN1 Oni,n2 0N1 °Ni,N3
On2,n1 IN2 0N2 °N2,N3
°N3,Ni 0N3,N2 0N3 IN3
0T L 0Ni 0TN2 1 0TT3
IN1 Oni,n2 °Ni,N3 0N1
On2,nI IN2 °N2,N3 0N2
0N3,N1 °N3,N2 IN3 0N3
0T - 0N1 0tn2 0TT3 1
<торы, I — единичные матрицы
(5)
T(i)T _ TN+1 _
т(2)т TN+1
t(3)t _ TN+1 _
S(1) _ SN+1 _
S(2) _ SN+1 _
S(3) _
SN+1 _
угольных нулевых матриц О обозначен двумя индексами. В силу равенств (5) перестановочные матрицы могут быть получены для любых значений М и .
Таким образом, быстрая версия алгоритма может быть получена путем замены вычислений, соответствующих шагам 1-23 алгоритма 1, на эквивалентные вычисления gN,xr/(k) = g(^)ж , gN,xD(k) = g(vl (к),
Sn,p (k) _
gN), (k)
gN,o (k) _
(0) gN,o
(k) (см. алгоритм 2).
Процедуры вычисления векторов Калмана, соответствующие
шагам 1-23 алгоритма 1, и алгоритм 2 могут также быть использованы в регуляризированных SWRLS-aлгopитмax с линейными ограничениями.
Все вычисления в алгоритмах 1 и 2 адаптивной фильтрации разбиты на группы. Каждая из этих групп содержит четыре не зависящие друг от друга вычисления, определяемые векторами рм(к), рм(к — Ь), Хм(к) и хм (к — Ь). Поэтому такие вычисления могут быть выполнены с помощью четырех независимых процессоров, т.е. параллельно.
Регуляризированные вычислительные процедуры алгоритмов из работы [8] и алгоритмов 1 и 2 являются математически эквивалентными и обеспечивают одинаковые показатели качества при одинаковых параметрах адаптивных фильтров и входных сигналах.
Отличие между указанными алгоритмами состоит в следующем. В работе [8] матрица А имеет размер 2 х 2, и для ее обращения использована стандартная процедура обращения матриц. В силу малой размерности этой матрицы ее обратные элементы заданы в виде результирующих выражений. В работе [8] векторы С и Ю содержат две компоненты (векторы х и у), а в настоящей работе — четыре компоненты (векторы х, у, V и ъ), что требует в первом случае использовать формулу (4) последовательно два раза, а во втором — только один раз. Как следствие, рассматриваемые алгоритмы отличаются вычислительными процедурами: алгоритмы из работы [8] ориентированы на реализацию с помощью двух параллельных процессоров, а алгоритмы 1 и 2 — на реализацию с помощью четырех процессоров. Небольшие различия имеются также в оценке вычислительной сложности алгоритмов.
Как уже отмечалось, арифметическая сложность алгоритма 1 равна 7N2 + 27N + 2М2 + 9М операций умножения и 6N2 + 2Ш + 2М2 + + 9М операций сложения на одну итерацию. Регуляризированный вариант алгоритма из работы [8] требует 7N2 + 18N+2М2+5М операций умножения, 6N2 + 14N + 2М2 + 5М операций сложения на одну итерацию.
Оценка сложности алгоритма 2 равна М(36N + 8М + 2)+ 6N операций умножения, М(35N + 8М + 2) + 6N операций сложения и М операций деления на одну итерацию, т.е. О^) арифметических операций. Это означает, что алгоритм 2 является быстрым по сравнению с алгоритмом 1. Если N ^ 4 и N ^ М, то вклад числа операций вычисления матрицы А в сложность алгоритма адаптивной фильтрации становится несущественным. Для сравнения, регуляризированный вариант алгоритма из работы [8] требует М(25N+5М+2)+6N операций умножения, М(2^ + 5М + 2) + 6N операций сложения и 2М операций деления на одну итерацию.
Вычислительная нагрузка при реализации регуляризированных алгоритмов из работы [8] уменьшается в два раза при использовании двух
процессоров, а при реализации алгоритмов 1 и 2 — в четыре раза при использовании четырех процессоров.
Заключение. Рассмотрен регуляризированный быстрый SWRLS-алгоритм адаптивной фильтрации, ориентированный на реализацию с помощью четырех параллельных процессоров, например цифровых сигнальных процессоров [14]. Алгоритм разработан для общего случая многоканальных адаптивных фильтров с неодинаковым числом комплексных весовых коэффициентов в каналах. Одноканаль-ные фильтры и фильтры с действительными весовыми коэффициентами являются частными случаями данного общего решения. Алгоритм 1, алгоритм 2 и алгоритмы из работы [8] являются математически эквивалентными по отношению друг к другу. Отличие между данными алгоритмами заключается в вычислительных процедурах и возможности их реализации с помощью двух или четырех параллельных процессоров. Результаты моделирования, подтверждающие работоспособность нового алгоритма, совпадают с результатами, представленными в работе [8]. Рассмотренный алгоритм может быть использован для решения ряда задач адаптивной фильтрации нестационарных сигналов, в том числе линейно ограниченной фильтрации.
СПИСОК ЛИТЕРАТУРЫ
1. Sayed А.Н. Fundamentals of adaptive filtering. - Hoboken (NJ): J. Wiley and Sons, Inc., 2003.- 1125 p.
2. H а у k i n S. Adaptive filter theory. - Upper Saddle River (NJ): Prentice Hall, 2002. - 936 p.
3. П e p в а ч e в С. В., Петров А. И. Адаптивная фильтрация сообщений. - М.: Радио и связь. - 1991. - 160 с.
4. Д ж ига н В. И. Многоканальные RLS- и быстрые RLS-алгоритмы адаптивной фильтрации // Успехи современной радиоэлектроники. - № 11,- 2004. - С. 48-77.
5. G io г d а п о А. А., Н s u F. М. Least square estimation with application to digital signal processing. - Toronto (Canada): J. Wiley and Sons, Inc., 1985. - 412 p.
6. G а у S. L. Dynamically regularized fast RLS with application to echo cancellation // Proc. ICASSP-96 (May 1996). - P. 957-960.
7. Papaodysseus C. A robust, parallelizable, O(m), a posteriori recursive least squares algorithm for efficient adaptive filtering II IEEE Trans. Signal Processing. -1999. - V. 47. - № 9. - P. 2552-2558.
8. Джиган В. И. Параллельный регуляризированный быстрый RLS-алгоритм многоканальной адаптивной фильтрации со скользящим окном и линейными ограничениями II Труды 10-й Междунар. конф. "Радиолокация, навигация, связь (RLNC-2004)" (Воронеж, 13-15 апреля 2004 г.). Т. 1. - Воронеж, 2004. - С. 132142.
9. S 1 о с k D. Т. М., К a i 1 a t h Т. Numerically stable fast transversal filters for recursive least squares adaptive filtering II IEEE Trans. Signal Processing. - 1991. -V. 39. - № 1,-P. 92-114.
10. ДжигапВ. И. Быстрый многоканальный RLS-алгоритм с регуляризацией и стабилизацией II Изв. вузов. Сер. Электроника. - 2004. - № 1. - С. 83-91.
11.Djigan V. I. Multichannel RLS adaptive filtering algorithm for parallel implementation by means of four processors // Proc. of the 4th International Scientific and Practical Conf. "Internet-Science-Education-2004 (ISE-2004)" (Baku-Vinnytsia-Tyrnovo, September 29 — October 12, 2004). V. 2. - Vinnytsia, 2004. -P. 687-691.
12. Z e 1 n i к e r G., Taylor F. J. Advanced digital signal processing: theory and applications. - N. Y.: Marcel Dekker, Inc., 1994. - 666p.
13. G 1 e n t i s G. А., К a 1 о u p t s i d i s N. Fast adaptive algorithms for multichannel filtering and system identification // IEEE Trans. Signal Processing. - 1992. - V. 40. -№ 10. - P. 2433-2458.
14. ПетричковичЯ. Я., Солохина Т. В. Цифровые сигнальные контроллеры "МУЛЬТИКОР" — новые отечественные серии систем на кристалле // Труды 6-й Междунар. конф. "Цифровая обработка сигналов и ее применения (DSPA-2004)" (Москва, 31 марта — 2 апреля 2004 г.). Т. 1. - М., 2004. - С. 8-15.
Статья поступила в редакцию 24.08.2004
Виктор Иванович Джиган родился в 1958 г., окончил в 1984 г. Московский институт электронной техники (МИЭТ). Канд. техн. наук, член РНТОРЭС им. А.С. Попова и института IEEE (США), ведущий научный сотрудник ГУЛ НПЦ "Элвис" (Зеленоград, г. Москва). Автор около 80 научных работ в области адаптивной обработки сигналов, цифровой обработки речи и цифровой передачи данных.
V.I. Djigan (b. 1958) graduated from the Moscow Institute of Electronic Engineering in 1984. Ph. D. (Eng.), Russian Popov's Radio Society member, IEEE senior member (M'96, SM'2004), principal researcher of "Elvis" R&D Center (Zelenograd, Moscow region). Author of about 80 publications in the field of adaptive signal processing, digital speech processing and digital data transfer.
ЖУРНАЛ "ВЕСТНИК МОСКОВСКОГО ГОСУДАРСТВЕННОГО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА имени Н.Э. БАУМАНА"
Журнал издается в трех сериях: "Приборостроение", "Машиностроение", "Естественные науки" — с периодичностью 12 номеров в год.
Подписка по каталогу 'Тазеты, журналы" агентства "Роспечать"
Индекс Наименование серии Объем выпуска Подписная цена (руб.)
Полугодие 3 мес. 6 мес.
72781 "Машиностроение" 2 150 300
72783 "Приборостроение" 2 150 300
79982 "Естественные науки" 2 150 300
Адрес редакции журнала "Вестник МГТУ имени Н.Э. Баумана": 105005, Москва,
ул. 2-я Бауманская, д. 5.
Тел.: (095) 263-62-60; 263-60-45.
Факс: (095) 265-42-98; 263-67-07.
E-mail: [email protected]
йкк