rls

(Чтобы быть удаленным) рекурсивные наименьшие квадраты (RLS) Построения адаптивный объект алгоритма

rls будет удален в будущем релизе. Используйте comm.LinearEqualizer или comm.DecisionFeedback вместо этого.

Синтаксис

alg = rls(forgetfactor)
alg = rls(forgetfactor,invcorr0)

Описание

rls функция создает адаптивный объект алгоритма, который можно использовать с lineareq функция или dfe функция, чтобы создать объект эквалайзера. Можно затем использовать объект эквалайзера с equalize функция, чтобы компенсировать сигнал. Чтобы узнать больше о процессе для компенсации сигнала, смотрите.

alg = rls(forgetfactor) создает адаптивный алгоритм, основанный на объектах на алгоритме рекурсивных наименьших квадратов (RLS). Фактором упущения является forgetfactor, вещественное число между 0 и 1. Матрица обратной корреляции инициализируется к скалярному значению.

alg = rls(forgetfactor,invcorr0) устанавливает параметр инициализации для матрицы обратной корреляции. Это скалярное значение используется, чтобы инициализировать или сбросить диагональные элементы матрицы обратной корреляции.

Свойства

Приведенная ниже таблица описывает свойства адаптивного объекта алгоритма RLS. Чтобы изучить, как просмотреть или изменить значения адаптивного объекта алгоритма, смотрите Эквализацию.

СвойствоОписание
AlgTypeФиксированное значение, 'RLS'
ForgetFactorУпущение фактора
InvCorrInitСкалярное значение раньше инициализировало или сбрасывало диагональные элементы матрицы обратной корреляции

Кроме того, когда вы используете этот адаптивный объект алгоритма создать объект эквалайзера (через lineareq функция или dfe функция), объект эквалайзера имеет InvCorrMatrix свойство, которое представляет матрицу обратной корреляции для алгоритма RLS. Начальное значение InvCorrMatrix InvCorrInit*eye(N), где N общее количество весов эквалайзера.

Примеры

свернуть все

Код создает объекты эквалайзера для этих настроек:

  • Расположенный с интервалами символом линейный эквалайзер RLS с 10 весами.

  • Незначительно расположенный с интервалами линейный эквалайзер RLS с 10 весами, созвездием BPSK и двумя выборками на символ.

  • Обратная связь решения эквалайзер RLS с тремя весами в фильтре feedforward и двумя весами в фильтре обратной связи.

Все три объекта эквалайзера задают адаптивный алгоритм RLS с фактором упущения 0,3.

Создайте объекты эквалайзера различных типов. Настройки по умолчанию используются в свойствах не набор с помощью 'Name,Value' пары.

eqlin = comm.LinearEqualizer('Algorithm','RLS','NumTaps',10,'ForgettingFactor',0.3)
eqlin = 
  comm.LinearEqualizer with properties:

                          Algorithm: 'RLS'
                            NumTaps: 10
                   ForgettingFactor: 0.3000
    InitialInverseCorrelationMatrix: 0.1000
                      Constellation: [1x4 double]
                       ReferenceTap: 3
                         InputDelay: 0
              InputSamplesPerSymbol: 1
              TrainingFlagInputPort: false
                 AdaptAfterTraining: true
               InitialWeightsSource: 'Auto'
                 WeightUpdatePeriod: 1

eqfrac = comm.LinearEqualizer('Algorithm','RLS','NumTaps',10,'ForgettingFactor',0.3, ...
    'Constellation',[-1 1],'InputSamplesPerSymbol',2)
eqfrac = 
  comm.LinearEqualizer with properties:

                          Algorithm: 'RLS'
                            NumTaps: 10
                   ForgettingFactor: 0.3000
    InitialInverseCorrelationMatrix: 0.1000
                      Constellation: [-1 1]
                       ReferenceTap: 3
                         InputDelay: 0
              InputSamplesPerSymbol: 2
              TrainingFlagInputPort: false
                 AdaptAfterTraining: true
               InitialWeightsSource: 'Auto'
                 WeightUpdatePeriod: 1

eqdfe = comm.DecisionFeedbackEqualizer('Algorithm','RLS','NumForwardTaps',3, ...
    'NumFeedbackTaps',2,'ForgettingFactor',0.3)
eqdfe = 
  comm.DecisionFeedbackEqualizer with properties:

                          Algorithm: 'RLS'
                     NumForwardTaps: 3
                    NumFeedbackTaps: 2
                   ForgettingFactor: 0.3000
    InitialInverseCorrelationMatrix: 0.1000
                      Constellation: [1x4 double]
                       ReferenceTap: 3
                         InputDelay: 0
              InputSamplesPerSymbol: 1
              TrainingFlagInputPort: false
                 AdaptAfterTraining: true
               InitialWeightsSource: 'Auto'
                 WeightUpdatePeriod: 1

Алгоритмы

Что касается схематики, представленной в Эквализации, задайте w как вектор всех весов w i и задайте u как вектор всех входных параметров u i. На основе текущего набора входных параметров, u, и текущей матрицы обратной корреляции, P, этот адаптивный алгоритм сначала вычисляет вектор усиления Кальмана, K

где H обозначает, что Эрмитовы транспонируют.

Затем новой матрицей обратной корреляции дают

(ForgetFactor)-1 (P – KuHP)

и новым набором весов дают

w + K *e

где оператор * обозначает сопряженное комплексное число.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2019a

Ссылки

[1] Farhang-Boroujeny, B., адаптивные фильтры: теория и Applications, Chichester, England, John Wiley & Sons, 1998.

[2] Haykin, S., адаптивная теория фильтра, треть Эд., верхний Сэддл-Ривер, NJ, Prentice Hall, 1996.

[3] Kurzweil, J., введение в цифровую связь, Нью-Йорк, John Wiley & Sons, 2000.

[4] Proakis, Джон Г., цифровая связь, четвертый Эд., Нью-Йорк, McGraw-Hill, 2001.

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

Объекты

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