exponenta event banner

Обновление LMS

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

  • Библиотека:
  • Панель системных инструментов DSP/Фильтрация/Адаптивные фильтры

  • LMS Update block

Описание

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

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

Порты

Вход

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

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

Типы данных: 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

Параметры

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

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

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

  • Property - Укажите размер адаптации фильтра с помощью параметра Step size (mu).

  • Input port - размер адаптации фильтра передачи с использованием входного порта Mu.

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

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

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

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

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

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

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

Если этот флажок установлен, на блоке появляется порт ввода «Сброс». Если вход в этот порт больше 0, блок сбрасывает веса фильтра до их начальных значений. Если вход в этот порт меньше или равен 0, вес фильтра не изменяется.

  • Code generation

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

  • Interpreted execution

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

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

Типы данных

double | single

Прямой проход

no

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

no

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

no

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

no

Алгоритмы

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

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

  • LMS - f (u (n), e (n), λ) = мкэ (n) u * (n)

  • Normalized LMS - f (u (n), e (n), λ) = мкэ (n) u∗ (n)

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

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

  • Sign-Error LMS - f (u (n), e (n), λ) = pcisign (e (n)) u * (n)

  • Sign-Data LMS - f (u (n), e (n), λ) = мке (n) знак (u (n)), где u (n) является действительным

  • Sign-Sign LMS - f (u (n), e (n), λ) = pcisign (e (n)) знак (u (n)), где u (n) является действительным

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

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

  • u (n) - вектор буферизированных входных выборок на этапе n

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

  • w (n) - вектор весовых оценок фильтра на этапе n

  • e (n) - Ошибка оценки на этапе n

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

  • α - Коэффициент утечки (0 ≤ α ≤ 1)

Ссылки

[1] Мадисетти, Виджей и Дуглас Уильямс. «Введение в адаптивные фильтры». Руководство по цифровой обработке сигналов. Бока Ратон, ФЛ: КПР Пресс, 1999.

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2016b