Main Content

CPFSK Demodulator Baseband

Demodulate CPFSK-modulated data

Library

CPM, in Digital Baseband sublibrary of Modulation

  • CPFSK Demodulator Baseband block

Description

The CPFSK Demodulator Baseband block demodulates a signal that was modulated using the continuous phase frequency shift keying method. The input to this block is a baseband representation of the modulated signal. TheM-ary numberparameter,M, is the size of the input alphabet.Mmust have the form 2Kfor some positive integerK.

This block supports multi-hModulation index. SeeCPM Modulator Basebandfor details.

Integer-Valued Signals and Binary-Valued Signals

When you set theOutput typeparameter toInteger,然后e block produces odd integers between -(M-1) and M-1.

When you set theOutput typeparameter toBit,然后e block produces groupings ofKbits. Each grouping is called a binaryword.

In binary output mode, the block first maps each input symbol to an intermediate value as in the integer output mode. The block then maps the odd integer k to the nonnegative integer (k+M-1)/2. Finally, the block maps each nonnegative integer to a binary word, using a mapping that depends on whether theSymbol set orderingparameter is set toBinaryorGray.

This block accepts a scalar-valued or column vector input signal with a data type ofsingleordouble.

Single-Rate Processing

In single-rate processing mode, the input and output signals have the same port sample time. The block implicitly implements the rate change by making a size change at the output when compared to the input. The input width must be an integer multiple of theSamples per symbolparameter value, and the input can be a column vector.

  • When you setOutput typetoBit, the output width isKtimes the number of input symbols.

  • When you setOutput typetoInteger, the output width is the number of input symbols.

Multirate Processing

In multirate processing mode, the input and output signals have different port sample times. The input must be a scalar. The output symbol time is the product of the input sample time and theSamples per symbolparameter value.

  • When you setOutput typetoBit, the output width equals the number of bits per symbol.

  • When you setOutput typetoInteger, the output is a scalar.

Traceback Depth and Output Delays

Internally, this block creates a trellis description of the modulation scheme and uses the Viterbi algorithm. TheTraceback depthparameter,D, in this block is the number of trellis branches that the algorithm uses to construct each traceback path.Dinfluences the output delay, which is the number of zero symbols that precede the first meaningful demodulated value in the output.

  • When you set theRate optionsparameter toAllow multirate processing, and the model uses a variable-step solver or a fixed-step solver with theTasking Modeparameter set toSingleTasking,然后e delay consists of D+1 zero symbols.

  • When you set theRate optionsparameter toEnforce single-rate processing,然后e delay consists of D zero symbols.

The optimalTraceback depthparameter value is dependent on minimum squared Euclidean distance calculations. Alternatively, a typical value, dependent on the number of states, can be chosen using the “five-times-the-constraint-length” rule, which corresponds to 5·log2(numStates).

For the definition of the number of states, seeCPM Demodulator BasebandHelp page.

Parameters

M-ary number

The size of the alphabet.

Output type

Determines whether the output consists of integers or groups of bits.

Symbol set ordering

Determines how the block maps each integer to a group of output bits. This field is active only whenOutput typeis set toBit.

Modulation index

Specify the modulation index {hi}. The default is0.5. The value of this property must be a real, nonnegative scalar or column vector.

This block supports multi-hModulation index. SeeCPM Modulator Basebandfor details.

Phase offset (rad)

The initial phase of the modulated waveform.

Samples per symbol

The number of input samples that represent each modulated symbol, which must be a positive integer. For more information, seeUpsample Signals and Rate ChangesinCommunications Toolbox™ User's Guide.

Rate options

Select the rate processing method for the block.

  • Enforce single-rate processing— When you select this option, the input and output signals have the same port sample time. The block implements the rate change by making a size change at the output when compared to the input. The output width is the number of symbols (which is given by dividing the input length by theSamples per symbolparameter value when theOutput typeparameter is set toInteger).

  • Allow multirate processing— When you select this option, the input and output signals have different port sample times. The output period is the same as the symbol period and equals the product of the input period and theSamples per symbolparameter value.

For more information, see Single-Rate Processing and Multirate Processing in the Description section of this page.

Traceback depth

The number of trellis branches that the CPFSK Demodulator Baseband block uses to construct each traceback path.

Output datatype

The output data type can beboolean,int8,int16,int32, ordouble.

Supported Data Types

Port Supported Data Types

Input

  • Double-precision floating point

  • Single-precision floating point

Output

  • Double-precision floating point

  • Boolean (WhenOutput typeset toBit)

  • 8-, 16-, and 32-bit signed integers (WhenOutput typeset toInteger)

References

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

Extended Capabilities

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

Introduced before R2006a