Ber Awgn
Ber Awgn
Vahid Meghdadi
reference: Wireless Communications by Andrea Goldsmith
January 2008
1.1
(1)
where x {A, A}, n CN (0, 2 ) and 2 = N0 . The real part of the above
equation is yre = x + nre where nre N (0, 2 /2) = N (0, N0 /2). In BPSK
constellation dmin = 2A and b is defined as Eb /N0 and sometimes it is called
SNR per bit. With this definition we have:
b :=
Eb
A2
d2
=
= min
N0
N0
4N0
(2)
Pb = P {n > A} =
2 2 /2
2x2 /2
s
p
2
dmin
d
min
=Q
Pb = Q
=Q
2b
2N0
2N0
(3)
(4)
1.2
x2
2
dx
(5)
Ps = 1 [1 Q ( s )]2
(8)
We can use the union bound to give an upper bound for SER of QPSK. Regarding figure 1, condition that the symbol zero is sent, the probability of error is
bounded by the sum of probabilities of 0 1, 0 2 and 0 3. We can write:
p
p
p
Ps Q(d01 / 2N0 ) + Q(d02 / 2N0 ) + Q(d03 / 2N0 )
(9)
p
p
Ps 2Q( s ) + Q( 2s ) 3Q( s )
(11)
we obtain:
Ps
3
e0.5s
2s
(12)
(13)
Using Gray coding and assuming that for high signal to noise ratio the errors
occur only for the nearest neighbor, Pb can be approximated from Ps by Pb
Ps /2.
1.3
Ps 2Q
2s sin(/M )
(14)
= 2Q
= 2Q
2N0
2N0
This approximation is only good for high SNR.
1.4
The SER for a rectangular M-QAM (16-QAM, 64-QAM, 256-QAM etc) with
size L = M 2 can be calculated by considering two M-PAM on in-phase and
quadrature components (see figure 3 for 16-QAM constellation). The error
probability of QAM symbol is obtained by the error probability of each branch
(M-PAM) and is given by:
Ps = 1
2 (sqrtM 1)
Q
1
sqrtM
3 s
M 1
!!2
(15)
If we use the nearest neighbor approximation for an M-QAM rectangular constellation, there are 4 nearest neighbors with distance dmin . So the SER for
high SNR can be approximated by:
c
(16)
In order to calculate the mean energy per transmitted symbol, it can be seen
that
M
1 X 2
Es =
A
(17)
M i=1 i
Ps (s )
Ps 2Q s
Ps 2Q 2s sin
q
3 s
Ps 4Q
M 1
Pb (b )
Pb = Q 2b
Pb Q 2b p
Pb log2 M Q
2 log2 M sin
2
q b
3 b log2 M
Pb log4 M Q
M 1
Table 1: Approximate symbol and bit error probabilities for coherent modulation
Using the fact that Ai = (ai + bi ) and ai and bi {2i 1 L} for i = 1, ..., L.
After some simple calculations we obtain:
Es =
L
d2min X
(2i 1 L)2
2L i=1
(18)
For example for 16-QAM and dmin = 2 the E s = 10. For 64-QAM and dmin = 2
the E s = 21.
1.5
conclusion
The approximations or exact values for SER has the following form:
p
Ps (s ) M Q
M s
(19)
s
log2 M
and Pb
Ps
log2 M .
1.6
Appendix
In this appendix the reference curve for AWGN channel is presented in figure
4. As we expected , the results for BPQK and QPSK are the same.
Gaussian Channel
10
BPSK
QPSK
8PSK
16QAM
10
10
BER
10
10
10
10
10
10
10
12
14
16
18
Eb/N0 (dB)
Figure 4: BER over AWGN channel for BPSK, QPSK, 8PSK and 16QAM
The following matlab program illustrates the BER calculations for BPSK
over an AWGN channel.
%BPSK BER
const=[1 -1];
size=100000;
iter_max=1000;
EbN0_min=0;
EbN0_max=10;
SNR=[];BER=[];
for EbN0 = EbN0_min:EbN0_max
EbN0_lin=10.^(0.1*EbN0);
noise_var=0.5/(EbN0_lin); % s^2=N0/2
iter = 0;
err = 0;
while (iter <iter_max && err <100),
bits=randsrc(1,size,[0 1]);
s=const(bits+1);
x = s + sqrt(noise_var)*randn(1,size);
bit_hat=(-sign(x)+1)/2;
err = err + sum(bits ~= bit_hat);
iter = iter + 1;
5
end
SNR =[SNR EbN0];
BER = [BER err/(size*iter)];
end
semilogy(SNR,BER);grid;xlabel(E_bN_0);ylabel(BER);
title(BPSK over AWGN channel);
The following program uses some advanced functions of matlab to evaluate the
symbol error rate for QPSK modulation:
M = 4; % Alphabet size
EbN0_min=0;EbN0_max=10;step=2;
SNR=[];SER=[];
for EbN0 = EbN0_min:step:EbN0_max
SNR_dB=EbN0 + 3; %for QPSK Eb/N0=0.5*Es/N0=0.5*SNR
x = randint(1000000,1,M);
y=modulate(modem.qammod(M),x);
ynoisy = awgn(y,SNR_dB,measured);
z=demodulate(modem.qamdemod(M),ynoisy);
[num,rt]= symerr(x,z);
SNR=[SNR EbN0];
SER=[SER rt];
end;
semilogy(SNR,SER);grid;titel(Symbol error rate for QPSK over AWGN);
xlabel(E_b/N_0);ylabel(SER);
2.1
Pb (E|)p ()d
0
(21)
(22)
(23)
Using BPSK modulation and since the information are real, only the real part
of the equation is of interest. So the following sufficient statistic is used for
decision at the receiver.
h
y = |h|x + n
(24)
<
|h|
The noise n has the same statistics as <w because h /|h| = exp(j) with
uniformly distributed in (0, ), therefore n CN (0, N0 /2). This equation
shows that we have a normal AWGN channel with the signal scaled by |h|.
The bit error probability as seen before for this case, given h, will be:
p
Pb = Q
2|h|2 b
Now, we compute the SER by averaging this BER over the distribution of h.
Since h is complex Gaussian, the distribution of r = |h|2 will be exponential
with:
Pr (r)
=
=
d
P (h2r + h2i < r)
dr
!
Z 2 Z r
d
1
x2
e
xdxd
dr
21/2
0
0
d
1 er
dr
= er U (r)
=
1 /b
e
b
p
1
Q( 2) e/b d
b
Using the following form of Q-function and MGF function, the integral can eb
calculated.
Z
1 /2
x2
Q(x) =
exp(
)d
0
2 sin2
r
1
b
pb =
1
2
1 + b
7
1 l /
e
At the output of combiner, the SNR follows the distribution of chi-square (or
gamma) with L degrees of freedom:
1
L1 et /
(L 1)!
L t
pt (t ) =
The average probability can be calculated using the integration by part and
resulting in the following formula:
Pb (E) =
2.2
2.2.1
1
2
L L1
X
l=0
L1+l
l
1+
2
l
MGF-based approach
Binary PSK
Q(x) =
x
2
Z
y
1 /2
x2
1
exp
dy =
exp
d
2
0
2 sin2
2
/2
exp(
0
gt
1
)d =
sin2
Z
0
L
/2 Y
exp(
l=1
gl
)d (25)
sin2
l=1
Z
0
L
/2 Y
l=1
M l
g
sin2
d
(27)
2.2.2
MPSK
For MPSK signaling the SER given all the SNRs is:
Ps (E|{l }L
l=1 ) =
Ps (E|{l }L
l=1 )
1
=
(M 1)/M
gt
exp 2
d
sin
L
(M 1)/M Y
gl
exp 2
d
sin
l=1
(28)
(29)