property sdr.PSK.symbol_map : NDArray[np.complex_]

The symbol map \(\{0, \dots, M-1\} \mapsto \mathbb{C}\). This maps decimal symbols from \(0\) to \(M-1\) to complex symbols.

Examples

See the Phase-shift keying example.

The default Gray-coded symbols. Adjacent symbols only differ by one bit.

In [1]: psk = sdr.PSK(8); \
   ...: psk.symbol_map
   ...: 
Out[1]: 
array([ 1.00000000e+00+0.00000000e+00j,  7.07106781e-01+7.07106781e-01j,
       -7.07106781e-01+7.07106781e-01j,  6.12323400e-17+1.00000000e+00j,
        7.07106781e-01-7.07106781e-01j, -1.83697020e-16-1.00000000e+00j,
       -1.00000000e+00+1.22464680e-16j, -7.07106781e-01-7.07106781e-01j])

In [2]: plt.figure(figsize=(8, 4)); \
   ...: sdr.plot.symbol_map(psk.symbol_map, annotate="bin");
   ...: 
../../_images/sdr_psk_symbol_map_1.png

The binary-coded symbols. Adjacent symbols may differ by more than one bit.

In [3]: psk = sdr.PSK(8, symbol_labels="bin"); \
   ...: psk.symbol_map
   ...: 
Out[3]: 
array([ 1.00000000e+00+0.00000000e+00j,  7.07106781e-01+7.07106781e-01j,
        6.12323400e-17+1.00000000e+00j, -7.07106781e-01+7.07106781e-01j,
       -1.00000000e+00+1.22464680e-16j, -7.07106781e-01-7.07106781e-01j,
       -1.83697020e-16-1.00000000e+00j,  7.07106781e-01-7.07106781e-01j])

In [4]: plt.figure(figsize=(8, 4)); \
   ...: sdr.plot.symbol_map(psk.symbol_map, annotate="bin");
   ...: 
../../_images/sdr_psk_symbol_map_2.png