| Communications Toolbox™ | ![]() |
h = modem.oqpskdemod(property1, value1,
...)
h = modem.oqpskdemod(OQPSKmod_object)
h = modem.oqpskdemod(OQPSKmod_object,
property1, value1, ...)
h = modem.oqpskdemod
The modem.oqpskdemod function creates a modulator object that you can use with the demodulate method to demodulate a signal. To learn more about the process for demodulating a signal, see Using Modem Objects.
h = modem.oqpskdemod(property1, value1, ...) constructs an OQPSK demodulator object h with properties as specified by the property/value pairs.
h = modem.oqpskdemod(OQPSKmod_object) constructs an OQPSK demodulator object h by reading the property values from the OQPSK modulator object, OQPSKmod_object. The properties that are unique to the OQPSK demodulator object are set to default values.
h = modem.oqpskdemod(OQPSKmod_object, property1, value1, ...) constructs an OQPSK demodulator object h by reading the property values from the OQPSK modulator object, OQPSKmod_object. Additional properties are specified using property/value pairs.
h = modem.oqpskdemod constructs an OQPSK demodulator object h with default properties. This syntax is equivalent to:
h = modem.oqpskdemod('PhaseOffset', 0, 'SymbolOrder', ...
'binary', 'OutputType', 'integer', ...
'DecisionType', 'hard decision') Note OQPSK demodulators have a 1 symbol delay. |
This object has a method demodulate that is used to demodulate signals.
The syntax is y = demodulate(h, x), where h is the handle to a demodulator object and x is a signal. This syntax processes the binary words (bits) or symbols (integers) in signal x with the demodulator object and output the baseband signal y.
x can be a multichannel signal. The columns of x are considered individual channels, while the rows are time steps.
The demodulator object's property DecisionType should be set depending on whether you want hard or soft (LLR or approximate LLR) decisions. To allow for soft decisions, the demodulator object's property OutputType must be set to 'bit'.
For h.outputtype = ‘bit', an
output y of size
is computed for
an input x of size
, where nBits =
log2(h.M).
For h.outputtype = ‘integer',
an output y of size
is computed for
an input x of size
.
See Using Modem Objects for usage examples.
An OQPSK demodulator object has the following properties. All the properties are writable unless explicitly noted otherwise.
| Property | Description |
|---|---|
| Type | Type of modulation object. This is a fixed value, set to 'OQPSK Demodulator'. |
| M | M-ary value. This property is set to four and is not writable. |
| PhaseOffset | Phase offset of ideal signal constellation in radians. |
| Constellation | Ideal signal constellation. This property is not writable and is automatically computed based on M and PhaseOffset. |
| SymbolOrder | Type of mapping employed for mapping symbols to ideal constellation points. The choices are 'binary' (binary mapping), 'gray' (Gray mapping), and 'user-defined' (custom mapping). |
| SymbolMapping | A list of integer values from 0 to M-1 that correspond to ideal constellation points. This property is writable only when SymbolOrder is set to 'user-defined'. Otherwise, it is automatically computed. |
| OutputType | Type of output to be computed by the OQPSK demodulator object. The choices are 'bit' (bit/binary output), and 'integer' (integer/symbol output). |
| DecisionType | Type of output values to be computed by the OQPSK demodulator object. The choices are 'hard decision' (hard decision values), 'llr' (log-likelihood ratio), and 'approximate llr' (approximate log-likelihood ratio). |
| NoiseVariance | Noise variance of the received signal to be processed by the OQPSK demodulator object. This property is used to compute only the LLR or approximate LLR. Hence, NoiseVariance is visible only when DecisionType is set to 'llr' or 'approximate llr'. |
An OQPSK demodulator object has the following four functions for inspection, management, and simulation:
See Using Modem Objects for details and examples of their use.
% Construct a demodulator object for OQPSK demodulation
% with default constellation.
h = modem.oqpskdemod
% Construct an object to compute log-likelihood ratio of
% a baseband signal using OQPSK modulation. The
% constellation has Gray mapping and is shifted by -pi/16
% radians. The estimated noise variance of input signal
% is 1.2.
h = modem.oqpskdemod('PhaseOffset', -pi/16, ...
'SymbolOrder', 'Gray', 'OutputType', 'Bit', ...
'DecisionType', 'LLR', 'NoiseVariance', 1.2)
% Construct a demodulator object from an existing
% modulator object for OQPSK modulation in order to
% compute approximate log-likelihood ratio for a
% baseband signal whose estimated noise variance is 0.81.
modObj = modem.oqpskmod('InputType', 'Bit')
demodObj = modem.oqpskdemod(modObj, 'DecisionType', ...
'Approximate LLR', 'NoiseVariance', 0.81)
% Modulate and demodulate a number of symbols.
% Note that there is a one symbol delay.
demodObj = modem.oqpskdemod(modObj);
demodulate(demodObj, modulate(modObj, [0 1 2 3 0 1 2 3]))modem, modem.dpskdemod, modem.dpskmod, modem.genqamdemod, modem.genqammod, modem.mskdemod, modem.mskmod, modem.oqpskmod, modem.pamdemod, modem.pammod, modem.pskdemod, modem.pskmod, modem.qamdemod, and modem.qammod
![]() | modem.mskmod | modem.oqpskmod | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |