EngeeDSP.RLSFilter
Вычисляет выходные данные, ошибку и коэффициенты с помощью рекурсивного метода наименьших квадратов (RLS).
| Библиотека |
|
| Блок |
Описание
Системный объект EngeeDSP.RLSFilter выполняет фильтрацию каждого канала входного сигнала, используя реализацию RLS-фильтра.
Чтобы отфильтровать каждый канал входного сигнала, выполните следующие действия:
-
Создайте объект EngeeDSP.RLSFilter и установите его свойства.
-
Вызовите объект с аргументами, как если бы это была функция.
Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.
Синтаксис
Создание
-
rlsFilt = EngeeDSP.RLSFilter()— возвращает системный объект адаптивного RLS-фильтраrlsFilt, который фильтрует входной сигнал и вычисляет ошибку фильтрации и весовые коэффициенты фильтра для заданных входного и требуемого сигналов, используя алгоритм RLS. -
rlsFilt = EngeeDSP.RLSFilter(Name=Value)— возвращает системный объект RLS-фильтра с заданными свойствами в виде парыName=Value, гдеName— имя свойства, аValue— соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.
Использование
-
y,e,wts = rlsFilt(x,d)— рекурсивно адаптирует опорный входной сигналxдля его согласования с требуемым сигналомdс использованием системного объектаrlsFilt. Требуемый сигналdпредставляет собой полезный сигнал, к которому добавлен нежелательный шум. Возвращает выходной сигнал RLS-фильтраy, сигнал ошибкиe, представляющий собой разность между опорным входным сигналом и требуемым сигналом, и коэффициенты фильтраwts. Фильтр адаптирует свои коэффициенты до тех пор, пока ошибкаeне будет минимизирована.
Аргументы
Выходные аргументы
#
y —
отфильтрованный выходной сигнал
скаляр | вектор-столбец
Details
#
e —
разница между выходным и требуемым сигналами
скаляр | вектор-столбец
Details
Разница между выходным сигналом y и требуемым сигналом d, возвращаемая в виде скаляра или вектора-столбца. Цель RLS-фильтра — минимизация этой ошибки. Объект адаптирует свои коэффициенты, стремясь к оптимальным значениям, при которых выходной сигнал максимально приближен к требуемому. Подробную информацию о расчете величины e см. в разделе Алгоритмы.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
wts —
адаптивные весовые коэффициенты фильтра
скаляр | вектор-столбец
Details
Весовые коэффициенты фильтра, возвращаемые в виде скаляра или вектора-столбца длиной, заданной значением свойства FilterLength.
Тип данных wts соответствует типу данных y.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Свойства
#
ForgettingFactor —
коэффициент забывания алгоритма RLS
Real number
Details
Коэффициент забывания алгоритма RLS, заданный как скаляр в диапазоне от 0 до 1. Значение 1 означает бесконечную память при адаптации для поиска новых коэффициентов фильтра.
Значение по умолчанию — 1.0.
#
ResetPort —
порт сброса
String
Details
Значение по умолчанию — "None".
#
SpecifyForgettingFactorVia —
способ задания коэффициента забывания
String
Details
Значение по умолчанию — "Dialog".
#
InitialValueOfFilterWeights —
начальное значение коэффициентов фильтра
Scalar / array of real and/or complex numbers
Details
Начальные значения коэффициентов фильтра, заданные как скаляр или вектор длиной, равной длине фильтра.
Если значение является скаляром, системный объект использует скалярное значение для создания вектора весовых коэффициентов фильтра. Этот вектор имеет длину, равную длине фильтра FilterLength, и все его значения равны скалярному значению.
Значение по умолчанию — 0.
#
FilterLength —
длина вектора коэффициентов фильтра
Int64 integer
Details
Длина вектора коэффициентов фильтра, заданная как положительное целое число.
Значение по умолчанию — 32.
#
InitialInputVarianceEstimate —
начальная оценка ковариации входных данных
Real number
Details
Начальные значения оценки матрицы квадратного корня из ковариационной матрицы входного сигнала, заданные как скаляр или квадратная матрица, размерность которой соответствует значению свойства FilterLength. Если задано скалярное значение, свойство InitialInputVarianceEstimate инициализируется как диагональная матрица, диагональные элементы которой равны этому скаляру.
Значение по умолчанию — 0.1.
Алгоритмы
При выборе режима Conventional RLS (стандартный метод RLS) системный объект EngeeDSP.RLSFilter рекурсивно вычисляет оценку весовых коэффициентов КИХ-фильтра методом наименьших квадратов (RLS). Этот объект оценивает весовые коэффициенты (или параметры) фильтра, необходимые для преобразования входного сигнала в требуемый сигнал. Входной сигнал может быть скаляром или вектором-столбцом. Требуемый сигнал должен иметь те же тип данных, комплексность и размерность, что и входной сигнал. Соответствующий RLS-фильтр описывается в матричной форме через матрицу :
где
-
— величина, обратная экспоненциальному весовому коэффициенту;
-
— индекс текущего времени;
-
— вектор буферизованных входных отсчетов на шаге ;
-
— обратная ковариационная матрица на шаге ;
-
— вектор усиления на шаге ;
-
— вектор оценок коэффициентов фильтра на шаге ;
-
— отфильтрованный сигнал на шаге ;
-
— оценка ошибки на шаге ;
-
— ожидаемый сигнал на шаге ;
-
— коэффициент забывания;
-
— векторы-столбцы.
Литература
-
M. Hayes, Statistical Digital Signal Processing and Modeling, New York: Wiley, 1996.
-
S. Haykin, Adaptive Filter Theory, 4th Edition, Upper Saddle River, NJ: Prentice Hall, 2002.
-
A. A. Rontogiannis and S. Theodoridis, Inverse factorization adaptive least-squares algorithms, Signal Processing, vol. 52, no. 1, pp. 35–47, July 1996.
-
S. C. Douglas, Numerically-robust O(N2) RLS algorithms using least-squares prewhitening, Proc. IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, Istanbul, Turkey, vol. I, pp. 412–415, June 2000.
-
A. H. Sayed, Fundamentals of Adaptive Filtering, Hoboken, NJ: John Wiley & Sons, 2003.