LMS Filter

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

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

    Поддержка HDL DSP System Toolbox / фильтрация

  • LMS Filter block

Описание

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

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

Порты

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

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

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

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

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

Соедините желаемый сигнал в виде вектора или матрицы. Желаемый сигнал должен иметь совпадающий тип данных, сложность и размерности как Input сигнал.

Когда Input является фиксированной точкой, желаемый сигнал должен быть фиксированной точкой со знаком.

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

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

Когда Input является фиксированной точкой, неродной размер должен быть фиксированной точкой со знаком.

Зависимости

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

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

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

Зависимости

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

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

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

Для типов события сброса смотрите 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

Параметры

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

Основная вкладка

Выберите алгоритм раньше вычислял веса фильтра.

Введите длину КИХ-вектора весов фильтра.

  • Dialog – Задайте размер шага при помощи параметра Step size (mu).

  • Input port – Задайте размер шага при помощи Step-size порт.

Введите размер шага μ. Для сходимости нормированных уравнений LMS, 0 <µ <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 — Инициировал операцию сброса, когда входом Reset является Rising edge или Falling edge

  • Non-zero sample — Инициировал операцию сброса в каждом шаге расчета, что вход Reset не является нулем

Выберите параметр 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, Qu, и частное, Q. Здесь, u является входным вектором, W является вектором из весов фильтра, μ является размером шага, e является ошибкой, и Q является частным, которое задано как Q=μeu'u

  • Same as first input – Размер слова и дробная продолжительность этих количеств совпадает с теми из первого входа с блоком.

  • Binary point scaling – Можно ввести размер слова и дробная продолжительность этих количеств в битах. Размер слова количеств должен быть тем же самым, но дробные длины могут отличаться.

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

Примечание

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

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

  • Binary point scaling – Можно ввести размер слова и дробную длину аккумуляторов в битах. Размер слова обоих, аккумуляторы должны быть тем же самым, но дробные длины могут отличаться.

Для рисунков, изображающих использование типа данных аккумулятора в этом блоке, смотрите Типы данных Фиксированной точки и Умножения.

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете в диалоговом окне блока.

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

Типы данных

double | fixed point | integer | single

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

no

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

no

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

yes

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

no

Больше о

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

Ссылки

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

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте