Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Brush_Lecture_5.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
199.17 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для реализации нормализованного метода наименьших квадратов в 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. В стандартном МНК использовался размер шага сходимости Hlms.StepSize = 0.0064, в нормализованном МНК - hnlms.StepSize = 0,1.

Скорость сходимости нормированного МНК выше, что видно из сопоставления кривых обучения, представленных ниже на рис. Как следует из результатов, оба метода сходятся к одинаковому значению среднеквадратичной ошибки, равной 10-2. Скорость сходимости зависит от выбранного значения шага сходимости, в чем можно убедиться, меняя в программе значение шага сходимости μ2.

Программная процедура размещена в Приложении 2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]