Learn R Programming

rwirelesscom (version 1.4.3)

f64qammod: 64-QAM Modulator

Description

Receives a vector of bits (1's and 0's). The received vector is mapped to an in-phase (real) and quadrature (imaginary) 64-QAM (6 bit) symbol according to a Binary Reflective Gray Code (BRGC, see reference). In-phase and quadrature constellation points take on values -7, -5, -3, -1, +1, +3, +5, +7, respectively, corresponding to a symbol energy Es = 42. Mapping of bits to 64-QAM constellation points is illustrated in the following constellation.
-7+7i -5+7i +3+7i -1+7i +1+7i +3+7i +5+7i
+7+7i (100000) (100001) (100011) (100010) (100110) (100111)
(100101) (100100)
-7+5i -5+5i +3+5i -1+5i +1+5i +3+5i
+5+5i +7+5i (101000) (101001) (101011) (101010) (101110)
(101111) (101101) (101100)
-7+3i -5+3i +3+3i -1+3i +1+3i
+3+3i +5+3i +7+3i (111000) (111001) (111011) (111010)
(111110) (111111) (111101) (111100)
-7+1i -5+1i +3+1i -1+1i
+1+1i +3+1i +5+1i +7+1i (110000) (110001) (110011)
(110010) (110110) (110111) (110101) (110100)
-7-1i -5-1i +3-1i
-1-1i +1-1i +3-1i +5-1i +7-1i (010000) (010001)
(010011) (010010) (010110) (010111) (010101) (010100)
-7-3i -5-3i
+3-3i -1-3i +1-3i +3-3i +5-3i +7-3i (011000)
(011001) (011011) (011010) (011110) (011111) (011101) (011100)
-7-5i
-5-5i +3-5i -1-5i +1-5i +3-5i +5-5i +7-5i
(001000) (001001) (001011) (001010) (001110) (001111) (001101)
(001100)
-7-7i -5-7i +3-7i -1-7i +1-7i +3-7i +5-7i
+7-7i -7+7i -5+7i +3+7i -1+7i +1+7i +3+7i
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

f64qammod(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 64-QAM symbols. If Ns > 1 then the returned signal is shaped with pulse shape, p.

See Also

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

Examples

Run this code
M=64
Es=42
Eb = Es/log2(M)
Nsymbols=1000
Nbits=log2(M)*Nsymbols
bits <- sample(0:1,Nbits, replace=TRUE)
s <- f64qammod(bits)

Run the code above in your browser using DataLab