
- •Разновидности (варианты) мнк (краткий обзор)
- •Нормализованный алгоритм мнк
- •Алгоритм мнк с утечкой (leaky lms)
- •Знаковые (упрощенные) алгоритмы мнк (Simplified lms Algorithms)
- •Демонстрация lmsxyplot для исследования сходимости вариантов мнк
- •Блочный алгоритм мнк (Blockwise Computation Algorithm)
- •Блочный алгоритм мнк в частотной области
Метод наименьших квадратов (англ. LMS)
адаптивной фильтрации, рассмотренный
в двух предыдущих лекциях, обеспечивает
простую настройку (пересчет) коэффициентов
адаптивного фильтра для достижения
минимума целевой функции- ошибки
фильтра. По сравнению с другим
конкурирующим методом, рекурсивным
методом наименьших квадратов (RLS),
который будет рассмотрен в курсе
позднее, он требует значительно меньшего
объема вычислений и меньшего объема
памяти. Но скорость сходимости и
значение ошибки стандартного МНК -
алгоритма сравнительно низкие и зависят
от свойств корреляционной матрицы
входного сигнала, длины фильтра и шага
сходимости. Поэтому были предприняты
попытки по разработке вариантов МНК,
в которых решались задачи повышения
скорости сходимости и также уменьшения
вычислительной сложности алгоритма.
Ниже приведено перечисление этих
вариантов вместе с краткой формулировкой
их назначения. Более подробные сведения
и практические примеры приведены далее
в этой лекции.
Основные варианты (модификации) МНК:
Нормализованный МНК (normalized LMS) –
улучшает скорость сходимости и
устойчивость МНК с помощью учета
мощности сигнала на каждом шаге
итераций.
МНК с утечкой (leaky LMS)
– в стандартный алгоритм МНК вводится
специальный коэффициент утечки для
улучшения сходимости.
Знаковые алгоритмы МНК (sign
LMS) – три разновидности
МНК, в которых для уменьшения
вычислительной сложности вместо
значения сигнала или ошибки фильтра
используют знаки этих величин, благодаря
чему операции умножения заменяются
на более простые операции сложения.
Блочный МНК - для уменьшения объема
вычислений алгоритма, обновление
коэффициентов фильтра выполняется
один раз на определенный выбранный
размер блока данных.
Блочный МНК с вычислениями в частотной
области – разновидность блочного МНК,
в котором для увеличения скорости
вычислений используется вычисление
свертки в частотной области.
Кроме этих 5-ти методов, имеются и
другие варианты, не рассматриваемые в
этой лекции. В частности, в MATLAB имеются
функции для 10 разновидностей МНК.Разновидности (варианты) мнк (краткий обзор)
Выражение для коррекции коэффициентов
адаптивного фильтра для стандартного
алгоритма МНК
Из выражения очевидно, что размер шага
сходимости μ - постоянный и не зависит
от мощности сигнала X[k].При больших
значенияхX[k]величина коррекции
коэффициента
или в поэлементной (скалярной) записи
для j = 0,1,2,…,N-1,
N - порядок
фильтра
Нормализованный алгоритм мнк
.
может резко возрасти. Это может
неблагоприятно повлиять на устойчивость
и сходимость алгоритма. Для преодоления
такого недостатка был предложен т.н.
нормализованный алгоритм МНК, в котором
обновление коэффициентов выполняется
по выражению
В
этих выражениях
-
некоторая константа, постоянный шаг
сходимости, (обычно рекомендуется
значения
),
- мощность входного сигнала X(k),
- небольшой положительный коэффициент
от 0 до 1, устраняющий резкое увеличение
(коррекцию) коэффициента при мощности
сигнала, близкой к нулю.
В результате мы получили процедуру
обновления коэффициентов фильтра по
методу МНК, но с переменным шагом
сходимости
Для реализации нормализованного метода
наименьших квадратов в 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, который подается на
вход желаемого сигнала фильтра, на
опорный вход фильтра подается шум,
коррелированный с шумом на другом
входе.,
зависящим от мощности входного сигнала
на очередном шаге. По вычислительной
сложности стандартный и нормализованный
МНК практически равноценны. Стандартный
МНК требует2N+1умножений и2N+1сложений на одну итерацию, нормализованный
алгоритм2N+4умножений и2N
+ 3сложений.
Используются и сопоставляются результаты
фильтра Винера, стандартного алгоритма
МНК и нормализованного алгоритма МНК.
Результаты представлены ниже на рис.
Скрипт – файл приведен в Приложении
1к лекции.
Число коэффициентов для каждого из
трех фильтров составляло 10.
s(k)