Вычислите выход, ошибку и веса, используя адаптивный алгоритм LMS
Фильтрация/адаптивность фильтров
dspadpt3
Блок 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), чтобы задать коэффициент утечки, , в утечечном LMS-алгоритме, показанном ниже.
Введите начальные веса фильтров, , как вектор или скаляр в 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 на блоке. Для каждой итерации блок выводит текущие обновленные веса фильтров из этого порта.
Введите длину вектора весов конечных импульсных характеристик. Сумма Block size и Filter length должна быть степенью 2.
Введите количество выборок, которые необходимо получить перед обновлением весов фильтра. Количество строк во входе должно быть целым числом, кратным Block size. Сумма Block size и Filter length должна быть степенью 2.
Выберите Dialog
ввести значение для mu или выбрать Input port
для определения mu с помощью входного порта Step-size.
Введите размер шага. Настраиваемый (Simulink).
Введите коэффициент утечки, . Настраиваемый (Simulink).
Задайте начальные значения весов конечной импульсной характеристики фильтра.
Установите этот флажок, чтобы включить входной порт Adapt.
Установите этот флажок, чтобы включить входной порт сброса.
Установите этот флажок, чтобы экспортировать веса фильтров из порта Wts.
Хейс, M.H. Статистическая цифровая обработка сигналов и моделирование. Нью-Йорк: John Wiley & Sons, 1996.
Порт | Поддерживаемые типы данных |
---|---|
Вход |
|
Желаемый |
|
Размер шага |
|
Приспособиться |
|
Сброс |
|
Выход |
|
Ошибка |
|
Wts |
|
Блокируйте фильтр LMS | DSP System Toolbox |
Адаптивный фильтр Калмана (устаревший) | DSP System Toolbox |
Фильтр LMS | DSP System Toolbox |
RLS-фильтр | DSP System Toolbox |
Смотрите Шумоподавление в Simulink с использованием нормализованного адаптивного фильтра LMS для получения соответствующей информации.