modem.qammod - Construct QAM modulator object

Syntax

h = modem.qammod(M)
h = modem.qammod(M, phaseoffset)
h = modem.qammod(property1, value1, ...)
h = modem.qammod(QAMdemod_object)
h = modem.qammod(QAMdemod_object, property1, value1, ...)
h = modem.qammod

Description

The modem.qammod function creates a modulator object that you can use with the modulate method to modulate a signal. To learn more about the process for modulating a signal, see Using Modem Objects.

h = modem.qammod(M) constructs a QAM modulator object h for M-ary modulation.

h = modem.qammod(M, phaseoffset) constructs a QAM modulator object h whose constellation has a phase offset of phaseoffset radians.

h = modem.qammod(property1, value1, ...) constructs a QAM modulator object h with properties as specified by the property/value pairs. See the following section on properties.

h = modem.qammod(QAMdemod_object) constructs a QAM modulator object h by reading the property values from the QAM demodulator object, QAMdemod_object. The properties that are unique to the QAM modulator object are set to default values.

h = modem.qammod(QAMdemod_object, property1, value1, ...) constructs a QAM modulator object h by reading the property values from the QAM demodulator object, QAMdemod_object. Additional properties are specified using property/value pairs.

h = modem.qammod constructs a QAM modulator object h with default properties. It constructs a modulator object for 16-QAM modulation and is equivalent to:

h = modem.qammod('M', 16, 'PhaseOffset', 0, 'SymbolOrder',...
    'binary', 'InputType', 'integer')

Modem Modulation Method

This object has a method modulate that is used to modulate signals.

The syntax is y = modulate(h, x), where h is the handle to a modulator object and x is a signal. This syntax outputs the baseband signal y.

x can be a multichannel signal. The columns of x are considered individual channels, while the rows are time steps.

When mapping input bits to symbols, the first bit is interpreted as the most significant bit.

For h.inputtype = ‘bit' (i.e., x represents binary input), nBits consecutive elements in each channel or column represent a symbol, where nBits = log2(h.M). The number of elements in each channel must be an integer multiple of nBits, and elements of x must be 0 or 1. For an input x of size , an output y of size is computed.

For h.inputtype = ‘integer' (i.e., x represents symbol input), elements of x must be in the range [0, h.M-1]. For an input x of size , an output y of size is computed.

See Using Modem Objects for usage examples.

Properties

The following table describes the properties of the QAM modulator object.

PropertyDescription
TypeType of modulation object. This property is a fixed value, set to 'QAM Modulator'.
MM-ary value. Default is 16.
PhaseOffsetPhase offset of ideal signal constellation in radians. Default is 0.
ConstellationIdeal signal constellation. This property is not writable and is automatically computed based on the M and PhaseOffset properties.
SymbolOrderType of mapping employed for mapping symbols to ideal constellation points. The choices are 'binary' (binary mapping), 'gray' (Gray mapping), and 'user-defined' (custom mapping). Default is 'binary'.
SymbolMappingSymbol mapping values corresponding to ideal constellation points. This property is writable only when SymbolOrder is set to 'user-defined'. Each element of the symbol mapping vector contains the symbol mapped to the corresponding element of the constellation vector. The first element of this vector corresponds to the top-leftmost point of the constellation, with subsequent elements running down column-wise, from left to right. The last element corresponds to the bottom-rightmost point. Note that when the alphabet size is 4, this top-down mapping in binary mode effectively creates a gray-mapped constellation.
InputTypeType of input to be processed by the QAM modulator object. The choices are 'bit' (bit/binary output), and 'integer' (integer/symbol output). Default is 'integer'.

Methods

A QAM modulator object has the following functions for inspection, management, and simulation:

See Using Modem Objects for details and examples of their use.

Examples

% Construct a modulator object for 32-QAM modulation.
h = modem.qammod(32)
 
% Construct an object to modulate binary data using 64-QAM
% modulation. The constellation has Gray mapping.
h = modem.qammod('M', 64, 'SymbolOrder', 'Gray', ...
                 'InputType', 'Bit')
 
% Construct a modulator object from an existing demodulator
% object for QAM demodulation in order to modulate binary
% inputs.
demodObj = modem.qamdemod('M', 8) 
modObj = modem.qammod(demodObj, 'InputType', 'Bit')

See Also

modem, modem.dpskdemod, modem.dpskmod, modem.genqamdemod, modem.genqammod, modem.mskdemod, modem.mskmod, modem.oqpskdemod, modem.oqpskmod, modem.pamdemod, modem.pammod, modem.pskdemod, modem.pskmod, and modem.qamdemod

  


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