Main Content

GMSK Modulator Baseband

Modulate signal using Gaussian minimum shift keying method

  • GMSK Modulator Baseband block

Libraries:
Communications Toolbox / Modulation / Digital Baseband Modulation / CPM

Description

The GMSK Modulator Baseband block modulates an input signal using the Gaussian minimum shift keying (GMSK) method. The output is a baseband representation of the modulated signal. For more information about the modulation and the filtering applied, see Algorithms.

Examples

expand all

The cm_gmsk_vs_msk model compares Gaussian minimum shift keying (GMSK) and minimum shift keying (MSK) modulation schemes.

The Random Integer Generator block provides a source of uniformly distributed random integers in the range [0, M-1], where M is the constellation size of the GMSK or MSK signal. The Unipolar to Bipolar Converter block maps a unipolar input signal to a bipolar output signal consisting of integers between -(M-1) and +(M-1). The bipolar data is routed to separate paths. The top path applies GMSK modulation by using the GMSK Modulator Baseband block. The bottom path applies MSK modulation by using the MSK Modulator Baseband block. Noise is added to both the GMSK and MSK signals by using AWGN Channel blocks. The Eye Diagram blocks are used to visualize eye diagrams of both signals.

The eye diagrams show the similarity between the GMSK and MSK signals when you set the initial pulse length of the GMSK Modulator Baseband block to 1.

To view the difference that a partial response modulation has on the eye diagram, set the initial pulse length in the GMSK modulator to 5. The increased pulse length results in an increase in the number of paths, showing that the CPM waveform depends on values of the previous symbols as well as the present symbol. Plot the eye diagram of the GMSK signal.

If you change the initial pulse length to an even number, such as 4, you should set the initial phase offset of the GMSK modulator to pi/4 and the offset argument of the eye diagram to 0 for a better view of the modulated signal. To more clearly view the Gaussian pulse shape, you must use scopes that enable you to view the phase of the signal, as described in the View CPM Phase Tree Using Simulink example.

Demodulate a GMSK-modulated signal impaired by AWGN and compute the bit error rate.

The cm_gmsk_mod_demod model generates random Bernoulli distributed binary data and then applies GMSK modulation to frames data. The GMSK-modulated signal passes through an AWGN channel and then is demodulated by using the GMSK method. The bit error rate is calculated on frames of data.

The Error Rate Calculation block has the receive delay set to the value of the traceback depth used by the GMSK Baseband Demodulator block. The model uses the Find Delay block to confirm the delay equals the value of the traceback depth.

Transmit to receive delay is 16 symbols.
BER = 8.3934e-05

Combine two 60 KHz frequency bands adjacent to each other.

Run the model to explore how combining the frames affects the signals. The model frequency shifts and combines frames of QPSK and GMSK baseband modulated signals. A spectrum analyzer displays the individual and combined signals.

Extended Examples

Ports

Input

expand all

Input signal, specified as a scalar or column vector. For more information, see Integer-Valued Signals and Binary-Valued Signals.

This port is unnamed on the block.

Data Types: double | Boolean | int8 | int16 | int32

Output

expand all

GMSK-modulated baseband signal, returned as a column vector. Use the Output data type parameter to specify the output data type. The modulated output symbols are oversampled by the Samples per symbol parameter value. For information on the processing rates, see Single-Rate Processing and Multirate Processing.

This port is unnamed on the block.

Data Types: double | single

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Integer or group-of-bits input indicator, specified as Integer or Bit.

  • Set this parameter to Integer to input data as integers.

  • Set this parameter to Bit to input data as bits.

For more information, see Integer-Valued Signals and Binary-Valued Signals.

Product of the bandwidth and symbol time of the Gaussian pulse shape, specified as a positive scalar. For more details, see Algorithms.

Length of the frequency pulse shape, specified as a positive integer. This parameter represents the truncated frequency pulse length of the Gaussian pulse shape in symbol intervals.

Symbol prehistory, specified as -1, 1, or a vector with elements equal to those values. This parameter defines the data symbols that the modulator uses before the block processes symbols, in reverse chronological order.

  • A scalar value expands to a vector of length LP – 1. LP represents the pulse length, which is specified by the Pulse length (symbol intervals) parameter.

  • For a vector, the length must be LP – 1.

Initial phase offset of the modulated waveform in radians, specified as a scalar.

Number of samples per output symbol, specified as a positive integer. The number of samples per symbol represents the upsampling factor from input samples to output samples. For more information, see Signal Upsampling and Rate Changes.

Block processing rate, specified as one of these options:

  • Enforce single-rate processing — The input and output signals have the same sample time. The block implements the rate change by making a size change at the output when compared to the input. The output width equals the product of the number of symbols and the Samples per symbol parameter value.

  • Allow multirate processing — The input and output signals have different sample times. The output sample time equals the symbol period divided by the Samples per symbol parameter value.

Data type of the output, specified as double or single.

Block Characteristics

Data Types

Boolean | double | integer | single

Multidimensional Signals

no

Variable-Size Signals

no

More About

expand all

Algorithms

expand all

References

[1] Anderson, John B., Tor Aulin, and Carl-Erik Sundberg. Digital Phase Modulation. New York: Plenum Press, 1986.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a