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

RLS фильтр

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

Тип: RLSFilter

Путь в библиотеке:

/Signal Operations/Filters/Adaptive Filters/RLS Filter

Описание

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

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

Порты

Вход

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

Details

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

Типы данных

Float32, Float64

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

Да

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

Details

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

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

Типы данных

Float32, Float64

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

Да

Выход

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

Details

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

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

Типы данных

Float32, Float64

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

Да

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

Details

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

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

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

Типы данных

Float32, Float64

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

Да

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

Details

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

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

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

Типы данных

Float32, Float64

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

Да

Параметры

Основные

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

Details

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

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

32

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

FilterLength

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

Нет

Вычисляемый

Да

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

Details

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

  • Маска — коэффициент забывания указывается через параметр Коэффициент забывания (0 до 1).

Значения

Dialog

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

Dialog

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

SpecifyForgettingFactorVia

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

Нет

Вычисляемый

Нет

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

Details

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

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

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

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

1.0

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

ForgettingFactor

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

Да

Вычисляемый

Да

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

Details

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

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

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

0.0

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

InitialValueOfFilterWeights

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

Нет

Вычисляемый

Да

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

Details

Начальные значения оценки ковариации входного сигнала, в виде:

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

  • Квадратной матрицы — каждая размерность матрицы равна значению в параметре Длина фильтра.

Начальное значение , где значение указано в параметре Первоначальная оценка отклонения входных данных.

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

0.1

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

InitialInputVarianceEstimate

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

Нет

Вычисляемый

Да

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

Details

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

Значения

None

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

None

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

ResetPort

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

Нет

Вычисляемый

Нет

Алгоритмы

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













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

В уравнениях выше используются следующие переменные:

  • — индекс текущего времени;

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

  • — обратная ковариационная матрица на шаге ;

  • — вектор усиления на шаге ;

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

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

  • — оценка ошибки на шаге ;

  • — ожидаемый сигнал на шаге ;

  • — коэффициент забывания.

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

Литература

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