signlms

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

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

Синтаксис

alg = signlms(stepsize)
alg = signlms(stepsize,algtype)

Описание

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

alg = signlms(stepsize) создает адаптивный алгоритм, основанный на объектах на алгоритме наименьшее количество среднего квадратичного (LMS) со знаком с размером шага stepsize.

alg = signlms(stepsize,algtype) создает адаптивный объект алгоритма типа algtype от семейства LMS-алгоритмов со знаком. Таблица ниже приводит возможные значения algtype.

Значение algtypeТип LMS-алгоритма со знаком
'Sign LMS'Подпишите LMS (значение по умолчанию)
'Signed Regressor LMS'Регрессор со знаком LMS
'Sign Sign LMS'Знак знака LMS

Свойства

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

СвойствоОписание
AlgTypeТип LMS-алгоритма со знаком, соответствуя входному параметру algtype. Вы не можете изменить значение этого свойства после создания объекта.
StepSizeПараметр размера шага LMS, неотрицательное вещественное число
LeakageFactorФактор утечки LMS, вещественное число между 0 и 1. Значение 1 соответствует обычному алгоритму обновления веса, в то время как значение 0 соответствует алгоритму обновления без памяти.

Примеры

свернуть все

Этот пример показывает, чтобы использовать алгоритм наименьшее количество среднего квадратичного (LMS) со знаком, чтобы создать адаптивный объект эквалайзера.

Определите номер весов и размера шага для эквалайзера.

nWeights = 2;
stepSize = 0.05;

Создайте адаптивный объект алгоритма использование типа LMS-алгоритма регрессора со знаком.

alg = signlms(stepSize,'Signed Regressor LMS');

Создайте линейный эквалайзер с помощью объекта алгоритма.

eqObj = lineareq(nWeights,alg)
eqObj =

                  EqType: 'Linear Equalizer'
                 AlgType: 'Signed Regressor LMS'
                nWeights: 2
             nSampPerSym: 1
                  RefTap: 1
                SigConst: [-1 1]
                StepSize: 0.0500
           LeakageFactor: 1
                 Weights: [0 0]
            WeightInputs: [0 0]
    ResetBeforeFiltering: 1
     NumSamplesProcessed: 0

Алгоритмы

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

  • (LeakageFactor) w + (StepSize) u*sgn(Re(e)), для знака LMS

  • (LeakageFactor) w + (StepSize) sgn(Re(u)) Re(e), для регрессора со знаком LMS

  • (LeakageFactor) w + (StepSize) sgn(Re(u)) sgn(Re(e)), для знака знака LMS

где оператор * обозначает сопряженное комплексное число, и sgn обозначает сигнум-функцию (sign в MATLAB® техническое вычислительное программное обеспечение).

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

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

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

Ссылки

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

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

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

Системные объекты

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