Block LMS Filter

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

Библиотека

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

dspadpt3

  • Block LMS Filter block

Описание

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

Блок вычисляет веса фильтров с помощью алгоритма адаптивного фильтра Block LMS. Этот алгоритм определяется следующими уравнениями.

n=kN+iy(n)=wT(k1)u(n)e(n)=d(n)y(n)w(k)=w(k1)+f(u(n),e(n),μ)

Функция обновления веса для алгоритма адаптивного фильтра Block LMS задана как

f(u(n),e(n),μ)=μi=0N1u(kN+i)e(kN+i)

Переменные следующие.

ПеременнаяОписание

n

Текущий индекс времени

i

Переменная итерации в каждом блоке, 0iN1

k

Номер блока

N

Размер блока

u (n)

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

w (n)

Вектор оценок отвода фильтра на шаге n

y (<reservedrangesplaceholder0>)

Отфильтрованный выход на шаге n

e (n)

Ошибка расчета в момент n

d (<reservedrangesplaceholder0>)

Необходимый ответ во время n

μ

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

Используйте параметр 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),μ)

Введите начальные веса фильтра в виде вектора или скаляра в 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

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

Specify step-size via

Выберите Dialog для ввода значения mu в диалоговом окне Параметров блоков: LMS Filter. Выберите 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 port

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

Output filter weights

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

Ссылки

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

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

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

Вход

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

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

Желаемый

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

Размер шага

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

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

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

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

  • Булев

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

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

Сброс

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

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

  • Булев

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

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

Выход

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

Ошибка

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

Wts

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

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

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