Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 121
Текст из файла (страница 121)
Для настройки коэффициентов цифрового фильтра (на рис. 10.2) используются адаптивные алгоритмы, в которых сигнал ошибки е» миннмизируется согласно некоторому критерию, например, по схеме наименьших квадратов. Наибольшее распространение получили алгоритмы, в которых используются схема наименьших квадратов, рекурсивная схема наименьших квадратов и фильтр Калмана.
С точки зрения вычислительной сложности и требований к памяти наиболее эффективна схема наименьших квадратов. Более того, для иес несущественна проблема численной неустойчивости, присущая двум другим алгоритмам. По этим причинам во многих ситуациях вначале пробуют схему наименьших квадратов. Впрочем, рекурсивная схема наименьших квадратов имеет лучшую сходимость. 10.2. Концепции адаптивной фильтрации 703 Шнашк а н н Пер ичный р лнч н а Ашагнвн й шу» ° н са П ра аносов П р ч»ый й шу Ач анан й ум аслшншла ву Сн алсшнбщ Рис.
10З. Некагорые конфигурации адаптивного фильтра (согласно 110)): а) адаптивный шумополавитель; б) алаптивный самонастраиеаюшийсл фильтр; в) подавление псриодичесюй помехи беэ внешнего эталонного источнию, г) адаптивный селективный фильтр; л) моделирование системы; с) подбор линейной комбинации Аг- 1) Рис. 10.4. Структура фильтра с венечной импульсной харакгернстиюй Шну анслссный н ныл Шнр ка й а хал В кшр в анан сигнал в рн лнмкнн в юл у шрнн й ° шау Глава 10. Адаптивные цифровые фильтры 704 Покажите, что при минимизации общей мощности на выходе шумоподавителя макси- мизнруется выходное отношение сигнал-шум. Решение Зашумленный сигнал записывается как (10.3) а оценка полезного сигнал равна (! 0.4) аь = уь — пь = аь + и — бь.
Возводя уравнение (10.4) в квадрат, получаем ать = аьз+ (и„— бь)з+ 2аь(пь — бь). (10.5) Вычисляя математическое ожидание выражений справа и слева от знака "=", получаем Е[а~~] — Е[вз] „Е[(п б„)з] + Щ~ (пь б )] (10.б) Поскольку полезный сигнал вь не коррелирует с пь или с йь, последнее слагаемое в формуле (1О.б) равно нулю, так что получаем Е[аз] — Е[аз] + Е[(п и )з] (10.7) где Е[аь] представляет общую мощность сигнала, Е[взь] — оценку мощности сигнала (а также общую выходную мощность), а Е[(пь — бь)з] — остаточную мощность шума, который все еще может содержаться в зь. Из уравнения (10.7) очевидно, что, если оценка бь — это точная юпня пы выходная мощность — это мощность только полезного сигнала.
При настройке адаптивного фильтра к оптимальному положению минимизируется мощность остаточного шума, а следовательно, общая выходная мощность. На мощность полезного сигнала настройка не влияет, поскольку вь не коррелирует с пы Следовательно, ппп Е[в,',] = Е[в'„] + пип Е[(п„— аь)']. (10.8) Из уравнения (10.8) очевидно, что суммарный эффект минимизации обшей выходной мощности заключается в максимизации выходного отношения сигнал-шум.
Бели фильтр настроен так, что йь = иы то аь = аь. В этом случае выход адаптивного шумоподавнтеля свободен от шума. Если сигнал уь не содержит шума, т.е. югда пь = О, адаптивный фильтр самовыключается (по крайней мере„теоретически) путем присвоения всем весовым коэффициентам нулевых значений.
10.3. Основы теории фильтров Винера 705 еь 1амяоа) Рнс. »Е.З. Фнаьтр Винера (стан»ар»ноя форма) 10.3. Основы теории Фильтров Вййера Многие адаптивные алгоритмы можно рассматривать как аппроксимациидискретного фильтра Винера (рис. 10.5). На фильтр одновременно подаются два сигнала х» и у». Обычно у» состоит из компонента, который коррелирует с хы и компонента, который с х» не иэррелирует. Винеровский фильтр выдает оптимальную оценку той части ры которая коррелирует с х», затем эта оценка вычитается из уы и получается е». Предположим, что используется КИХ-фильтр с яу коэффициентами (или весовыми коэф9!иииенлса»си — весьма популярный термин в литературе).
Ошибка е» между выходом фильтра Винера и исходным сигналом у» записывается как и-ь т =у — и»= -И' Х =у — ~ ()х ,=о (10.9) где Х» и % — вектор входного сигнала и вектор весовых коэффициентов соответственно, имеющие вид ян(0) яи(1] (10.10) Хь = яо(1У вЂ” 1) х»-1м-О Квадрат ошибки равен еа = Уа — 2У»Хт»Ис + И'тХ»ХстИ», (10.11) (10. 12) , г + 2рт И, + Игтг) тя!т где ЕН обозначает математическое ожидание, оз = Е]уД вЂ” дисперсия Ин Р Е(у»Х»] — )я'-компонентный вектор взаимной корреляции, а В = Е(Х»Х»] — авто- корреляционная матрица яьс х )я'. График зависимости среднеквадратической ошибки от Чтобы получить среднеквадратическую ошибку 7, нужно найти математическое ожидание обеих частей уравнения (10.11), предполагая, что вектор входа Х» и сигнал у» совместно стационарны: .У = Е]е~] = Е]у»] — 2Е]у»Х» рр'] + Е[Иг~Х»Х~~И'] = 706 Глава 10.
Адаптивные цифровые фильтры е«о1 Рнс. 1а.а. Поверхность оронхволнтсвьностн коэффициентов И' — это чащеобразная поверхность с однозначно определенной нижней точкой (см. рис. 10.6). Данная структура называется поверхностью производительности (рег1оппапсе зцттасе) и она неотрицательна. Градиент поверхности производительности записывается так: о.т тх = — = -2Р+ 2НИ'. айс (10.13) Каждый набор коэффициентов то(1) (с = 0.,1,..., Х вЂ” 1) соответствует точке на по- верхности.
В точке минимума градиент равен нулю и вектор весовых коэффициентов фильтра достигает оптимального значения Игсис (см. пример 10.2): И'.вь = И 'Р. (10. 14) Формула (10.14) называется уравнениесс Винера-Холфа. Задача адаптивной фильтрации заключается в настройке весовых коэффициентов фильтра ю(0), сн(1),... с помощью подходящего алгоритма до достижения оптимальной точки на поверхности производительности.
Практическое использование винеровских фильтров ограничено из-за следующих недостатков: ° требует применения автокорреляционной матрицы В и вектора взаимной корреляции Р, причем обе величины априори неизвестны; ° фильтры включают обращение матриц, являющееся трудоемким процессом; ° если сигналы нестационарны, то В и Р будут меняться со временем, так что взх „ придется вычислять многократно. В приложениях реального времени И'„, требуется пересчитывать по мере поступления выборок. Использование адаптивных алгоритмов позволяет не обращать при этом матрицы и не вычислять явно В и Р. Глава 10. Адаптивные цифровые фильтры тов Схема наименьших квадратов основана на алгоритме быстрейшего спуска, в котором вектор весовых коэффициентов следующим образом обновляется при обработке выборок: (10.19) где И'я и тть — вектоРы весовых коэффициентов и действительного гРадиента соответственно в к-й момент выборки; параметр гт определяет устойчивость и скорость сходимости.
Алгоритм быстрейшего спуска в формуле (!0.19) по-прежнему требует знания Я и Р, поскольку эти величины необходимы для получения Чь (см. формулу (10.18)). Алгоритм наименьших квадратов — это практический метод оценки весовых коэффициентов фильтра Игь в реальном времени без обращения матриц (см, формулу (10.18)) или прямого вычисления автокорреляционной матрицы и вектора взаимной корреляции. Алгоритм наименьших квадратов Уидроу-Хопфа последовательного обновления весовых коэффициентов записывается так: (10.20) И'~т1 = И'~ -ь зрвьХы где еь = Вь — Ьт' Хы т Очевидно, что алгоритм наименьших квадратов не требует априорных знаний статистик сигнала (т.е.
корреляции Я и Р), а использует их мгновенные оценки (см. пример 10.3). Весовые коэффициенты, полученные с помощью алгоритма наименьших квадратов,— это только оценки, которые постепенно улучшаются по мере того, как настраиваются коэффициенты и фильтр изучает характеристики сигналов. В конце концов весовые коэффициенты сходятся к каким-то значениям.
Условие сходимости: (10.21) где Л „„— максимальное собственное значение ковариационной матрицы данных. На практике И'» никогда не достигает теоретического максимума (решение Винера), а флуктуирует около этого значения (рис. 10. 7). '., 10.4.1:;: Реализация стандартного алгоритма наименьших квадратов Ниже приводится схема вычислений, принятая в алгоритме наименьших квадратов. !. Изначально каждому весовому коэффициенту твь(т), т = О, 1,..., )У вЂ” 1 присваивается произвольное фиксированное значение, например, О.
709 10.4. Стандартный адаптивный алгоритм наименьших квадратов иы Рис. 10.7. Изменение весовых вззффиииенпе фильтра В каждый последующий момент выборки к = 1, 2,... выполняются этапы 2-4. 2. Вычислить выход фильтра йа = ~~г нгь(з)хв ы 3. Вычислить оценку ошибки еь = уа — йа.
4. Обновить набор весовых коэффициентов шг,. ь,(т) = нгь(з) + 2деьхь ы Простота алгоритма наименьших квадратов и легкость реализации, очевидные из приведенных выше выкладок, обьясняют, почему данный метод используется в системах реального времени, когда это возможно. Описанный алгоритм требует примерно 2тьг+ 1 операций умножения и 2У + 1 операций сложения для каждого нового набора входных и выходных выборок. Основные операции умножения-накопления, фигурирующие в алгоритме, можно выполнять на большинстве процессоров сигналов, что наводит на мысль использовать прямую реализацию алгоритма.
Функциональная схема алгоритма наименьших квадратов показана на рис. 10.8. На рис. 10.9 и 10.10 соответственно изображены псевдокоды программной и аппаратной реализаций. В приложении к этой главе приведена реализация алгоритма наименьших квадратов в виде программы на языке С. 710 Глава 10. Адаптивные цифровые фины Рис.
1В.З. Функциональная схема адаптивной фильтрации по схеме наименьших квадратов Вход: хк(1) вектор последних входных выборок у)с текущая зашумленная выборка сигнала мй(1) вектор козффициентов фильтра Выходс е)с текущая желаемая выходная выборка (или ошибка) мй(1) вектор обновленных коэффициентов фильтра /арасчет текущей оценки ошибкиа/ ей ук Рок 1 1 цо М с(о ей ей-х)с(1)амй(1) епс1 /*обновление коэффициентов фильтра*/ сй=2цае)с Рох 1=1 цо М с(о ий(1) =м1с(1) ех)с(1) асуй епс) лес цкп Рнс. 1Вль Код реализации адаптивной фильтрации по схелсе наименьших квадратов 10.4.
Стандартный адаптивный апюритм наименьших квадратов Фильтр иа АЦП ЦАП Ф л р ЦАП Фильтр Фильтр АЦП Рнс. 10.10. Аппаратная реализация анаптивной фильтрации реального времени по схеме наимеиыпих квалрпов Прнивйьер 005 Начав с алгоритма быстрейшего спуска где И'ь — вектор весовых коэффициентов фильтра в момент )с-й выборки, параметр гг определяет устойчивость и скорость сходимости, Ъ7» — действительный градиент на поверхности производительности, выведите алгоритм наименьших квадратов Уидроу— Хопфа для адаптивного шумоподавления, указав сделанные допушения. решение Алгоритм быстрейшего спуска формулируется так: (10.22) М'ьез = Ртгь — гзт7ь.