symmap

Maps a binary sequence to a symbol sequence

Calling sequence

x = symmap(b,k[,enc])

Parameters

b:

Input binary sequence (must be a vector of 0.0 and 1.0)

k:

Number of bits / symbol

enc:

Specify binary ('b', default), phase ('p'), or qam ('q') encoding

x:

Output symbol vector (real or complex)

Description

Maps a binary sequence (sequence of 0 or 1) to a sequence of symbols, using one of the following possible encodings:

  • Binary encoding (PAM / NRZ) / enc = 'b': produces a vector of real symbols, uniformly distribued between -1 and 1 (if k = 2, only -1 and 1 are produced, e.g. NRZ encoding).
  • Phase encoding (PSK) / enc = 'p': produces complex symbols of unit magnitude and uniformly distribued phase between 0 and radians (for k = 1 bit/symbol, this is BPSK, which symbols are identical to NRZ, for k = 2 bits/symbol, this is QPSK, ...).
  • Quadrature amplitude Encoding (QAM) / enc = 'q': produces complex symbols where real and imaginary parts of the signal are independently modulated using each one half of the bitstream.

Example

x1 = symmap([0 1 0 0], 1, 'b') // NRZ encoding
x2 = symmap([0 1 0 0], 2, 'p') // QPSK encoding


See also