f16pskdemod: 16-PSK Demodulator

Description Usage Arguments Value See Also Examples

Description

Receives a vector of complex values, r, corresponding to an 8-PSK modulated signal transmitted through a communications channel (e.g., signal plus noise). Three bits are output for each received symbol according to the following decision rules

input output
-π/16 ≥ Arg(r) < π/16 0000
π/16 ≥ Arg(r) < 3 π/16 0001
3 π/16 ≥ Arg(r) < 5 π/16 0011
5 π/16 ≥ Arg(r) < 7 π/16 0010
7 π/16 ≥ Arg(r) < 9 π/16 0110
9 π/16 ≥ Arg(r) < 11 π/16 0111
11 π/16 ≥ Arg(r) < 13 π/16 0101
13 π/16 ≥ Arg(r) < 15 π/16 0100
15 π/16 ≥ Arg(r) < 17 π/16 1100
-15 π/16 ≥ Arg(r) < -13 π/16 1101
-13 π/16 ≥ Arg(r) < -11 π/16 1111
-11 π/16 ≥ Arg(r) < -9 π/16 1110
-9 π/16 ≥ Arg(r) < -7 π/16 1010
-7 π/16 ≥ Arg(r) < -5 π/16 1011
-5 π/16 ≥ Arg(r) < -3 π/16 1001
-3 π/16 ≥ Arg(r) < - π/16 1000

Usage

1

Arguments

r

- received signal

Value

returns a vector of 1's and 0's, 3 bits per input element (i.e., 8-PSK symbol)

See Also

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
M=16
Es=1
Eb = Es/log2(M)
Nsymbols=20
Nbits=log2(M)*Nsymbols
bits <- sample(0:1,Nbits, replace=TRUE)
s <- f16pskmod(bits)
EbNodB=7
No = Eb/(10^(EbNodB/10))
n <- fNo(Nsymbols,No,type="complex")
r <- s+n
bitsr <- f16pskdemod(r)
biterrs<-bits[bitsr!=bits]
b<-factor(bits)
Pberr=length(biterrs)/length(bits)

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