Receives a vector of bits (1's and 0's). The received vector is mapped
to an in-phase (real) and quadrature (imaginary) 16-QAM (4 bit) symbol according to a
a Binary Reflective Gray Code (BRGC, see reference). Each symbol has an average
symbol energy Es = 10, where in-phase and quadrature constellation points
take on values -3, -1, +1, +3, respectively. The bit to symbol mapping is illustrated in the following constellation diagram.
-3+3i
-1+3i
+1+3i
+3+3i
(1000)
(1001)
(1011)
(1010)
-3+1i
-1+1i
+1+1i
+3+1i
(1100)
(1101)
(1111)
(1110)
-3-1i
-1-1i
+1-1i
+3-1i
(0100)
(0101)
(0111)
(0110)
-3-3i
-1-3i
+1-3i
+3-3i
-3+3i
-1+3i
Reference: E. Agrell, J Lassing, E. Strom, and T. Ottosson, Gray Coding for Multilevel Constellations In Gaussian Noise, IEEE Transactions on Communications, Vol. 53, No. 1, January 2007
Usage
f16qammod(bits, Ns = 1, p = 1)
Arguments
bits
- received vector of bits (0's and 1's).
Ns
- N samples per symbol (default, Ns = 1)
p
- a vector defining the pulse shape of the transmitted waveform (default, p = 1)
Value
Returns a complex vector of 16-QAM symbols. If Ns > 1
then the returned signal is shaped with pulse shape, p.