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

Блок блочного фильтра LMS реализует адаптивный фильтр наименьшего среднего квадрата (LMS), где адаптация весов фильтра происходит один раз для каждого блока выборок. Блок оценивает веса фильтра или коэффициенты, необходимые для минимизации ошибки e (n) между выходным сигналом y (n) и требуемым сигналом d (n). Подключите сигнал, который требуется отфильтровать, к входному порту. Входной сигнал может быть скалярным или столбчатым вектором. Подключите сигнал, который требуется смоделировать, к Desired порт. Требуемый сигнал должен иметь тот же тип данных, сложность и размеры, что и входной сигнал. Output порт выдает отфильтрованный входной сигнал. Error порт выводит результат вычитания выходного сигнала из требуемого сигнала.
Блок вычисляет весовые коэффициенты фильтра с использованием алгоритма адаптивного фильтра Block LMS. Этот алгоритм определяется следующими уравнениями.
= w (k − 1) + f (u (n), e (n), λ)
Функция обновления веса для алгоритма адаптивного фильтра Block LMS определяется как
i) e (kN + i)
Переменные следующие.
| Переменная | Описание |
|---|---|
n | Текущий индекс времени |
я | Переменная итерации в каждом блоке, |
k | Номер блока |
N | Размер блока |
u (n) | Вектор буферизированных входных выборок на этапе n |
w (n) | Вектор оценок фильтра-отвода на этапе n |
y (n) | Отфильтрованные выходные данные на шаге n |
e (n) | Ошибка оценки в момент времени n |
d (n) | Требуемый отклик в момент времени n |
μ | Размер шага адаптации |
Используйте параметр Длина фильтра (Filter length), чтобы указать длину вектора весов фильтра.
Параметр Block size определяет количество выборок входного сигнала, полученных до обновления весов фильтра. Число строк на входе должно быть кратным целому числу параметра Block size.
Адаптивный параметр Step-size (mu) в уравнениях соответствует Можно либо указать размер шага с помощью порта ввода «Размер шага», либо ввести значение в диалоговом окне «Параметры блока: Фильтр блока LMS».
Используйте параметр Коэффициент утечки (от 0 до 1), чтобы указать коэффициент утечки, , в алгоритме LMS с утечкой, показанном ниже.
u (n), e (n), λ)
Введите начальные веса фильтра как вектор или скаляр в текстовое поле Начальное значение весов фильтра. При вводе скаляра блок использует скалярное значение для создания вектора весов фильтра. Этот вектор имеет длину, равную длине фильтра, и все его значения равны скалярному значению
При установке флажка Adapt port (Адаптировать порт) Adapt на блоке появляется порт. Когда вход в этот порт больше нуля, блок непрерывно обновляет веса фильтра. Когда вход в этот порт равен нулю, веса фильтра остаются на их текущих значениях.
Если требуется сбросить значения весов фильтра до их начальных значений, используйте параметр Reset input. Блок сбрасывает весовые коэффициенты фильтра при обнаружении события сброса в порту сброса. Скорость сигнала сброса должна быть той же скоростью, что и на входе сигнала данных.
В списке Reset input выберите None для отключения порта сброса. Чтобы включить порт Reset, выберите одно из следующих значений в списке Reset input:
Rising edge - запускает операцию сброса, когда вход Reset выполняет одно из следующих действий:
Увеличивается от отрицательного значения до положительного значения или нуля
Поднимается от нуля до положительного значения, где подъем не является продолжением подъема от отрицательного значения до нуля (см. следующий рисунок).

Falling edge - запускает операцию сброса, когда вход Reset выполняет одно из следующих действий:
Падает от положительного значения до отрицательного значения или нуля
Падает от нуля до отрицательного значения, где падение не является продолжением падения от положительного значения до нуля (см. следующий рисунок)

Either edge - Запускает операцию сброса, если входным сигналом сброса является Rising edge или Falling edge (как описано выше)
Non-zero sample - Запускает операцию сброса в каждый момент времени, когда входной сигнал сброса не равен нулю
Установите флажок Выходные веса фильтра, чтобы создать Wts порт на блоке. Для каждой итерации блок выводит текущие обновленные веса фильтра из этого порта.
Введите длину вектора весов фильтра FIR.
Введите количество образцов, которые требуется получить до обновления весов фильтра. Число строк на входе должно быть целым числом, кратным размеру блока.
Выбрать Dialog для ввода значения mu в диалоговом окне «Параметры блока: Фильтр LMS». Выбрать Input port для указания mu с помощью входного порта Step-size.
Введите размер шага. Настраиваемый (Simulink).
Введите коэффициент утечки, . Настраиваемый (Simulink).
Укажите начальные значения весов фильтра FIR.
Установите этот флажок, чтобы включить входной порт Adapt.
Установите этот флажок, чтобы включить входной порт сброса.
Установите этот флажок, чтобы экспортировать веса фильтра из порта Wts.
Хейс, М. Х. Статистическая цифровая обработка и моделирование сигналов. Нью-Йорк: John Wiley & Sons, 1996.
| Порт | Поддерживаемые типы данных |
|---|---|
Вход |
|
Желаемый |
|
Размер шага |
|
Приспособиться |
|
Сброс |
|
Продукция |
|
Ошибка |
|
Wts |
|
| Фильтр быстрого блочного LMS | Инструментарий системы DSP |
| Адаптивный фильтр Калмана (устар) | Инструментарий системы DSP |
| Фильтр LMS | Инструментарий системы DSP |
| Фильтр RLS | Инструментарий системы DSP |
Для получения дополнительной информации см. раздел Шумоподавление в Simulink с использованием нормализованного адаптивного фильтра LMS.