Документация Engee

RLS Filter

Рекурсивный алгоритм наименьших квадратов (RLS) для вычисления выходного сигнала, ошибок и весовых коэффициентов.

rls filter

Описание

Блок RLS Filter рекурсивно вычисляет оценку весовых коэффициентов КИХ-фильтра, необходимых для минимизации ошибки между выходным сигналом и ожидаемым сигналом .

Для получения дополнительной информации смотрите в Алгоритмы.

Порты

Вход

# Input — входной сигнал
скаляр | вектор-столбец

Details

Входной сигнал, заданный в виде скаляра или вектора-столбца.

Типы данных

Single | Float64

Поддержка комплексных чисел

Да

# Desired — желаемый сигнал
скаляр | вектор-столбец

Details

Желаемый сигнал, заданный в виде скаляра или вектор-столбца.

Желаемый сигнал должен иметь тот же тип данных, комплексность и размеры, что и сигнал на порте Input.

Типы данных

Single | Float64

Поддержка комплексных чисел

Да

Выход

# Output — оценка желаемого сигнала
скаляр | вектор-столбец

Details

Оценка желаемого сигнала, возвращаемая в виде скаляра или вектор-столбца. Она имеет тот же размер и комплексность, что и входной сигнал.

Выходной сигнал имеет тот же тип данных, что и желаемый сигнал.

Типы данных

Single | Float64

Поддержка комплексных чисел

Да

# Error — ошибка между выходным и желаемым сигналами
скаляр | вектор-столбец

Details

Ошибка между выходным и желаемым сигналами, возвращаемая в виде скаляра или вектора-столбца.

Сигнал ошибки имеет тот же тип данных, что и желаемый сигнал.

Цель фильтра RLS – минимизировать эту ошибку. Блок адаптирует свои коэффициенты, стремясь к их оптимальным значениям, которые дают выходной сигнал, близко совпадающий с желаемым сигналом.

Типы данных

Single | Float64

Поддержка комплексных чисел

Да

# Wts — весовые коэффициенты фильтра
скаляр | вектор-столбец

Details

Весовые коэффициенты фильтра, возвращаемые в виде скаляра или вектор-столбцов.

Выходной сигнал имеет тут же длину, что указана в параметре Filter length.

На каждом шаге блок выводит текущие обновленные весовые коэффициенты фильтра.

Типы данных

Single | Float64

Поддержка комплексных чисел

Да

Параметры

Main

# Длина фильтра — длина вектора коэффициентов КИХ-фильтра
Целое число типа Int64

Details

Длина вектора коэффициентов КИХ-фильтра в виде положительного целого числа.

Значение по умолчанию

32

Имя для программного использования

FilterLength

Настраиваемый

Нет

# Укажите коэффициент забывания с помощью — способ задания коэффициента забывания
Маска

Details

Коэффициент забывания. Задается как:

  • Dialog – коэффициент забывания указывается через параметр Forgetting factor (0 to 1).

Значение по умолчанию

Dialog

Имя для программного использования

SpecifyForgettingFactorVia

Настраиваемый

Нет

# Коэффициент забывания (0 до 1) — фактор забывания алгоритма RLS
Вещественное число

Details

Коэффициент забывания алгоритма RLS λ , заданный в виде скаляра в диапазоне .

Этот параметр определяет, как быстро фильтр забывает информацию о предыдущем отсчете.

Задание λ означает бесконечную память, при этом фильтр адаптирует весовые коэффициенты. Как правило, , где – длина фильтра.

Значение по умолчанию

1.0

Имя для программного использования

ForgettingFactor

Настраиваемый

Да

# Начальное значение для коэффициентов фильтра — начальное значение весовых коэффициентов фильтра
Скаляр / массив вещественных и/или комплексных чисел

Details

Начальные значения весовых коэффициентов КИХ-фильтра , заданные в виде скаляра или вектора, длиной, равной длине фильтра.

Если значение является скаляром, блок использует скалярное значение для создания вектора весовых коэффициентов фильтра. Этот вектор имеет длину, равную длине фильтра, и все его значения равны скалярному значению.

Значение по умолчанию

0.0

Имя для программного использования

InitialValueOfFilterWeights

Настраиваемый

Нет

# Первоначальная оценка отклонения входных данных — начальная оценка ковариации входных данных
Вещественное число

Details

Начальные значения оценки ковариации входного сигнала, 1/P(n) в виде:

  • Скаляра – P(n) – это диагональная матрица с диагональными элементами, равными скалярному значению.

  • Квадратной матрицы – каждая размерность матрицы равна значению в параметре Filter length.

Начальное значение P(n)= , где значение указано в параметре Initial input variance estimate.

Значение по умолчанию

0.1

Имя для программного использования

InitialInputVarianceEstimate

Настраиваемый

Нет

# Порт сброса — порт сброса
Отсутствует

Details

Включение порта сброса Reset. Задается как:

  • None

Значение по умолчанию

None

Имя для программного использования

ResetPort

Настраиваемый

Нет

Дополнительно

Алгоритмы

Матричное выражение RLS фильтра:













где – величина, обратная от экспоненциального весового коэффициента.

Значение переменных представлено в таблице:

Переменная

Описание

Индекс текущего времени

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

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

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

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

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

Оценка ошибки на шаге

Ожидаемый сигнал на шаге

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

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

Литература

  1. Hayes, M.H. "Statistical Digital Signal Processing and Modeling." New York: John Wiley & Sons, 1996.

Смотрите также