f16qammod: 16-QAM Modulator

Description Usage Arguments Value See Also Examples

Description

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
(0000) (0001) (0011) (0010)

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

1
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.

See Also

Other rwirelesscom functions: eyediagram; f16pskdemod; f16pskmod; f16qamdemod; f64qamdemod; f64qammod; f8pskdemod; f8pskmod; fNo; fbpskdemod; fbpskmod; fqpskdemod; iqdensityplot; iqscatterplot; stemplot

Examples

1
2
3
4
5
M=16
Nsymbols=100
Nbits=log2(M)*Nsymbols
bits <- sample(0:1,Nbits, replace=TRUE)
s <- f16qammod(bits)

rwirelesscom documentation built on April 14, 2017, 2:22 p.m.