Learn R Programming

rwirelesscom (version 1.4.3)

f8pskmod: 8-PSK Modulator

Description

Receives a vector of bits (1's and 0's). The received vector is mapped to in-phase (real) and quadrature (imaginary) components, according to a Binary Reflective Gray Code (BRGC, see reference). Each received pair of bits are are mapped to 8-PSK symbols, with $sqrt(Es)$ (symbol energy) = 1.The bit to symbol mapping is illustrated in the following constellation diagram.
input
output
000
$ 0 $
001
$ \pi/4 $
011
$ \pi/2$
010
$ 3 \pi/4$
110
$ pi$
111
$ -3 \pi/4$
101
$ - \pi/2$
100
$ - \pi/4$
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

f8pskmod(bits, Ns = 1, p = 1)

Arguments

bits
- 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 length = (length(bits) mod 3), 8-PSK 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; f64qammod; f8pskdemod; fNo; fbpskdemod; fbpskmod; fqpskdemod; iqdensityplot; iqscatterplot; stemplot

Examples

Run this code
M=8
Nsymbols=10
Nbits=log2(M)*Nsymbols
bits <- sample(0:1,Nbits, replace=TRUE)
s <- f8pskmod(bits)

Run the code above in your browser using DataLab