ITEDS_2010_Djigan

advertisement
Адаптивная фильтрация –
сложившееся научно-техническое
направление в цифровой обработке
сигналов
Джиган Виктор Иванович
д.т.н.
член НТОРЭС им. А.С. Попова
Senior IEEE Member
главный научный сотрудник ГУП НПЦ «ЭЛВИС»
проф. каф. МРТУС МИЭТ
Зеленоград, Москва
МНПК «ITEDS’2010», 6-7.04.2010
1
Что такое адаптивная обработка сигналов – это что-то
новое, забытое старое, или широко используемая
современная технология ?
Адаптивная обработка сигналов – это направление в
современной обработке сигналов, которая, в свою
очередь является направлением в современных
радиотехнике и связи
«Адаптация (позднелатинское adaptio – прилаживание,
приспособление, от латинского adapto – приспособляю)
– процесс приспособления строений и функций
организмов (особей, популяций, видов) и их органов к
условиям окружающей среды…»
Большая Советская Энциклопедия
МНПК «ITEDS’2010», 6-7.04.2010
2
Кто был первым ?

Йохан Карл Фредерик Гаусс (1777-1855) в 1725 в возрасте 18 лет сформулировал
критерий наименьших квадратов для обработки экспериментальных наблюдений.
Этот критерий лежит в основе адаптивных фильтров, использующих рекурсивные
алгоритмы по критерию наименьших квадратов

Исаак Ньютон (1643-1727) предложил итерационный численный метод нахождения
корня (нуля) заданной функции (также известный как метод касательных) .
Этот метод лежит в основе современных градиентных адаптивных алгоритмов

Работы по теории оптимального оценивания, лежащие в основе современной теории
адаптивной обработки сигналов, относятся к 40-м – 50-м годам 20-го века:
Андрей Николаевич Колмогоров (1903 -1987)
Норберт Винер (1894-1964)
Марк Григорьевич Крейн (1907-1989)
Норман Левинсон (1912-1975)
МНПК «ITEDS’2010», 6-7.04.2010
3
Кто сделал первый адаптивный фильтр ?
«Я был знаком с теорией
винеровской фильтрации в
непрерывной и дискретной
формах. Для построения
фильтра Винера требуется знать
автокорреляционную функцию
входного сигнала и взаимную
корреляционную функцию
между входным и требуемым
сигналами. Это замечательно,
когда вы делаете домашние
упражнения, но что вам делать
на практике, когда статистику
входных сигналов никто вам не
может предоставить? Все что у
вас есть – это сами входные
сигналы …»
Бернард Уидроу изобретатель LMS-алгоритма
Widrow B. Thinking about thinking: the
discovery of the LMS algorithm – DSP history //
IEEE Signal Processing Magazine. – 2005. – Vol.
22. – №1. – P. 100–106
МНПК «ITEDS’2010», 6-7.04.2010
Widrow B. Hoff M.E. Adaptive
switching circuits // IRE WESCON
Convention Record. – 1960. – Part 4. –
P. 96–104
4
Когда нужно использовать адаптивный фильтр?
В основе большинства адаптивных устройств
находится так называемый адаптивный фильтр.
Фильтрация – это обработка, целью которой является
извлечение интересуемой информации, например,
сигналов, обладающих определенными
характеристиками
Свойства фильтра с фиксированными параметрами обычно
определяются требуемой передаточной функцией. В свою
очередь, передаточная функция определяет структуру
фильтра и его вычислительную сложность. Если
спецификацию к передаточной функции фильтра невозможно
сформулировать заранее или когда эта спецификация может
меняться в процессе работы фильтра, то вместо фильтров с
фиксированными параметрами необходимо использовать
фильтры с изменяемыми параметрами, например,
адаптивные фильтры
МНПК «ITEDS’2010», 6-7.04.2010
5
Какие бывают адаптивные фильтры (АФ) ?
d (k )
d (k )
Адаптивный фильтр
x(k )
y (k )



 (k )
x1 (k )
 h HN1 (k  1)x N1 (k )
x2 ( k )
 h HN2 (k  1)x N2 (k )
Адаптивный алгоритм
Обобщенная структура АФ
x(k  1)
x(k )
x(k )

1
z 1
z 1
d (k )

x(k  N  2) x(k  N  1)

z 1
h3 (k  1) hN 1 (k  1) hN (k  1)
h2 (k  1)
h (k  1)

x(k  2)






 h HNm (k  1)x N m (k )

xM 1 (k )
 h HNM 1 (k  1)x N M 1 (k )
xM (k )
hHNM (k 1)xNM (k)
y (k )

Адаптивный алгоритм
Одноканальный АФ
 (k )




 N (k )

xm (k )


Адаптивный алгоритм
Многоканальный АФ
МНПК «ITEDS’2010», 6-7.04.2010
6

Где применяются адаптивные фильтры ? – Например,
в адаптивных антенных решетках (ААР)
h22




Выходной
сигнал
антенной
решетки
hn



0


Исходная
Конечная
-20
| F() |, дБ
Входные сигналы антенной решетки
h11
w
-40
-60

-80
whMN
Адаптивный процессор
Структура ААР
Опорный
сигнал
антенной
решетки
-100
-80
-60
-40
-20
0
20
, град.
40
60
80
Принцип подавление помех с
помощью ААР
МНПК «ITEDS’2010», 6-7.04.2010
7
Где применяются адаптивные фильтры ? – Например,
в адаптивных эхокомпенсаторах
Телефонная
станция
Телефонная
станция
Абонент
35
Абонент
30
2-х проводный
канал
Гибридная
схема
4-х проводный
канал
Требуемое подавление, дБ
Задержка
Гибридная
схема
2-х проводный
канал
25
20
15
10
5
Задержка
0
Телефонная связь
h N (k )
w

 (k )
y (k )

 d (k )
2-х проводный
канал
Оценка эхо-сигнала
Неподавленное эхо
Принцип эхокомпенсации
Сигнал от удаленного абонента
Гибридная
схема,
Сигнал к удаленному абоненту
Сигнал к
удаленному
абоненту подавленное
эхо
x(k )
Адаптивный
фильтр,
20
40
60
80
Задержка распространения сигнала, мс
100
Требуемое подавление эхосигнала
Абонент
Сигнал от
удаленного
абонента
0
Акустический
импульсный отклик
Усилитель
x(k )
Эхо-сигнал
d (k )
Шум
Идентифицируемый импульсный отклик
Перестраиваемый фильтр
Адаптивный алгоритм
Адаптивный фильтр
 (k )
МНПК «ITEDS’2010», 6-7.04.2010
8
y (k ) 


z (k )
Насколько эффективна эхокомпенсация ?
0.3
x( k )
0.25
0.2
60
-0.5
2
4
6
x 10
0.5
d( k )
w
0.05
50
8
4
0
-0.5
0
( k ) + z( k )
0
-0.1
10
20
30
40
n, отсчеты
ERLE(k )  10 log10
50
60
ERLE(k )  10 log10
2
ERLE(k )  10 log10
0
8
2
2
x 10
30
20
2
10
4
0
1
-0.5
E x 2 (k )
2
8
40
0
70
 
E d (k )
E d (k )
E  (k )
E x (k )
E  (k )
6
0.5
( k ) + z( k ), (k)
0
4
2
x 10
4
6
k, номер итерации
8
0
x 10
-3
8
6
6
4
4
2
0
-2
-6
x 10
2
4
4
6
k, номер итерации
8
2
RLS-алгоритм
4
-3
-8
0
8
10
x 10
-2
-6
4
6
k, номер итерации
8
0
-4
2
x 10
4
6
k, номер итерации
2
-4
-8
0
2
4
( k ) + z( k ), (k)
-0.05
2
ERLR( k ), дБ
0
0.1
3
70
0
0.15
-0.15
80
0.5
LMS-алгоритм
МНПК «ITEDS’2010», 6-7.04.2010
9
x 10
4
Где применяются адаптивные фильтры ? – Например,
в адаптивных эквалайзерах каналов связи
Задержка
d (k )
z (k )
x(k )
*
Канал связи
w(t ) -

~
x (k )


 (k )
  w(t 0  kT  nT )x(t 0  nT )
t
t0

~
x (t 0  kT )  w(t 0 ) x(t 0  kT ) 
*
t0 *
T

импульсный отклик канала связи
*
t0  2T
y (k )
Адаптивный фильтр

t0 *
T
t0  2T
*
t0  3T
nk
 (t0 )
*
*
*
t0  2T
t0  T
t0
Совместный импульсный отклик канала связи
и эквалайзера
*
*
*
t0  T
t0  2T
t0  3T
t
y (t 0  kT )   (t 0 ) x(t 0  kT )  0
Принцип выравнивания каналов связи
МНПК «ITEDS’2010», 6-7.04.2010
10
Насколько эффективно выравнивание каналов связи ?
40
2
2
3
Данные
1
0
w H x(k )  z (k )
-20
1
-80
Решение
0
-0.5
-40
~
y (k )
y (k )
h N (k )
0.5
 (k )
-1
-60

  d (k )
-1.5
-2
0
100
200
300
400
500
Частота, спектральные составляющие
600
-2
40
-1
0
Re
2
2
3
20
2
Эквалайзер без обратной
связи
Обучение
Эквалайзер
Данные
1
0
1
Канал
1.5
w H x(k )  z (k )
0.5
-20
Im
Амплитуда, дБ
Эквалайзер
1.5
Im
Амплитуда, дБ
20
Обучение
Канал
1
-80


y (k )
-1
-60

h BN (k )
0
-0.5
-40
h FN (k )
 (k )
-1.5


Решение

d (k )
-2
0
100
200
300
400
500
Частота (спектральные составляющие)
АЧХ
600
-2
-1
0
Re
1
Созвездия
2
Эквалайзер с обратной
связью
МНПК «ITEDS’2010», 6-7.04.2010
11
~
y (k )
Где применяются адаптивные фильтры ? – Например,
в адаптивном шумоподавлении
x(k )  z1 (k )
Принцип адаптивного
шумоподавления
z2 ( k )
Адаптивный фильтр
y (k )  z1 (k )

Адаптивный алгоритм
Пример адаптивного
шумоподавления
МНПК «ITEDS’2010», 6-7.04.2010
12


 (k )  x(k )
Насколько эффективно шумоподавление ?
.025
0.25
0.25
0
-0.25
-0.5
0
-0.25
2
4
6
k, отсчеты
8
-0.5
10
x 10
0
-0.25
2
4
4
Зашумленная речь
6
k, отсчеты
8
-0.5
10
x 10
4
Остаточный шум, RLS
0.5
0.25
0.25
0.25
-0.25
-0.5
(k)
0.5
0
0
-0.25
2
4
6
k, отсчеты
8
Исходная речь
-0.5
10
x 10
4
2
4
6
k, отсчеты
8
10
x 10
4
Остаточный шум, LMS
0.5
(k)
x(k)
x(k) - (k)
0.5
x(k) - (k)
0.5
x(k)+z1(k)
0.5
0
-025
2
4
6
k, отсчеты
8
-0.5
10
x 10
4
RLS-алгоритм
МНПК «ITEDS’2010», 6-7.04.2010
2
4
6
k, отсчеты
8
LMS-алгоритм
13
10
x 10
4
АФ действительно применяются ?
Да, применяются !
МНПК «ITEDS’2010», 6-7.04.2010
14
Где можно прочитать про адаптивные фильтры?
В журнальных статьях и трудах научно-технических
конференций – более 10 тысяч публикаций !


В книгах на английском языке (несколько десятков)

В книгах на русском языке (5 штук):
МНПК «ITEDS’2010», 6-7.04.2010
15
Книги на английском языке
МНПК «ITEDS’2010», 6-7.04.2010
16
Чему можно учить в адаптивной обработке сигналов ?
1. Введение в адаптивную фильтрацию.
2. Оператор комплексного градиента и его применение в теории адаптивной
фильтрации.
3. Основы адаптивной фильтрации.
4. Поиск винеровского решения.
5. Градиентные адаптивные алгоритмы и их свойства.
6. Рекурсивная адаптивная фильтрация по критерию наименьших квадратов.
7. Рекурсивная адаптивная фильтрация по критерию наименьших квадратов на
базе обратного QR-разложения.
8. Рекурсивная адаптивная фильтрация по критерию наименьших квадратов на
базе прямого QR-разложения.
9. Уменьшение вычислительной сложности рекурсивных алгоритмов
адаптивной фильтрации по критерию наименьших квадратов.
10. Линейно-ограниченная рекурсивная адаптивная фильтрация по критерию
наименьших квадратов.
11. Быстрые рекурсивные адаптивные алгоритмы по критерию наименьших
квадратов.
12. Лестничные адаптивные фильтры.
13. Многоканальные адаптивные фильтры.
14. Адаптивная фильтрация нестационарных сигналов.
15. Параллельные алгоритмы по критерию наименьших квадратов.
16. Адаптивные алгоритмы аффинных проекций.
17. Слепые алгоритмы адаптивной фильтрации.
18. Субполосные адаптивные фильтры.
МНПК «ITEDS’2010», 6-7.04.2010
17
Что такое винеровская фильтрация ?
Вектор входных сигналов
Требуемый сигнал
hw1
x1 (k )
1
x2 (k )
h2


2
xN (k )
d (k )

y (k )  
Выходной
сигнал

Сигнал
ошибки
e(k )
hN
Вектор весовых коэффициентов
Поверхность среднеквадратической
ошибки:   E e(k ) 2   d2  h HN rN  rNH h N  h HN R N h N


  
 
Градиент:  h     ,  ,,  
N
hN 
 h1 h2
Линейный сумматор
T
Винеровское решение: h N ,o  R N1rN
Условие минимума: hN   rN  R N h N  0N
Минимальное значение:  min   d2  rNH R N1rN
МНПК «ITEDS’2010», 6-7.04.2010
18
Линейно-ограниченная винеровская фильтрация
Линейное ограничение:
C HNJ h N  f J
Матрица ограничений:
C NJ Вектор ограничиваемых параметров
Линейно-ограниченная
целевая функция:
 c  E e(k )   d2  h HN rN  rNH h N  h HN R N h N 
Вектор множителей
Лагранжа:
Условие минимума:

2

 
 λ HJ f J  C HNJ h N  f J  C HNJ h N
λ J  1 , 2 ,,  J 
 h  c 
N
Линейно-ограниченное
винеровское решение:


H
λJ ,
T
 c
 r N  R N h N  C NJ λ J  0 N
h N

h N ,oc  R N1rN  R N1C NJ C HNJ R N1C NJ
МНПК «ITEDS’2010», 6-7.04.2010
 f
1
J
 C HNJ R N1rN
19

fJ
Линейно-ограниченная винеровская фильтрация
Целевая функция:  (h N )
Линейное ограничение: g (h N )  0
g (h N  h N )  g (h N )  h HN gh  g (h N )
N
h HN gh  0
N
Требуемый градиент:
h ,c  h  gh
N
N
N
Требуемая целевая функция:
 c (h N )   (h N )  g (h N )
МНПК «ITEDS’2010», 6-7.04.2010
20
Как найти винеровское решение ?
60
8
60
8
55
55
50
6
50
6
45
45
40
4
40
4
30
2
35
h2
h2
35
30
2
25
20
0
25
20
0
15
10
-2
15
10
-2
5
-4
-2
0
2
h
4
6
8
1
5
-4
-2
0
2
h
1
h N (k )  h N (k  1)   R N1 h  (k  1)
N
Алгоритм Ньютона
4
6

8
h N (k )  h N (k  1)     h  (k  1)
N

Алгоритм наискорейшего спуска
Градиент: hN   rN  R N h N (k  1)
МНПК «ITEDS’2010», 6-7.04.2010
21
Что делать, если корреляционная матрица неизвестна ?
1.5
200
h1
180
10
1
0.5
160
0
140
120
0
0
50
100
150
200
250
k, номер итерации
300
350
400
0
50
100
150
200
250
k, номер итерации
300
350
400
0.5
100
0
-5
80
-10
-15
-10
-5
0
h
5
10
15
h2
h2
5
60
-0.5
40
-1
20
1
LMS-алгоритм
Градиент:
ˆ   (k  1)  x N (k )  (k ) .

h
N
LMS-алгоритм:

ˆ   (k  1)
h N (k )  h N (k  1)    
h
N

МНПК «ITEDS’2010», 6-7.04.2010
 h N (k  1)   x N (k )  (k )
22
12
2.2
10
2
8
1.8
6
1.6


Действительно ли средний квадрат ?
0 
1.4
4
1.2
2
0
Условие сходимости:
0    2 max
50
100
150
200
250
k, номер итерации
300
350
400
0
50
100
150
200
250
k, номер итерации
300
350
400
2.2
2


1.8
1.4
max
1
1.6
2
3
2max
1.2
1
50
100
150
200
250
k, номер итерации
300
350
400
2
N x2
1
min
 k n , 
1
2 min
N
1
0
nn
 k n ,h 
1
1.4
1.2
0 
1
2
1.6
R
Постоянные времени:
2.2
1.8
N
i 1
1
0
2
0
50
100
150
200
250
k, номер итерации
300
350
400
Дополнительная среднеквадратическая ошибка: exc   min
 
n 1
N
2   n
n 1
МНПК «ITEDS’2010», 6-7.04.2010
23
n
Что такое RLS-алгоритм ?
k
E N (k )   k i eN (i)eN (i) 
Целевая функция :
i 1
 Ed (k )  rNH (k )h N (k )  h HN (k )rN  h HN (k )R N (k )h N (k )
k
Ed (k )    d (i)d (i)
i 1
k i

k
rN (k )    x N (i )d (i )
k i

i 1
k
R N (k )   k i x N (i )x HN (i )
i 1
Условие минимума :   EN (k )  EN (k )  r N (k )  R N (k )h N (k )  0 N
h
h N (k )
N
h N (k )  R N1 (k )r N (k )
Оптимальное решение :
Лемма об обращении матриц:
(C  B H A 1D) 1  C1  C1B H (DC1B H  A) 1 BC1
C  R N (k  1) C1  1R N1 (k  1) B H  x N (k ) D  x HN (k )
R N1 (k  1)x N (k )
RLS-алгоритм: g N (k ) 
  x HN (k )R N1 (k  1)x N (k )

R N1 (k )  1 R N1 (k  1)  g N (k )x HN (k )R N1 (k  1)

 N (k )  d (k )  h HN (k  1)x N (k ) h N (k )  h N (k  1)  g N (k ) N (k )
МНПК «ITEDS’2010», 6-7.04.2010
24
A1  1
LMS или RLS ?
1.5
1
1
2.2
2
h1
h1
1.5
0.5
0
0
0
50
100
150
200
250
k, номер итерации
300
350
400
0.5
0
0
0
50
100
150
200
250
k, номер итерации
300
350
400
-0.5
-1
1
1.6
2
1.4
3
1.2
h2
h2
0.5
1.8

0.5
-0.5
0
50
100
150
200
250
k, номер итерации
Весовые
коэффициенты
LMS-алгоритм
За и против:
300
350
400
-1
1
0
50
100
150
200
250
k, номер итерации
300
Весовые
коэффициенты
RLS-алгоритм
350
400
50
0
100
250
200
150
k, номер итерации
300
350
400
Обучающие кривые:
1, 2 – LMS, 3 - RLS
LMS-алгоритм – линейная вычислительная сложность,
зависимость длительности переходного процесса и
остаточной ошибки в установившемся состоянии от шага
сходимости
RLS-алгоритм – квадратичная или линейная вычислительная
сложность, быстрая сходимость, отсутствие шага
сходимости и дополнительной остаточной ошибки в
установившемся состоянии
МНПК «ITEDS’2010», 6-7.04.2010
25
LMS или RLS ?
За и против:
1.05
1.04
1.03
2

1
1.8

2
1
2.2
1.02
1.01
1
1.6
3, 4
2
1.4
0.99
300
320
340
360
k, номер итерации
380
400
3, 4
1.2
1
0
50
100
150
200
250
k, номер итерации
300
Обучающие кривые:
1, 2 – LMS, 3, 4 - RLS
350
400
LMS-алгоритм – зависимость
длительности переходного
процесса и остаточной ошибки в
установившемся состоянии от
соотношения собственных чисел
корреляционной матрицы
входного сигнала адаптивного
фильтра
RLS-алгоритм – независимость
длительности переходного процесса
и остаточной ошибки в
установившемся состоянии от
соотношения собственных чисел
корреляционной матрицы входного
сигнала адаптивного фильтра
МНПК «ITEDS’2010», 6-7.04.2010
26
Что такое NLMS-алгоритм ?
Алгоритм Ньютона:
h N (k )  h N (k  1)   R N1 h  (k  1)
N
ˆ N (k )   2 I N  x N (k )x HN (k )
R
Лемма об обращении матриц: (C  B H A 1D) 1  C1  C1B H (DC1B H  A) 1 BC1
C1   2 I N
C   2 I N A1  1
B H  x N (k ) D  x HN (k )
Упрощенный алгоритм
1
Ньютона:
h N (k )  h N (k  1)  ˆ   2 I N  x N (k )x HN (k ) x N (k )  (k ) .
NLMS-алгоритм:
h N (k )  h N (k  1) 
ˆ
x (k )x N (k )  
H
N
2
x N (k )  (k )
МНПК «ITEDS’2010», 6-7.04.2010
27
Что такое алгоритм аффинных проекций (АР) ?
Вычисление ВК:
h N (k )  h N (k  1)   (k ) X NL (k )ε L (k )
Вектор нормализованных
1
ε L (k )  X HNL (k ) X NL (k )  I L  α L (k )
ошибок:
Вектор ошибок:
Используемые
векторы и матрицы:

α L (k )  d L (k )  h HN (k  1) X NL (k )

T
α L (k )   (k ), (k  1),, (k  L  1)
ε L (k )   (k ),  (k  1),,  (k  L  1)
T
T
d L (k )  d (k ), d (k  1),, d (k  L  1)
T
X NL (k )  x N (k ), x N (k  1),, x N (k  L  1)
Длина скользящего окна:
L
МНПК «ITEDS’2010», 6-7.04.2010
28
Какие бывают адаптивные алгоритмы ?
Винеровская фильтрация
Линейно-ограниченные NLMS
Метод Ньютона
Метод наискорейшего спуска
Метод наименьших
квадратов
NLMS
LMS
RLS на основе MIL
Аффинных
проекций
Быстрый аффинных
проекций
Линейно-ограниченные АР
Линейно-ограниченные FAP
RLS на основе QRразложения
Быстрые RLS (FRLS)
Линейно-ограниченные LMS
МНПК «ITEDS’2010», 6-7.04.2010
Лестничные RLS
Линейно-ограниченные RLS и FRLS
29
Адаптивный фильтр на основе прямого QRразложения
"1"
~
x N( 0,1) (k )
c N ,1 (k )
~
RN ,1,1
s N ,1 (k )
~N(1) (k )
c N ,1 (k )
c N ,1 (k )
~
RN ,1, 2
s N ,1 (k )
~
RN ,1,3
~
x N(1,)2 (k )
~
RN , 2, 2
s N ,1 (k )

c N , 2 (k )
~
s N , 2 ( k ) RN , 2 , 3
s N , 2 (k )


~
x N( 0, )N (k )
c N ,1 (k )
c N ,1 (k )
c N ,1 (k )
~
~
s N ,1 (k ) RN ,1, N 2 s N ,1 (k ) RN ,1, N 1 s N ,1 (k )
c N , 2 (k )
c N , 2 (k )
~
~
~
s N , 2 (k ) RN , 2, N 2 s N , 2 (k ) RN , 2, N 1 s N , 2 (k ) RN , 2, N
x N( 2,)N 1 (k )
x N( 2,)N 2 (k )
rN ,1 (k )
s N ,1 (k ) ~
~
x N(1,)N (k )
RN , 2 , N 2
x N( 2,)3 (k )
~N( 0) (k )
c N ,1 (k )
~
RN ,1, N
~
x N(1,)N 1 (k )
~
xN(1,)N  2 (k )
c N , 2 (k )
С использованием
вращений Гивенса

~
x N(1,)3 (k )
~N( 2) (k )
~
x N( 0, )N1 (k )
~
x N( 0, )N2
~
x N( 0,3) (k )
~
x N( 0, )2 (k )
~N(1) (k )
c N , 2 (k )
rN , 2 (k )
s N , 2 (k ) ~
x N( 2,)N (k )
~N( 2) (k )







С операциями
извлечения квадратного
корня
Без операций извлечения
квадратного корня
~N( N 3) (k )
x N( N, N3)2 (k )
~
R N , N  2 , N 3
x N( N, N3)1 (k )
x N( N, N3) (k )
~N( N 3) (k )
c N , N 2 (k )
c N , N 2 (k )
c N , N 2 (k )
~
~
~
rN , N 2 (k )
RN , N 2, N
RN , N 2, N 1
~N( N 2 ) (k )
x N( N, N21) (k )
x N( N, N2 ) (k )
c N , N 1 (k )
~
RN , N 1, N 1
~N( N 1) (k )
~N( N 2) (k )
c N , N 1 (k )
~
RN , N 1, N
~
rN , N 1 (k )
x N( N, N1) (k )
~N( N 1) (k )
cN , N (k )
~
RN , N , N
~N( N ) (k )
~
rN , N (k )
~N( N ) (k )
 N (k )
МНПК «ITEDS’2010», 6-7.04.2010
30
Адаптивный фильтр на основе обратного QRразложения
(0)
N
u
b (k )
(0)
N ,1
С использованием
вращений Гивенса
(k )
cN ,1 (k )
~
RN ,H1,1
a N ,1 (k )
sN ,1 (k )
cN , 2 (k )
~
RN H, 2,1
aN , 2 (k )
sN , 2 (k )
cN , 2 (k )
~
RN ,H2, 2
u N( 2,)1 (k )
bN( 2 ) (k )
bN( 4 ) (k )
s N , 3 (k )
u

( 3)
N ,1
u
( 3)
N ,2
~
RN ,HN ,1
aN , N (k )
b
 N (k )
(N)
N
u
(k )
h1 (k )
u
( 3)
N ,3
(k )
cN , N 1 (k )
u N( N, 21) (k )
u N( N,32 ) (k )
u N( N,31) (k )
cN , N (k )
cN , N (k )
~H
s N , N ( k ) RN , N , 2
~H
s N , N ( k ) RN , N ,3
sN , N (k )
(k )
 N (k )
u
(N )
N ,2
h2 (k )
(k )
 N (k )
u N( N, N2)2 (k )
cN , N 1 (k )
cN , N 1 (k )

~
~
RN ,HN 1,3 sN , N 1 (k ) sN , N 1 (k ) RN ,HN 1, N 2

cN , N (k )
(N )
N ,1
Без операций извлечения
квадратного корня
s N , 3 (k )

~
RN ,HN 1, 2
u N( N,11) (k )
bN( N 1) (k )
cN , 3 (k )
~
RN H,3,3
(k )
u N( N, 22 ) (k )
cN , N 1 (k )
~
RN ,HN 1,1
aN , N 1 (k )
s N , 3 (k )

u N( N,12 ) (k )
u N( 2,)3 (k )
cN ,3 (k )
~
RN H,3, 2
(k )

bN( N 2 ) (k )
sN , 2 (k )
u N( 2,)2 (k )
cN ,3 (k )
~
RN H,3,1
aN ,3 (k )
С операциями
извлечения квадратного
корня
u N(1), 2 (k )
u N(1),1 (k )
bN(1) (k )
u
(N )
N ,3
h3 (k )

u N( N, N1) (k )
cN , N (k )
cN , N (k )
cN , N (k )
~ H
~H
~H
s N , N (k ) RN , N , N 2 s N , N (k ) RN , N , N 1 s N , N (k ) RN , N , N s N , N (k )
u N( N, N) 2 (k )

u N( N, N1)1 (k )
cN , N (k )
(k )
 N (k )
cN , N 1 (k )
~
RN ,HN 1, N 1 sN , N 1 (k )
u N( N, N1)2 (k )

u N( N, N21) (k )
 N (k )
hN 2 (k )
 N (k )
u N( N, N) 1 (k )
hN 1 (k )
 N (k )
МНПК «ITEDS’2010», 6-7.04.2010
u N( N, N) (k )
hN (k )
31
Можно ли уменьшить сложность RLS алгоритмов ?
Инвариантность
к сдвигу:
Корреляционная
матрица:
Корреляционная
матрица:
 x(k )   x N (k ) 
x N 1 (k )  
   x(k  N )
x
(
k

1
)

 N
 


 x(i )  
(i )   k i 
x (i), x HN (i  1) 

i 1
i 1
x N (i  1)
k
 k k i


k i
H

x
(
i
)
x
(
i
)

x
(
i
)
x
(
i

1
)

N
 
  f 2 (k )
rNfH (k ) 
i 1
i 1
 f
 k
.
k
 k i x (i  1) x  (i)
k i x N (i  1)x HN (i  1)  rN (k ) R N (k  1)


N
 i 1

i 1
k
k
 x (i )  H
k i
H
R N 1 (k )    x N 1(i )x N 1 (i )   k i  N
x N (i ), x  (i  N ) 

i 1
i 1
 x(i  N )
k
R N 1 (k )    x N 1(i )x
k i
k
H
N 1

 k k i
H

  x N (i1)x N (i1) x(i ) x (i )
  i 1 k

k i x(i  N )x HN (i  1)

 i 1
R N (k ) rNb (k ) 
  bH
.
b2
rN (k )  (k )


k
 k i x HN (i) x  (i  N )
i 1
k

k i

x(i ) x (i )
i 1
МНПК «ITEDS’2010», 6-7.04.2010



32
Как уменьшить сложность RLS-алгоритмов ?
Обращение
клеточных
матриц:
A
B H

B
C
1


( A  BC 1B H ) 1
 ( A  BC1B H ) 1 BC1


1 H
1 H 1
C 1B H ( A  BC 1B H ) 1 BC 1  C 1 
 C B ( A  BC B )
A
B H

B
C
1
 A 1  A 1B(C  B H A 1B) 1 B H A 1

 (C  B H A 1B) 1 B H A 1

  0

0TN
f
g
(
k
)



  E N ,min (k )
Векторы
N 1
1
 0 N R N (k  1)
коэффициентов
0


1
Калмана:
f


E
(
k
)
a N 1 (k )e Nf (k )
N
,
min

g N (k  1)



1
a N 1 (k )a
 A 1B(C  B H A 1B) 1 

(C  B H A 1B) 1

H
N 1

(k ) x N 1 (k ) 


g N (k )  R N1 (k )x N (k )
 R N1 (k ) 0 N 
b
g N 1 (k )    T
  E N ,min (k )
0
  0 N
1
g ( k ) 
  N   E Nb ,min (k ) b N 1 (k )e Nb (k )
 0 



1

b N 1 (k )b HN 1 (k ) x N 1 (k ) 


МНПК «ITEDS’2010», 6-7.04.2010
33
Лестничные RLS-алгоритмы

 0f (k )
Адаптивный фильтр
на основе априорных
ошибок:


1b (k  1)

 Nf 1 (k )

Nb1 (k  1)
x(k )
1f  (k  1)
z 1
 0b (k )
Nf 1 (k  1)



 0 (k )

d (k )




e0f (k )





 Nb 1 (k )
 N (k  1)
 N 1 (k  1)
 2 (k  1)
1 (k )

z 1
 1b (k )   Nb  2 (k )
 1 (k  1)
Адаптивный
фильтр на основе
апостериорных
ошибок:

1f (k )   Nf  2 (k )
 N  2 (k ) 
 2 (k ) 


 N 1 (k )


e1f (k )  eNf  2 (k )

1b (k )
Nb1 (k )
1f  (k )
Nf 1 (k )


 N (k )

eNf 1 (k )

x(k )
z 1
b
0
e (k )



e (k ) 
b
1
e0 (k )



e1 (k )
e
z 1
(k )
 2 (k )
 1 (k )
d (k )
b
N 2



e2 (k ) 



eNb 1 (k )
 N 1 (k )
eN  2 ( k ) 
МНПК «ITEDS’2010», 6-7.04.2010


 N (k )

eN 1 (k )
34


eN (k )
Как фильтровать нестационарные сигналы ?
k i x N (i )
Возрастающее окно:
i  1,, k
k
R N (k )   k i x N (i )x HN (i ) 
min  1 
i 1
 R N (k  1)  x N (k )x HN (k )
01
k1
k2
0.5
N
i
k i x N (i )
k2  L  1
k1  L
Скользящее окно:
R N (k ) 
k

i  k  L 1
k i
x N (i)x HN (i) 
 R N (k  1)  x N (k )x HN (k ) 
  x N (k  L)x HN (k  L)
k2  L
012
k1
k2
i  k  L  1,, k
L
L
МНПК «ITEDS’2010», 6-7.04.2010
35
i
Что дает скользящее окно ?
1 – RLS алгоритм без регуляризации, бесконечное окно
2 – RLS алгоритм без регуляризации, скользящее окно
АЧХ, дБ
ERLE, дБ
50
20
10
1

30

20
ERLE, дБ
0
| H( f ) |, дБ
2
40
-10
-20
10
0
1
2
-30
-40
0
500
1000
1500
2000
f , Гц
2500
3000
3500
4000
0
1
2
3
Номер итерации, k
МНПК «ITEDS’2010», 6-7.04.2010
36
4
5
x 10
4
Что дает скользящее окно и регуляризация ?
1 – регуляризованный RLS алгоритм, скользящее окно
2 – RLS алгоритм без регуляризации, скользящее окно
АЧХ, дБ
ERLE, дБ
20
1
10

40
30

20
ERLE, дБ
0
| H( f ) |, дБ
1
50
-10
-20
10
2
0
2
-30
-40
0
500
1000
1500
2000
f, Гц
2500
3000
3500
4000
0
1
2
3
Номер итерации, k
МНПК «ITEDS’2010», 6-7.04.2010
37
4
5
x 10
4
p N (k )
Вычисления, зависящие от p N (k  L)
Весовые коэффициенты
h N (k )
Последовательные
вычисления
p N (k )
Вычисления, зависящие от p N (k  L)
Вычисления, зависящие от
Вычисления, зависящие от
Вычисления, зависящие от x N ( k  L)
Вычисления, зависящие от x N (k  L)
x N (k )
Вычисления, зависящие от
Вычисления, зависящие от
x N (k )
Можно ли распараллелить вычисления ?
Весовые коэффициенты
h N (k )
Параллельные
вычисления
МНПК «ITEDS’2010», 6-7.04.2010
38
Одинаковые или разные RLS-алгоритмы ?
200
ERLE, дБ
150
1
100
6
2
7
3,4
8
5
9
50
0
0
1000
2000
3000
Номер итерации, k
4000
5000
1 – RLS-алгоритм на основе
прямого QR-разложения (с
операциями извлечения
квадратного корня);
2 – лестничный алгоритм на
основе априорных и
апостериорных ошибок без
обратных связей;
3 – RLS-алгоритм;
4 – RLS-алгоритм на основе
прямого QR-разложения (с
операциями извлечения
квадратного корня);
5 – FK-алгоритм;
6 – ОСШ=30 дБ;
7 – ОСШ=40 дБ;
8 – ОСШ=50 дБ;
9 – ОСШ=60 дБ
МНПК «ITEDS’2010», 6-7.04.2010
39
Что содержит LabVIEW Adaptive Filter Toolkit ?
1. Active Noise Control – активная компенсация шума.
2. Adaptive Channel Equalization – адаптивное
выравнивание каналов связи.
3. Adaptive Inverse Control – адаптивное обратное
управление.
4. Adaptive Echo Cancellation – адаптивная
эхокомпенсация.
5. Adaptive Noise Cancellation – адаптивная
компенсация шума.
6. Adaptive Linear Prediction – адаптивное линейное
предсказание.
7. System Identification – идентификация системы.
МНПК «ITEDS’2010», 6-7.04.2010
40
Какие фильтры в LabVIEW Adaptive Filter Toolkit ?
1. Standard LMS
2. Normalized LMS
3. Leaky LMS
4. Normalized leaky LMS
5. Sign LMS (sign-error, sign-data, sign-sign)
6. Fast block LMS
7. Standard RLS
8. QR decomposition based RLS
9. Filtered-x LMS
10. Normalized filtered-x LMS
МНПК «ITEDS’2010», 6-7.04.2010
41
LabVIEW 2009: адаптивное подавление шума
МНПК «ITEDS’2010», 6-7.04.2010
42
LabVIEW 2009: эхокомпенсация
МНПК «ITEDS’2010», 6-7.04.2010
43
LabVIEW 2009: идентификация системы
МНПК «ITEDS’2010», 6-7.04.2010
44
LabVIEW 2009: выравнивание каналов связи
МНПК «ITEDS’2010», 6-7.04.2010
45
LabVIEW 2009: обратное управление
МНПК «ITEDS’2010», 6-7.04.2010
46
LabVIEW 2009: активная компенсация шума
МНПК «ITEDS’2010», 6-7.04.2010
47
Виртуальные инструменты в LabVIEW
Эхокомпенсатор
Эквалайзер
Антенная решетка
МНПК «ITEDS’2010», 6-7.04.2010
48
Какие фильтры в Filter Design Toolbox в MATLAB 2009?
1. Least Mean Squares (LMS) - 10 шт.
2. Recursive Least Squares (RLS) - 7 шт.
3. Affine Projection (AP) - 3 шт.
4. Frequency Domain - 6 шт.
5. Lattice Filter - 3 шт.
МНПК «ITEDS’2010», 6-7.04.2010
49
Модели адаптивных фильтров ( ~ 400 шт. !)
Графический интерфейс пользователя на языке MATLAB
МНПК «ITEDS’2010», 6-7.04.2010
50
Изделие компании «Аналитик ТелекомСистемы»
Анализатор систем передачи и кабелей связи AnCom A-7
МНПК «ITEDS’2010», 6-7.04.2010
51
Прикладная библиотека адаптивной фильтрации
МНПК «ITEDS’2010», 6-7.04.2010
52
Спасибо
за
внимание!
Эл. почта: djigan@elvees.com Тел: +7-499-731-1961
МНПК «ITEDS’2010», 6-7.04.2010
53
Новая книга !!!
Чобану М.
Многомерные многоскоростные системы
обработки сигналов
Москва: Техносфера, 2009. -- 480c. ISBN
978-5-94836-233-5
В монографии рассматриваются многомерные
многоскоростные системы, которые используются для
обработки ММ цифровых сигналов. Монография является
первым систематическим изложением теории и методов
неразделимой обработки ММ сигналов на русском языке, в
ней приводится все необходимое для разработки ММ
многоскоростных систем, начиная с фундаментальных
результатов из теории цифровой обработки ММ сигналов, и
заканчивая алгоритмами и программным/аппаратным
обеспечением для ММ многоскоростных систем.
Важной чертой монографии является применение
математических пакетов MATLAB, MAPLE, Singular и др., а
также программ, написанных на языке С, на протяжении всего
изложения. Приведены результаты реализации
разработанных неразделимых операторов на основе
процессоров общего назначения, сигнальных процессоров
фирмы Texas Instruments и графических процессоров (GPU)
фирмы nVidia.
МНПК «ITEDS’2010», 6-7.04.2010
54
Download