Адаптивная фильтрация – сложившееся научно-техническое направление в цифровой обработке сигналов Джиган Виктор Иванович д.т.н. член НТОРЭС им. А.С. Попова 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 nk (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 Условие минимума: hN 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 Алгоритм наискорейшего спуска Градиент: hN 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 2max 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 ) EN (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 C1 C1B H (DC1B H A) 1 BC1 C R N (k 1) C1 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 A1 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 C1 C1B H (DC1B H A) 1 BC1 C1 2 I N C 2 I N A1 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, )N1 (k ) ~ x N( 0, )N2 ~ 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, N3)2 (k ) ~ R N , N 2 , N 3 x N( N, N3)1 (k ) x N( N, N3) (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, N21) (k ) x N( N, N2 ) (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, N1) (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, 21) (k ) u N( N,32 ) (k ) u N( N,31) (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, N2)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,11) (k ) bN( N 1) (k ) cN , 3 (k ) ~ RN H,3,3 (k ) u N( N, 22 ) (k ) cN , N 1 (k ) ~ RN ,HN 1,1 aN , N 1 (k ) s N , 3 (k ) u N( N,12 ) (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, N1) (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, N1)1 (k ) cN , N (k ) (k ) N (k ) cN , N 1 (k ) ~ RN ,HN 1, N 1 sN , N 1 (k ) u N( N, N1)2 (k ) u N( N, N21) (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 BC1B H ) 1 BC1 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 ) Nb1 (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 ) Nb1 (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 Спасибо за внимание! Эл. почта: [email protected] Тел: +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