Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Lektsia_5.doc
Скачиваний:
162
Добавлен:
11.03.2016
Размер:
431.62 Кб
Скачать

Разновидности (варианты) мнк (краткий обзор)

Метод наименьших квадратов (англ. LMS) адаптивной фильтрации, рассмотренный в двух предыдущих лекциях, обеспечивает простую настройку (пересчет) коэффициентов адаптивного фильтра для достижения минимума целевой функции- ошибки фильтра. По сравнению с другим конкурирующим методом, рекурсивным методом наименьших квадратов (RLS), который будет рассмотрен в курсе позднее, он требует значительно меньшего объема вычислений и меньшего объема памяти. Но скорость сходимости и значение ошибки стандартного МНК - алгоритма сравнительно низкие и зависят от свойств корреляционной матрицы входного сигнала, длины фильтра и шага сходимости. Поэтому были предприняты попытки по разработке вариантов МНК, в которых решались задачи повышения скорости сходимости и также уменьшения вычислительной сложности алгоритма. Ниже приведено перечисление этих вариантов вместе с краткой формулировкой их назначения. Более подробные сведения и практические примеры приведены далее в этой лекции.

Основные варианты (модификации) МНК:

  1. Нормализованный МНК (normalized LMS) – улучшает скорость сходимости и устойчивость МНК с помощью учета мощности сигнала на каждом шаге итераций.

  2. МНК с утечкой (leaky LMS) – в стандартный алгоритм МНК вводится специальный коэффициент утечки для улучшения сходимости.

  3. Знаковые алгоритмы МНК (sign LMS) – три разновидности МНК, в которых для уменьшения вычислительной сложности вместо значения сигнала или ошибки фильтра используют знаки этих величин, благодаря чему операции умножения заменяются на более простые операции сложения.

  4. Блочный МНК - для уменьшения объема вычислений алгоритма, обновление коэффициентов фильтра выполняется один раз на определенный выбранный размер блока данных.

  5. Блочный МНК с вычислениями в частотной области – разновидность блочного МНК, в котором для увеличения скорости вычислений используется вычисление свертки в частотной области.

Кроме этих 5-ти методов, имеются и другие варианты, не рассматриваемые в этой лекции. В частности, в MATLAB имеются функции для 10 разновидностей МНК.

Нормализованный алгоритм мнк

Выражение для коррекции коэффициентов адаптивного фильтра для стандартного алгоритма МНК .

Из выражения очевидно, что размер шага сходимости μ - постоянный и не зависит от мощности сигнала X[k].При больших значенияхX[k]величина коррекции коэффициентаможет резко возрасти. Это может неблагоприятно повлиять на устойчивость и сходимость алгоритма. Для преодоления такого недостатка был предложен т.н. нормализованный алгоритм МНК, в котором обновление коэффициентов выполняется по выражению

или в поэлементной (скалярной) записи для j = 0,1,2,…,N-1, N - порядок фильтра

В этих выражениях- некоторая константа, постоянный шаг сходимости, (обычно рекомендуется значения),- мощность входного сигнала X(k),- небольшой положительный коэффициент от 0 до 1, устраняющий резкое увеличение (коррекцию) коэффициента при мощности сигнала, близкой к нулю.

В результате мы получили процедуру обновления коэффициентов фильтра по методу МНК, но с переменным шагом сходимости , зависящим от мощности входного сигнала на очередном шаге. По вычислительной сложности стандартный и нормализованный МНК практически равноценны. Стандартный МНК требует2N+1умножений и2N+1сложений на одну итерацию, нормализованный алгоритм2N+4умножений и2N + 3сложений.

Для реализации нормализованного метода наименьших квадратов в MATLAB имеется специальная функция ha = adaptfilt.nlms(l,step,leakage,offset,coeffs,states).Она возвращает в объекте с именемhaпараметры и характеристики адаптивного КИХ - фильтра, такие, как его коэффициенты, длину фильтра, коэффициент утечки, шаг сходимости, состояние фильтра. Входные параметры функции:

l - длина (число коэффициентов) адаптивного фильтра,

step - размер шага сходимости NLMS. Этот параметр влияет на скорость сходимости. Его значение должно быть в интервале от 0 до 2, значение по умолчанию =1.

offset– необязательный параметр, его значение должно быть ≥ 0. Используется для исключения деления на 0 или близкое к нулю значение. В выше приведенных формулах обозначается черезψ.

coeffs– вектор начальных значений коэффициентов фильтра с длиной, равной порядку фильтра. По умолчанию – нулевой вектор.

states- вектор начального состояния фильтра. По умолчанию – это вектор размеромl -1с нулевыми значениями.

Рассмотрим пример применения этой функции в адаптивном фильтре для компенсации случайного шума в гармоническом сигнале. В задаче формируется сигнал с шумом, обозначенный через d, который подается на вход желаемого сигнала фильтра, на опорный вход фильтра подается шум, коррелированный с шумом на другом входе.

Используются и сопоставляются результаты фильтра Винера, стандартного алгоритма МНК и нормализованного алгоритма МНК. Результаты представлены ниже на рис. Скрипт – файл приведен в Приложении 1к лекции.

Число коэффициентов для каждого из трех фильтров составляло 10.

s(k)

Соседние файлы в папке Лекции