exponenta event banner

Фильтр LMS

Вычислять выходные данные, ошибки и веса с помощью адаптивного алгоритма LMS

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

    Системная панель инструментов DSP Поддержка HDL/Фильтрация

  • LMS Filter block

Описание

Блок фильтра LMS может реализовать адаптивный фильтр FIR, используя пять различных алгоритмов. Блок оценивает веса фильтра или коэффициенты, необходимые для минимизации ошибки e (n) между выходным сигналом y (n) и требуемым сигналом d (n). Выходной сигнал является отфильтрованным входным сигналом, который является оценкой требуемого сигнала. Порт Error выводит результат вычитания выходного сигнала из требуемого сигнала.

При определенных условиях этот блок также поддерживает генерацию кода SIMD. Дополнительные сведения см. в разделе Создание кода.

Порты

Вход

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

Подключите сигнал, который требуется отфильтровать, указанный как скаляр или вектор столбца.

Когда вход является фиксированным, он должен быть подписан.

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

Подключите требуемый сигнал, указанный как вектор или матрица. Требуемый сигнал должен иметь тот же тип данных, сложность и размеры, что и Input сигнал.

Если параметр Input имеет значение fixed-point, то требуемым сигналом должен быть сигнал со знаком fixed-point.

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

Введите размер шага λ. Для сходимости нормализованных уравнений LMS, 0 < start< 2. Тип ввода должен соответствовать типу Input порт.

Если параметр Input имеет значение fixed-point, размер шага должен быть знаком fixed-point.

Зависимости

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

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

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

Зависимости

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

Типы данных: single | double | int8 | int16 | int32 | Boolean

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

Сведения о сбросе типов событий см. в разделе Reset параметр.

Зависимости

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

Типы данных: single | double | int8 | int16 | int32 | Boolean

Продукция

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

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

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

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

Выводит результат вычитания выходного сигнала из требуемого сигнала.

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

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

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

Тип данных весов должен соответствовать типу Input порт для сигналов с плавающей запятой. Подчиняется Weights параметр для сигналов с фиксированной точкой.

Зависимости

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

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

Параметры

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

Главная вкладка

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

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

  • Dialog -- Укажите размер шага с помощью параметра Step size (mu).

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

Введите размер шага λ. Для сходимости нормализованных уравнений LMS, 0 < start< 2.

Настраиваемый: Да

Зависимости

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

Введите коэффициент утечки, 0 < 1 - мкα ≤ 1.

Настраиваемый: Да

Введите начальные веса фильтра w (0) как вектор или скаляр. При вводе скаляра блок использует скалярное значение для создания вектора весов фильтра. Эта длина вектора равна длине фильтра, а все его значения равны скалярному значению.

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

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

Выбрать None для отключения Reset порт. Для активизации порта Reset выберите один из следующих вариантов в списке:

  • Rising edge - запускает операцию сброса, когда вход Reset выполняет одно из следующих действий:

    • Увеличивается от отрицательного значения до положительного значения или нуля

    • Поднимается от нуля до положительного значения, где подъем не является продолжением подъема от отрицательного значения до нуля (см. следующий рисунок)

  • Falling edge - запускает операцию сброса, когда вход Reset выполняет одно из следующих действий:

    • Падает от положительного значения до отрицательного значения или нуля

    • Падает от нуля до отрицательного значения, где падение не является продолжением падения от положительного значения до нуля (см. следующий рисунок)

  • Either edge - Запускает операцию сброса, если входным сигналом сброса является Rising edge или Falling edge

  • Non-zero sample - Запускает операцию сброса в каждый момент времени, когда входной сигнал сброса не равен нулю

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

Вкладка «Тип данных»

Укажите режим округления для операций с фиксированной точкой как одно из следующих:

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Дополнительные сведения см. в разделе Режим округления.

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

Выберите способ указания длины слова и длины дроби коэффициента утечки и размера шага:

  • Same word length as first input - Длина слова коэффициента утечки и размер шага соответствуют длине слова первого входа в блок. В этом режиме длина дроби коэффициента утечки и размер шага автоматически устанавливается в двоичное масштабирование, которое обеспечивает максимальную точность, учитывая значение и длину слова коэффициентов.

  • Specify word length - Вы можете ввести длину слова коэффициента утечки и размер шага, в битах. В этом режиме длина дроби коэффициента утечки и размер шага автоматически устанавливается в двоичное масштабирование, которое обеспечивает максимальную точность, учитывая значение и длину слова коэффициентов.

  • Binary point scaling - Вы можете ввести длину слова и дробную длину коэффициента утечки и размер шага, в битах. Коэффициент утечки и размер шага должны иметь одинаковую длину слова, но длины дробей могут отличаться.

Для Specify step size via параметр, если вы выбираете Input port, длина слова коэффициента утечки такая же, как длина слова размера шага, введенного в Step-size порт. Длина дроби коэффициента утечки автоматически устанавливается на максимально возможную точность на основе длины слова коэффициента утечки.

Зависимости

Этот параметр отображается только в том случае, если для параметра Указать размер шага (Specify step size via) задано значение Dialog

Выберите способ указания длины слова и длины дроби весов фильтра блока:

  • Same as first input - Длина слова и длина дроби весов фильтра совпадают с длиной первого входа в блок.

  • Binary point scaling - Вы можете ввести длину слова и дробную длину весов фильтра, в битах.

Выберите способ задания длины слова и длины дроби u 'u, W' u, μ⋅e, Q⋅u и частного, Q. Здесь u - входной вектор, W - вектор весов фильтра, λ - размер шага, e - ошибка, а Q - частное, которое определено как Q=μ⋅eu'u

  • Same as first input - Длина слова и длина дроби этих величин совпадают с длиной первого ввода в блок.

  • Binary point scaling - Вы можете ввести длину слова и дробную длину этих величин, в битах. Длина слова величин должна быть одинаковой, но длины дробей могут отличаться.

Этот параметр используется для указания способа обозначения длин слов и дробей накопителей для операций u 'u и W' u.

Примечание

Не используйте этот параметр для обозначения длин слов и дробей аккумулятора для операции Q⋅u. Тип данных накопителя для этого количества автоматически устанавливается равным типу данных продукта. Сведения о минимальном, максимальном и переполнении для этого накопителя регистрируются как часть информации о продукте. Автоматическое масштабирование рассматривает этот продукт и накопитель как один тип данных.

  • Same as first input - Эти характеристики соответствуют характеристикам входа в блок.

  • Binary point scaling - Вы можете ввести длину слова и дробную длину накопителей, в битах. Длина слова обоих накопителей должна быть одинаковой, но длины дробей могут отличаться.

Примеры использования типа данных накопителя в этом блоке см. в разделах Фиксированная точка и Типы данных умножения.

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

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

Типы данных

double | fixed point | integer | single

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

no

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

no

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

yes

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

no

Подробнее

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

Ссылки

[1] Хейс, М.Х. Статистическая цифровая обработка и моделирование сигналов. Нью-Йорк: John Wiley & Sons, 1996.

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

.
Представлен до R2006a