RLS Filter

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

Библиотека

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

dspadpt3

  • RLS Filter block

Описание

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

Соответствующий RLS-фильтр выражен в матричной форме как

k(n)=λ1P(n1)u(n)1+λ1uH(n)P(n1)u(n)y(n)=w(n1)u(n)e(n)=d(n)y(n)w(n)=w(n1)+kH(n)e(n)P(n)=λ1P(n1)λ1k(n)uH(n)P(n1)

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

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

n

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

u (n)

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

P (n)

Обратная ковариационная матрица на шаге n

k (n)

Вектор усиления на шаге n

w(n)

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

y (n)

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

e (n)

Ошибка расчета на шаге n

d (n)

Желаемый ответ на шаге n

λ

Коэффициент забывания

Реализация алгоритма в блоке оптимизирована путем использования симметрии обратной ковариационной матрицы P (n). Это уменьшает общее количество расчетов в два раза.

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

Параметру Forgetting factor (0 to 1) соответствует Он определяет, как быстро фильтр «забывает» информацию о прошлом образце. Настройте, = 1 задает бесконечную память. Как правило, 112L<λ<1, где L - длина фильтра. Можно задать коэффициент забывания с помощью порта входа, Lambda, или ввести значение в параметре Forgetting factor (0 to 1) в диалоговом окне Параметров блоков: RLS Filter.

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

Начальное значение P (n)

1σ2I

где вы задаете σ2 в параметре Initial input variance estimate.

При установке флажка 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 на блоке. Для каждой итерации блок выводит текущие обновленные веса фильтров из этого порта.

Примеры

The rlsdemo пример иллюстрирует систему шумоподавления, созданную вокруг блока RLS Filter.

Параметры

Filter length

Введите длину вектора весов конечных импульсных характеристик.

Specify forgetting factor via

Выберите Dialog для ввода значения коэффициента забывания в диалоговом окне «Параметры блоков: RLS Filter». Выберите Input port для определения коэффициента забывания с помощью входного порта Lambda.

Forgetting factor (0 to 1)

Введите экспоненциальный весовой коэффициент в области значений 0 ≤, ≤ 1. Значение 1 задает бесконечную память. Настраиваемый (Simulink).

Initial value of filter weights

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

Initial input variance estimate

Начальное значение 1/P (n).

Adapt port

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

Reset input

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

Output filter weights

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

Ссылки

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

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

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

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

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

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