Fast Block LMS Filter

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

Библиотека

Фильтрация/адаптивность фильтров

dspadpt3

  • Fast Block LMS Filter block

Описание

Блок Fast Block LMS Filter реализует адаптивный фильтр с наименьшим средним квадратом (LMS), где адаптация весов фильтров происходит один раз для каждого блока выборок данных. Блок оценивает веса фильтра или коэффициенты, необходимые для преобразования входного сигнала в требуемый сигнал. Подключите сигнал, который вы хотите фильтровать, к Input port. Входной сигнал может быть скаляром или вектором-столбцом. Соедините сигнал, который вы хотите смоделировать, с портом Desired. Требуемый сигнал должен иметь совпадающий тип данных, сложность и размерности, что и входной сигнал. Порт Выхода выводит отфильтрованный входной сигнал. Порт Ошибки выводит результат вычитания сигнала выхода из необходимого сигнала.

Блок вычисляет веса фильтров, используя уравнения Block LMS Filter. Для получения дополнительной информации смотрите Блочный LMS-фильтр. Блок Fast Block LMS Filter реализует операцию свертки, участвующую в вычислениях фильтрованного выхода, y и функции обновления веса в частотный диапазон с помощью алгоритма БПФ, используемого в блоке Overlap-Save БПФ Filter. Для получения дополнительной информации смотрите Overlap-Save FFT Filter (Obsolete).

Используйте параметр Filter length, чтобы задать длину вектора весов фильтра.

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

Параметру Step-size (mu) соответствует w в уравнениях. Можно либо задать размер шага с помощью порта входа, Step-size, либо ввести значение в диалоговом окне Параметров блоков: Block LMS Filter.

Используйте параметр Leakage factor (0 to 1), чтобы задать коэффициент утечки, 0<1μα1, в утечечном LMS-алгоритме, показанном ниже.

w(k)=(1μα)w(k1)f(u(n),e(n),μ)

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

Filter length

Введите длину вектора весов конечных импульсных характеристик. Сумма Block size и Filter length должна быть степенью 2.

Block size

Введите количество выборок, которые необходимо получить перед обновлением весов фильтра. Количество строк во входе должно быть целым числом, кратным Block size. Сумма Block size и Filter length должна быть степенью 2.

Specify step-size via

Выберите Dialog ввести значение для mu или выбрать Input port для определения mu с помощью входного порта Step-size.

Step-size (mu)

Введите размер шага. Настраиваемый (Simulink).

Leakage factor (0 to 1)

Введите коэффициент утечки, 0<1μα1. Настраиваемый (Simulink).

Initial value of filter weights

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

Adapt port

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

Reset input

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

Output filter weights

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

Ссылки

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

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

Желаемый

  • Должно быть то же, что и Вход

Размер шага

  • Должно быть то же, что и Вход

Приспособиться

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Булев

  • 8-, 16- и 32-битные целые числа со знаком

  • 8-, 16- и 32-битные беззнаковые целые числа

Сброс

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Булев

  • 8-, 16- и 32-битные целые числа со знаком

  • 8-, 16- и 32-битные беззнаковые целые числа

Выход

  • То же, что и вход

Ошибка

  • То же, что и вход

Wts

  • То же, что и вход

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

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