Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Modulate using M-ary phase shift keying

**Library:**Modulation / Digital Baseband Modulation / PM

The M-PSK Modulator Baseband block modulates
an input signal using M-ary phase shift keying (PSK) and returns a
complex baseband output. The modulation order, * M*,
which is equivalent to the number of points in the signal constellation,
is determined by the

The M-PSK Modulator Baseband block provides the capability to visualize a signal constellation from the block mask. Clicking the

**View Constellation**button allows you to visualize a signal constellation for the specified block parameters.This block supports HDL code generation using HDL Coder™. HDL Coder provides additional configuration options that affect HDL implementation and synthesized logic. For more information on implementations, properties, and restrictions for HDL code generation, see M-PSK Modulator Baseband in the HDL Coder documentation.

The block outputs a baseband signal by mapping input bits or integers to complex symbols according to the following:

$${s}_{n}(t)=\mathrm{exp}\left(j\pi \left(\frac{2n+1}{M}\right)\right);\text{\hspace{1em}}n\in \{0,1,\dots ,M-1\}.$$

This applies when a natural binary ordering is used. Another common mapping is Gray coding, which has the advantage that only one bit changes between adjacent constellation points. This results in better bit error rate performance. For 8-PSK modulation with Gray coding, the mapping between the input and output symbols is shown.

Input | Output |
---|---|

0 | 0 (000) |

1 | 1 (001) |

2 | 3 (011) |

3 | 2 (010) |

4 | 6 (110) |

5 | 7 (111) |

6 | 5 (101) |

7 | 4 (100) |

The corresponding constellation diagram follows.

When the input signal is composed of bits, the block accepts
binary-valued inputs that represent integers. The block collects binary-valued
signals into groups of *log _{2}(M)* bits.

Was this topic helpful?