cma

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

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

Синтаксис

alg = cma(stepsize)
alg = cma(stepsize,leakagefactor)

Описание

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

Примечание

После того, как вы будете использовать или lineareq или dfe, чтобы создать объект эквалайзера CMA, необходимо инициализировать свойство Weights объекта эквалайзера с ненулевым вектором. Как правило, CMA используется с дифференциальной модуляцией; в противном случае начальные веса очень важны. Типичный вектор начальных весов имеет 1 соответствие центральному касанию и 0s в другом месте.

alg = cma(stepsize) создает адаптивный алгоритм, основанный на объектах на постоянном алгоритме модуля (CMA) с размером шага stepsize.

alg = cma(stepsize,leakagefactor) устанавливает фактор утечки CMA. leakagefactor должен быть между 0 и 1. Значение 1 соответствует обычному алгоритму обновления веса, в то время как значение 0 соответствует алгоритму обновления без памяти.

Свойства

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

СвойствоОписание
AlgTypeФиксированное значение, 'Constant Modulus'
StepSizeПараметр размера шага CMA, неотрицательное вещественное число
LeakageFactorФактор утечки CMA, вещественное число между 0 и 1

Примеры

свернуть все

Используйте постоянный алгоритм модуля (CMA), чтобы создать адаптивный объект эквалайзера.

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

nWeights = 1;
stepSize = 0.1;

Создайте адаптивный объект алгоритма использование функции cma.

alg = cma(stepSize);

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

eqObj = lineareq(nWeights,alg)
eqObj =

                  EqType: 'Linear Equalizer'
                 AlgType: 'Constant Modulus'
                nWeights: 1
             nSampPerSym: 1
                SigConst: [-1 1]
                StepSize: 0.1000
           LeakageFactor: 1
                 Weights: 0
            WeightInputs: 0
    ResetBeforeFiltering: 1
     NumSamplesProcessed: 0

Алгоритмы

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

(LeakageFactor) w + (StepSize) u*e

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

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

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

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

Ссылки

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

[2] Джонсон, Ричард К. младший, Филип Шнитер, Томас. Дж. Эндрес, и др., “Слепая Коррекция Используя Постоянный Критерий Модуля: Анализ”, Продолжения IEEE, Издания 86, октябрь 1998, стр 1927–1950.

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

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

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

Для просмотра документации необходимо авторизоваться на сайте