| Contents | Index |
h = modem.mskdemod(property1, value1,
...)
h = modem.mskdemod(MSKmod_object)
h = modem.mskdemod(MSKmod_object, property1,
value1, ...)
h = modem.mskdemod
The modem.mskdemod 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.mskdemod(property1, value1, ...) constructs an MSK demodulator object h with properties as specified by the property/value pairs.
h = modem.mskdemod(MSKmod_object) constructs an MSK demodulator object h by reading the property values from the MSK modulator object, MSKmod_object. The properties that are unique to the MSK demodulator object are set to default values.
h = modem.mskdemod(MSKmod_object, property1, value1, ...) constructs an MSK demodulator object h by reading the property values from the MSK modulator object, MSKmod_object. Additional properties are specified using property/value pairs.
h = modem.mskdemod constructs an MSK demodulator object h with default properties. This syntax is equivalent to:
h = modem.mskdemod('Precoding', 'off', ...
'SamplesPerSymbol', 8, 'OutputType', 'bit') 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 baseband signal (complex envelope) x with the demodulator object and outputs binary words (bits) or symbols (integers) in 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 MSK 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 'MSK Demodulator'. |
| M | Constellation size. This is a fixed value, set to 2. |
| Precoding | Specifies the type of the coherent MSK demodulator. The choices are 'off' for conventional coherent MSK, and 'on' for precoded coherent MSK. |
| SamplesPerSymbol | Number of samples used to represent an MSK symbol. |
| OutputType | Type of input to be processed by the MSK demodulator object. The choices are 'bit' (bit/binary output), and 'integer' (integer/symbol output). Because the MSK constellation size is two, 'bit' and 'integer' are equivalent. |
| DecisionType | Type of output values to be computed by MSK demodulator object. This property is set to 'hard decision' and is not writable. |
An MSK demodulator object has the following four functions for inspection, management, and simulation:
See Using Modem Objects for details and examples of their use.
% Construct an MSK demodulator object with five samples % per symbol. h = modem.mskdemod('SamplesPerSymbol', 5) % Construct an MSK demodulator object with precoding. h = modem.mskdemod('Precoding', 'on') % Construct an MSK demodulator object from an existing % MSK modulator object. modObj = modem.mskmod('SamplesPerSymbol', 6, ... 'Precoding', 'on') % existing MSK modulator object demodObj = modem.mskdemod(modObj) % Modulate and demodulate a bit stream. % Note the 2-bit delay. demodulate(demodObj, modulate(modObj, ... [1 1 1 0 0 0 1 0 1 0]'))
modem | modem.dpskdemod | modem.dpskmod | modem.genqamdemod | modem.genqammod | modem.mskmod | modem.oqpskdemod | modem.oqpskmod | modem.pamdemod | modem.pammod | modem.pskdemod | modem.pskmod | modem.qamdemod | modem.qammod

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 |