Documentation |
The CPMModulator object modulates using continuous phase modulation. The output is a baseband representation of the modulated signal.
To modulate a signal using continuous phase modulation:
Define and set up your CPM modulator object. See Construction.
Call step to modulate a signal according to the properties of comm.CPMModulator. The behavior of step is specific to each object in the toolbox.
H = comm.CPMModulator creates a modulator System object™, H. This object modulates the input signal using the continuous phase modulation (CPM) method.
H = comm.CPMModulator(Name,Value) creates a CPM modulator object, H. This object has each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).
H = comm.CPMModulator(M,Name,Value) creates a CPM modulator object, H, with the ModulationOrder property set to M and the other specified properties set to the specified values.
ModulationOrder |
Size of symbol alphabet Specify the size of the symbol alphabet. The value of this property must be a power of two, real, integer scalar. The default is 4. |
BitInput |
Assume bit inputs Specify whether the input is bits or integers. The default is false. When you set this property to false, the step method input requires double-precision or signed integer data type column vector. This vector must comprise odd integer values between –(ModulationOrder–1) and ModulationOrder–1. When you set this property to true, the step method input requires a column vector of P-length bit words, where P = log2(ModulationOrder). The input data must have a double-precision or logical data type. The object maps each bit word to an integer K between 0 and ModulationOrder–1, using the mapping specified in the SymbolMapping property. The object then maps the integer K to the intermediate value 2K-(ModulationOrder–1) and proceeds as in the case when BitInput is false. |
SymbolMapping |
Symbol encoding Specify the mapping of bit inputs as one of Binary | Gray. The default is Binary. This property determines how the object maps each input P-length bit word, where P = log2(ModulationOrder), to an integer between 0 and ModulationOrder–1. When you set this property to Binary, the object uses a natural binary-coded ordering. When you set this property to Gray, the object uses a Gray-coded ordering. This property applies when you set the BitInput property to true. |
ModulationIndex |
Modulation index Specify the modulation index. The default is 0.5. The value of this property can be a scalar, h, or a column vector, [h_{0}, h_{1}, …. h_{H-1}] where H-1 represents the length of the column vector. When h_{i} varies from interval to interval, the object operates in multi-h. When the object operates in multi-h, h_{i} must be a rational number. |
FrequencyPulse |
Frequency pulse shape Specify the type of pulse shaping that the modulator uses to smooth the phase transitions of the modulated signal. Choose from Rectangular | Raised Cosine | Spectral Raised Cosine | Gaussian | Tamed FM. The default is Rectangular. |
MainLobeDuration |
Main lobe duration of spectral raised cosine pulse Specify, in number of symbol intervals, the duration of the largest lobe of the spectral raised cosine pulse. The default is 1. This property requires a real, positive, integer scalar. This property applies when you set the FrequencyPulse property to Spectral Raised Cosine. |
RolloffFactor |
Rolloff factor of spectral raised cosine pulse Specify the rolloff factor of the spectral raised cosine pulse. The default is 0.2. This property requires a real scalar between 0 and 1. This property applies when you set the FrequencyPulse property to Spectral Raised Cosine. |
BandwidthTimeProduct |
Product of bandwidth and symbol time of Gaussian pulse Specify the product of bandwidth and symbol time for the Gaussian pulse shape. The default is 0.3. This property requires a real, positive scalar. This property applies when you set the FrequencyPulse property to Gaussian. |
PulseLength |
Pulse length Specify the length of the frequency pulse shape in symbol intervals. The value of this property requires a real, positive integer. The default is 1. |
SymbolPrehistory |
Symbol prehistory Specify the data symbols used by the modulator prior to the first call to the step method in reverse chronological order. The default is 1. This property requires a scalar or vector with odd integer elements between –(ModulationOrder–1) and (ModulationOrder–1). If the value is a vector, then its length must be one less than the value in the PulseLength property. |
InitialPhaseOffset |
Initial phase offset Specify the initial phase of the modulated waveform in radians as a real, numeric scalar. The default is 0. |
SamplesPerSymbol |
Number of samples per output symbol Specify the upsampling factor at the output as a real, positive, integer scalar. The default is 8. The upsampling factor is the number of output samples that the step method produces for each input sample. |
OutputDataType |
Data type of output Specify output data type as one of double | single. The default is double. |
clone | Create CPM modulator object with same property values |
getNumInputs | Number of expected inputs to step method |
getNumOutputs | Number of outputs from step method |
isLocked | Locked status for input attributes and nontunable properties |
release | Allow property value and input characteristics changes |
reset | Reset states of CPM modulator object |
step | Modulate using CPM method |
This object implements the algorithm, inputs, and outputs described on the CPM Modulator Baseband block reference page. The object properties correspond to the block parameters.