Документация Engee

LMS Filter

Адаптивный алгоритм наименьших средних квадратов (LMS) для вычисления выходных данных, ошибок и весовых коэффициентов.

lms filter

Описание

Блок LMS Filter может реализовать адаптивный FIR-фильтр, используя пять различных алгоритмов. Блок оценивает весовые коэффициенты фильтра, необходимые для минимизации ошибки, , между выходным сигналом и желаемым сигналом, . На выходе получается отфильтрованный входной сигнал, который является оценкой желаемого сигнала. Порт Error выводит результат вычитания выходного сигнала из желаемого сигнала.

Порты

Вход

Input — входной сигнал
скаляр | вектор-столбец

Входной сигнал, заданный в виде скаляра или вектора-столбца.

Если для параметра Algorithm установлено значение Sign—Error LMS, Sign—Data LMS или Sign—Sign LMS, то данные на порте Input должны быть вещественными.

Типы данных: single | Float64

Desired — желаемый сигнал
скаляр | вектор-столбец

Желаемый сигнал, заданный в виде скаляра или вектор-столбца.

Желаемый сигнал должен иметь тот же тип данных, сложность и размеры, что и сигнал на порте Input.

Если для параметра Algorithm установлено значение Sign—Error LMS, Sign—Data LMS или Sign—Sign LMS, то данные на порте Desired должны быть вещественными.

Типы данных: single | Float64

Step-size — размер шага
скаляр

Введите размер шага, .

Для сходимости уравнений алгоритма Normalized LMS: .

Тип входных данных должен совпадать с типом данных на входе Input.

Зависимости

Этот порт появляется только в том случае, если для параметра Specify step size via установлено значение Input port.

Типы данных: single | Float64

Adapt — обновление весовых коэффициентов фильтра
скаляр

Если значение на порте Adapt больше нуля, блок постоянно обновляет весовые коэффициенты фильтра.

Если значение на порте Adapt меньше или равен нулю, весовые коэффициенты остаются на своих текущих значениях.

Зависимости

Этот порт появляется только в том случае, если для параметра Adapt port установлено значение on.

Типы данных: single | Float64 | Int8 | Int16| Int32 | Boolean

Reset — сброс весовых коэффициентов фильтра
скаляр

Сигнал для сброса значений весовых коэффициентов фильтра к их начальным значениям, заданным в виде скаляра.

Блок сбрасывает значения весовых коэффициентов каждый раз, когда на порте Reset обнаруживается событие сброса.

Типы событий сброса смотрите в параметре Reset port.

Зависимости

Этот порт появляется только в том случае, если для параметра Reset port установлено значение Rising edge, Falling edge, Either edge или Non-zero sample.

Типы данных: single | Float64 | Int8 | Int16| Int32 | Boolean

Выход

Output — оценка желаемого сигнала
скаляр | вектор-столбец

Оценка желаемого сигнала, возвращаемая в виде скаляра или вектор-столбца. Она имеет тот же размер и комплексность, что и входной сигнал.

Выходной сигнал имеет тот же тип данных, что и желаемый сигнал.

Типы данных: single | Float64

Error — ошибка между выходным и желаемым сигналами
скаляр | вектор-столбец

Ошибка между выходным и желаемым сигналами, возвращаемая в виде скаляра или вектора-столбца. Эта ошибка является результатом вычитания выходного сигнала из желаемого сигнала.

Сигнал ошибки имеет тот же тип данных, что и желаемый сигнал.

Типы данных: single | Float64

Wts — весовые коэффициенты фильтра
скаляр | вектор-столбец

Весовые коэффициенты фильтра, возвращаемые в виде скаляра или вектор-столбцов. Для каждой итерации блок выводит текущие обновленные весовые коэффициенты фильтра из этого порта.

Зависимости

Этот порт появляется только в том случае, если для параметра Output filter weights установлено значение On.

Типы данных: single | Float64

Параметры

Main

Algorithm — алгоритм расчета весов фильтра
LMS (по умолчанию) | Normalized LMS | Sign-Error LMS | Sign-Data LMS | Sign-Sign LMS

Выберите алгоритм, используемый для расчета весов фильтра.

Filter length — длина фильтра
32 (по умолчанию) | скаляр

Введите длину вектора весов фильтра FIR.

Specify step size via — способ задания размера шага
Dialog (по умолчанию) | Input port
  • Dialog – укажите размер шага с помощью параметра Step size (mu).

  • Input port – укажите размер шага с помощью порта Step-size.

Step size (mu) — размер шага
0.1 (по умолчанию) | положительный скаляр

Введите размер шага, .

Для сходимости уравнений алгоритма Normalized LMS : .

Зависимости

Этот параметр появляется только в том случае, если для параметра Specify step size via установлено значение Dialog.

Leakage factor (0 to 1) — коэффициент потерь
1.0 (по умолчанию) | скаляр

Введите коэффициент потерь, .

Initial value of filter weights — начальное значение весовых коэффициентов фильтра
0 (по умолчанию) | вектор | скаляр

Введите начальное значение весовых коэффициентов фильтра w(0) в виде вектора или скаляра.

Если вы вводите скаляр, блок использует скалярное значение для создания вектора весовых коэффициентов фильтра. Длина этого вектора равна длине фильтра, а все его значения равны скалярному значению.

Adapt port — включить порт адаптации
Выключено (по умолчанию) | Включено

Установите этот флажок, чтобы включить порт Adapt port.

Reset port — порт сброса
None (по умолчанию) | Rising edge | Falling edge | Either edge | Non-zero sample

Если вы хотите сбросить значения весов фильтра к их начальным значениям, используйте параметр Reset port.

Сигнал сброса должен иметь ту же скорость, что и входной сигнал данных.

  • None– отключить порт Reset.

Чтобы включить порт Reset, выберите из списка один из следующих:

  • Rising edge — запускает операцию подсчета или сброса, когда сигнал на входных портах Inc/Dec или Rst изменяется следующим образом:

    • Повышается от переднего фронта до положительного или нуля.

    • Повышается от нуля до переднего фронта, когда повышение не является продолжением повышения от заднего фронта до нуля, как показано на рисунке.

counter 1

  • Falling edge — запускает операцию подсчета или сброса, когда сигнал на входных портах Inc/Dec или Rst изменяется следующим образом:

    • Понижается с переднего фронта на отрицательное или на ноль.

    • Понижается от нуля до заднего фронта, когда понижение не является продолжением понижения от переднего фронта до нуля, как показано на рисунке.

counter 2

  • Either edge — запускает операцию подсчета или сброса, когда на входных портах Inc/Dec или Rst происходит событие запуска Rising edge или Falling edge.

  • Non-zero sample — запускает операцию подсчета или сброса в каждый такт выборки, когда сигнал на входных портах Inc/Dec или Rst не равен нулю.

Output filter weights — весовые коэффициенты на выходе фильтра
Включено (по умолчанию)| Выключено

Выберите параметр Output filter weights для экспорта весовых коэффициентов фильтра из выходного порта Wts. Для каждой итерации блок выводит текущие обновленные весовых коэффициентов из этого порта.

Дополнительно

Алгоритмы LMS-фильтра

Когда вы выбираете значение LMS для параметра Algorithm, блок вычисляет веса фильтра с помощью алгоритма наименьшего среднего квадрата (LMS). Этот алгоритм определяется следующими уравнениями.





Различные алгоритмы адаптивного LMS-фильтра, доступные в этом блоке, определяются как:

  • LMS –

  • Normalized LMS –

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

Для входных данных с плавающей запятой двойной точности равняется выходу функции eps(Float64). Для данных одинарной точности равняется выходу функции eps(Float32).

  • Sign-Error LMS –

  • Sign-Data LMS –

где u(n) является вещественным числом.

  • Sign-Sign LMS –

μμ

где u(n) является вещественным.

Переменная Описание

Индекс текущего времени

u( )

Вектор буферизованных входных отсчетов на шаге

u`( )

Комплексно сопряженный вектор буферизованных входных отсчетов на шаге

w( )

Вектор весовых оценок фильтра на шаге

Отфильтрованный выходной сигнал на шаге

Ошибка оценки на шаге

Желаемый сигнал на шаге

Размер шага адаптации

Коэффициент потерь ( )

Константа, которая корректирует любую потенциальную численную нестабильность, возникающую во время обновления весов.

Смотрите также

  1. Hayes, M.H. "Statistical Digital Signal Processing and Modeling." New York: John Wiley & Sons, 1996.