Открыть сервис

Алгоритм наименьших средних квадратов

Алгоритм наименьших средних квадратов (Least Mean Squares, LMS) — это адаптивный алгоритм цифровой обработки сигналов, используемый для настройки коэффициентов линейного фильтра в режиме реального времени. Относится к классу методов стохастического градиентного спуска и применяется для минимизации среднеквадратической ошибки между выходным сигналом фильтра и эталонным (желаемым) сигналом. Алгоритм был предложен Бернардом Уидроу и Тедом Хоффом в 1960 году и является одним из наиболее распространённых в задачах адаптивной фильтрации, эхоподавления, идентификации систем и выравнивания каналов связи.

История

Разработка LMS-алгоритма связана с развитием теории адаптивной обработки сигналов в середине XX века. В 1959 году Бернард Уидроу, работавший в Стэнфордском университете, совместно с аспирантом Тедом Хоффом создал первый адаптивный фильтр на основе метода наименьших квадратов. В 1960 году они опубликовали статью «Adaptive Switching Circuits», где описали LMS-алгоритм как практический способ обучения нейроноподобных структур (адалайн). Впоследствии алгоритм получил широкое распространение благодаря своей простоте, низкой вычислительной сложности и способности работать в условиях нестационарных сигналов.

Принцип работы

Математическая основа

LMS-алгоритм решает задачу минимизации функции стоимости — среднеквадратической ошибки (MSE):

\[ J(\mathbf{w}) = E[e^2(n)] \]

где \( e(n) = d(n) - y(n) \) — ошибка на шаге \( n \), \( d(n) \) — желаемый сигнал, \( y(n) = \mathbf{w}^T(n) \mathbf{x}(n) \) — выход фильтра, \( \mathbf{w}(n) \) — вектор весовых коэффициентов, \( \mathbf{x}(n) \) — вектор входных отсчётов.

Вместо полного вычисления градиента (как в методе наименьших квадратов) LMS использует мгновенную оценку градиента:

\[ \nabla J(n) \approx -2 e(n) \mathbf{x}(n) \]

Обновление весов

Правило обновления весов имеет вид:

\[ \mathbf{w}(n+1) = \mathbf{w}(n) + 2\mu e(n) \mathbf{x}(n) \]

где \( \mu \) — шаг сходимости (коэффициент адаптации). Выбор \( \mu \) критичен для устойчивости и скорости сходимости алгоритма.

Классификация

По типу сигнала

  • Стандартный LMS — для вещественных сигналов.
  • Комплексный LMS — для обработки квадратурных сигналов (например, в радиосвязи).

По модификациям

  • Нормализованный LMS (NLMS) — корректирует шаг адаптации в зависимости от энергии входного сигнала, что повышает устойчивость.
  • Знаковый LMS (Sign-LMS) — использует только знак ошибки, снижая вычислительные затраты.
  • С переменным шагом (VSLMS) — динамически изменяет \( \mu \) для улучшения компромисса между скоростью и точностью.

Характеристики

Преимущества

  • Низкая вычислительная сложность — \( O(N) \) операций на итерацию, где \( N \) — порядок фильтра.
  • Простота реализации — не требует хранения больших объёмов данных или обращения матриц.
  • Работа в реальном времени — подходит для встраиваемых систем и DSP-процессоров.

Недостатки

  • Медленная сходимость при коррелированных входных сигналах.
  • Чувствительность к выбору шага — слишком большой \( \mu \) приводит к расходимости, слишком малый — к медленной адаптации.
  • Не гарантирует глобальный минимум — может застревать в локальных минимумах при невыпуклых функциях стоимости.

Применение

Эхоподавление в телефонных сетях

LMS-алгоритмы используются в акустических и электрических эхокомпенсаторах для подавления отражённых сигналов. Например, в системах VoIP (Voice over IP) и цифровых телефонных станциях.

Идентификация систем

В задачах моделирования неизвестных динамических систем (например, в автоматике или сейсмологии) LMS позволяет оценить импульсную характеристику объекта.

Выравнивание каналов связи

В цифровых модемах и беспроводных системах (Wi-Fi, LTE) LMS-фильтры компенсируют межсимвольную интерференцию, вызванную многолучевым распространением.

Адаптивное подавление помех

В медицине (например, при обработке ЭКГ) LMS-алгоритмы удаляют шумы, сохраняя полезный сигнал. В радиолокации — для подавления активных помех.

Активное шумоподавление

В наушниках и автомобильных системах LMS-фильтры генерируют противофазный сигнал для нейтрализации внешнего шума.

Пример реализации

Ниже приведён псевдокод стандартного LMS-алгоритма для фильтра порядка \( N \):

`` Инициализация: w = [0, 0, ..., 0] (вектор длины N) Для каждого момента времени n: x = [x(n), x(n-1), ..., x(n-N+1)] y = dot(w, x) # выход фильтра e = d(n) - y # ошибка w = w + 2 mu e * x # обновление весов ``

Критика

Основная критика LMS-алгоритма связана с его зависимостью от выбора шага сходимости \( \mu \). В практических приложениях требуется либо предварительное тестирование, либо использование адаптивных методов (например, NLMS). Кроме того, при обработке нестационарных сигналов с быстро меняющимися характеристиками стандартный LMS может не успевать отслеживать изменения, что приводит к ухудшению качества фильтрации.

Интересные факты

  • LMS-алгоритм является частным случаем более общего класса фильтров Винера, адаптированных для работы в реальном времени.
  • В 1970-х годах алгоритм был реализован на первых цифровых сигнальных процессорах (DSP) компании Texas Instruments.
  • Несмотря на возраст, LMS остаётся одним из самых изучаемых алгоритмов в учебных курсах по цифровой обработке сигналов.

Источники

  • Widrow B., Hoff M. E. Adaptive Switching Circuits // IRE WESCON Convention Record. — 1960. — Vol. 4. — P. 96–104.
  • Haykin S. Adaptive Filter Theory. — 5th ed. — Pearson, 2014.
  • Diniz P. S. R. Adaptive Filtering: Algorithms and Practical Implementation. — 5th ed. — Springer, 2013.
  • Sayed A. H. Adaptive Filters. — Wiley, 2008.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →