sdr.plot.symbol_map(modulation: LinearModulation | ArrayLike, annotate: bool | 'bin' = True, limits: tuple[float, float] | None = None, ax: plt.Axes | None = None, **kwargs)

Plots the symbol map of the complex symbols \(\hat{x}[k]\).

Parameters:
modulation: LinearModulation | ArrayLike

The linear modulation or symbol map \(\{0, \dots, M-1\} \mapsto \mathbb{C}\).

annotate: bool | 'bin' = True

If True, the symbols are annotated with their index. If "bin", the symbols are annotated with their binary representation.

limits: tuple[float, float] | None = None

The axis limits, which apply to both the x- and y-axis. If None, the axis limits are set to 50% larger than the maximum value.

ax: plt.Axes | None = None

The axis to plot on. If None, the current axis is used.

**kwargs

Additional keyword arguments to pass to matplotlib.pyplot.plot(). The following keyword arguments are set by default. The defaults may be overwritten.

  • "marker": "x"

  • "markersize": 6

  • "linestyle": "none"

Example

Display the symbol mapping for Gray-coded QPSK.

In [1]: qpsk = sdr.PSK(4, phase_offset=45)

In [2]: plt.figure(); \
   ...: sdr.plot.symbol_map(qpsk.symbol_map)
   ...: 
../../_images/sdr_plot_symbol_map_1.png