Skip to Main Content Skip to Search
Product Documentation

cma - Construct constant modulus algorithm (CMA) object

Syntax

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

Description

The cma function creates an adaptive algorithm object that you can use with the lineareq function or dfe function to create an equalizer object. You can then use the equalizer object with the equalize function to equalize a signal. To learn more about the process for equalizing a signal, see Adaptive Algorithms.

alg = cma(stepsize) constructs an adaptive algorithm object based on the constant modulus algorithm (CMA) with a step size of stepsize.

alg = cma(stepsize,leakagefactor) sets the leakage factor of the CMA. leakagefactor must be between 0 and 1. A value of 1 corresponds to a conventional weight update algorithm, while a value of 0 corresponds to a memoryless update algorithm.

Properties

The table below describes the properties of the CMA adaptive algorithm object. To learn how to view or change the values of an adaptive algorithm object, see Access Properties of an Adaptive Algorithm.

PropertyDescription
AlgTypeFixed value, 'Constant Modulus'
StepSizeCMA step size parameter, a nonnegative real number
LeakageFactorCMA leakage factor, a real number between 0 and 1

Algorithms

Referring to the schematics in Equalizer Structure, define w as the vector of all weights wi and define u as the vector of all inputs ui. Based on the current set of weights, w, this adaptive algorithm creates the new set of weights given by

(LeakageFactor) w + (StepSize) u*e

where the * operator denotes the complex conjugate.

References

[1] Haykin, Simon, Adaptive Filter Theory, Third Ed., Upper Saddle River, NJ, Prentice-Hall, 1996.

[2] Johnson, Richard C., Jr., Philip Schniter, Thomas. J. Endres, et al., "Blind Equalization Using the Constant Modulus Criterion: A Review," Proceedings of the IEEE, Vol. 86, October 1998, pp. 1927–1950.

See Also

dfe | equalize | lineareq | lms | normlms | rls | signlms | varlms

How To

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS