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

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

Parameters:
modulation: LinearModulation | NDArray[complex_]

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.

**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(figsize=(8, 4)); \
   ...: sdr.plot.symbol_map(qpsk.symbol_map);
   ...: 
../../_images/sdr_plot_symbol_map_1.png