LMS Update

Оцените веса адаптивного фильтра LMS

  • Библиотека:
  • DSP System Toolbox / Фильтрующий / Адаптивные Фильтры

  • LMS Update block

Описание

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

Можно использовать этот блок, чтобы вычислить адаптивные веса фильтра в приложениях, таких как система идентификации, обратное моделирование и отфильтрованные-x LMS-алгоритмы, которые используются в акустическом подавлении помех. Для получения дополнительной информации смотрите Ссылки.

Порты

Входной параметр

развернуть все

Ввод данных к адаптивному фильтру. Блок принимает с одинарной точностью или входные параметры плавающей точки двойной точности. Все входные параметры должны быть скалярами и должны иметь совпадающий тип данных и точность.

Типы данных: single | double
Поддержка комплексного числа: Да

Ошибка между выходным сигналом и желаемым сигналом.

Типы данных: single | double
Поддержка комплексного числа: Да

Чтобы включить этот порт, установите Step size source на Input port.

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

Когда вход к этому порту не является нулем, блок обновляет веса фильтра. Когда вход к этому порту 0, веса фильтра не изменяются.

Типы данных: single | double | Boolean | int16 | int32 | int64 | int8 | uint16 | uint32 | uint64 | uint8

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

Типы данных: single | double | Boolean | int16 | int32 | int64 | int8 | uint16 | uint32 | uint64 | uint8

Вывод

развернуть все

Длина вектора весов фильтра является значением в параметре Filter length.

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

Параметры

развернуть все

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

Filter length указывает, что длина весов векторизовала блок, генерирует через выходной порт Wts.

  • Property — Задайте размер адаптации фильтра с помощью параметра Step size (mu).

  • Input port — Передайте размер адаптации фильтра с помощью входного порта Mu.

Step size (mu) указывает на сумму, которой веса фильтра обновляются в каждой итерации. Выберите оптимальный размер шага так, чтобы фильтр был устойчив, и быстрота сходимости оптимальна.

Чтобы включить этот параметр, установите Step size source на Property.

Этот параметр является настраиваемым. Можно изменить его значение даже во время симуляции.

Leakage factor (0 to 1) предотвращает неограниченный рост коэффициентов фильтра путем сокращения дрейфа коэффициентов от их оптимальных значений. Фактор утечки 1.0 не указывает ни на какую утечку. Если вы сталкиваетесь с содействующим дрейфом, то есть, большим колебанием об оптимальном решении, уменьшаете фактор утечки, пока содействующее колебание не становится маленьким.

Этот параметр является настраиваемым. Можно изменить его значение даже во время симуляции.

Этот параметр задает начальное значение весов фильтра, w(n-1). Блок использует это значение, чтобы вычислить веса, w(n), когда n = 1. Для получения дополнительной информации см. Алгоритмы.

Когда вы устанавливаете этот флажок, входной порт Adapt появляется на блоке. Когда вход к этому порту больше 0, блок обновляет веса фильтра. Когда вход к этому порту меньше чем или равен 0, веса фильтра не изменяются.

Когда вы устанавливаете этот флажок, входной порт Reset появляется на блоке. Когда вход к этому порту больше 0, блок сбрасывает веса фильтра к их начальным значениям. Когда вход к этому порту меньше чем или равен 0, веса фильтра не изменяются.

  • Code generation

    Симулируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но обеспечивает более быструю скорость симуляции, чем Interpreted execution.

  • Interpreted execution

    Симулируйте модель с помощью  интерпретатора MATLAB®. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation.

Характеристики блока

Типы данных

double | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Алгоритмы

Блок вычисляет оценочное использование веса фильтра w(n)=αw(n1)+f(u(n),e(n),μ).

Функция f(u(n),e(n),μ) задан согласно LMS-алгоритму, который вы задаете через параметр Algorithm:

  • LMSf(u(n),e(n),μ)=μe(n)u*(n)

  • Normalized LMSf(u(n),e(n),μ)=μe(n)u(n)ε+uH(n)u(n)

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

    Для входных параметров с плавающей точкой с двойной точностью ε является 2.2204460492503131e-016. Для входных параметров с плавающей точкой с одинарной точностью ε является 1.192092896e-07. Для входа фиксированной точки ε 0.

  • Sign-Error LMSf(u(n),e(n),μ)=μзнак(e(n))u*(n)

  • Sign-Data LMSf(u(n),e(n),μ)=μe(n)знак(u(n)), где u (n) действителен

  • Sign-Sign LMSf(u(n),e(n),μ)=μзнак(e(n))знак(u(n)), где u (n) действителен

В предыдущих уравнениях:

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

  • u (n) — Вектор из буферизированных входных выборок на шаге n

  • u* (n) — сопряженное комплексное число вектора из буферизированных входных выборок на шаге n

  • w (n) — Вектор из веса фильтра оценивает на шаге n

  • e(n) — Ошибка расчета на шаге n

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

  • α — Фактор утечки (0 ≤ α ≤ 1)

Ссылки

[1] Мадизетти, Виджай и Дуглас Уильямс. "Введение в адаптивные фильтры". Руководство цифровой обработки сигналов. Бока-Ратон, FL: нажатие CRC, 1999.

[2] Ахтар, M. T. М. Абэ, М. Коамата. "LMS-алгоритм Modified-filtered-x основывал активные шумовые системы управления с улучшенным онлайновым моделированием вторичного пути". Симпозиум IEEE по Схемам и Системам, 2004.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2017b