Gray Code
Gray Code
s m (t ) = ∑ Am e jθ m g (t − mT )e j 2πfc t
m (7-1)
= Am g (t )[cos(2πf c t + θ m ) + sin (2πf c t + θ m )]
Where Am = (AI2 + AQ 2 )1/2. And AI and AQ are information bearing signal amplitudes of the
quadrature carriers g(t) is the signal pulse. In the other book reference the parameter Am.g(t) is
simplified as Am(t), which indicate a modulation amplitude. The parameter θm which indicate a
phase modulation, has a value:
θm = tan-1 (AQ /AI) (7-2)
We may choose any combination of M 1 -level PAM and M2 -level PSK to give an M=M 1M 2
level QAM signal constellation. Figure (7.1) shows some rectangular signal constellations for
different values of M. The optimum signal constellation will be that which requires the least
average power for a given minimum distance between signal points. For M=4 this will be when
the four points lie on a circle and the resulting signal constellation is the same as that for QPSK.
For M=8 the optimal signal constellation consists of the points lying on two circles as indicated
in Figure (7.2).
For M=16 there are many more ways of building up the signal constellation however
rectangular signal constellations as shown in Figure (7.3a) have the distinct advantage that they
can be generate as two PAM signal impressed on the phase quadrature carriers and they are
easily demodulated. We say it as 16QAM by rectangular constellation or in some book call as
square constellation. Also for M=16 the average transmitter power required for the rectangular
constellation is only slightly worse than the best M-ary QAM signal constellation. The signal
output of 16QAM has general form as like Figure (7.3b).
Q V(t)
A3 +A3
+A2
A2
+A1
A1 I t
-A1
-A2
-A3
Figure (7.3). The rectangular constellation of 16 QAM and signal output of 16QAM
The transmitter of 16QAM as the Figure (7.4). By assumption that signal input is a
sequence of 4 bits pair, the next process is serial to parallel conversion. Two MSB bits in Q
channel, and the others are in I channel. The parallel bit information encoded by using Gray
code. The next process is mapping to 16QAM rectangular constellation (more detail in the
section 7.1.2). Each channel modulates the amplitude of carrier signal. I channel modulates the
sinusoid signal that has initial phase π/2 radiant (cos2πf ct), then called as in-phase channel. Q
channel modulates the sinusoid signal that has initial phase 0 radiant (sin2πf ct) and then called
as quadrature channel. The carrier-modulated signal are summing and transmitting.
Product
I channel
Gray
Constellation mapping
16QAM Rectangular
Code
cos(2πf ct )
Info S- P
Generator Conversion
π/2
Gray
Code Q channel
Product
Figure (7.4) 16QAM Transmitter
-3 00
0000 0001 0010 0011 -3 00 0000 0001 0011 0010
00 01 10 11 I channel 00 01 11 10
I channel
-3 -1 0 +1 +3 -3 -1 0 +1 +3
Figure (7.5) The 16 QAM Rectangular Constellation by Natural and 2D Gray Coded
- If the Q bits information is 00, bits information of I channel are placed same with the QPSK
- If the value of Q bits information are 01, I bits information are placed at quadrant II and
If we have sequence input: 0010, 1000,1111,0101. The 2 bits pair outputs of Q channel are
00 with the signal point at quadrant I, 11 with the signal point at quadrant III, 10 with the signal
point at quadrant IV, and 01 with the signal point at quadrant II. The 2 bits pair outputs of I
channel are 11 not rotate from QPSK original position, 00 rotated π radiant from QPSK original
position, 10 rotated –π/2 radiant from original QPSK position, and 01 rotated π/2 radiant from
original QPSK position. The2 bits pair input, naturally coded and Q channel representative are
like in the Table 2.
Table 2. Bit input and channel output of 16QAM as sum of QPSK
Bits pair 16QAM as sum of QPSK
input
Q channel out I channel out
Q I Q I
put put
00 00 00 +3 sin(2πfct) 00 +3 cos(2πfct)
00 01 00 +3 sin(2πfct) 01 +1 cos(2πfct)
00 10 00 +1 sin(2πfct) 11 +1 cos(2πfct)
00 11 00 +1 sin(2πfct) 10 +3 cos(2πfct)
01 00 01 +3 sin(2πfct) 00 -3 cos(2πfct)
01 01 01 +1 sin(2πfct) 01 -3 cos(2πfct)
01 10 01 +1 sin(2πfct) 11 -1 cos(2πfct)
01 11 01 +3 sin(2πfct) 10 -1 cos(2πfct)
10 00 11 -3 sin(2πfct) 00 -3 cos(2πfct)
10 01 11 -3 sin(2πfct) 01 -1 cos(2πfct)
10 10 11 -1 sin(2πfct) 11 -1 cos(2πfct)
10 11 11 -1 sin(2πfct) 10 -3 cos(2πfct)
11 00 10 -3 sin(2πfct) 00 +3 cos(2πfct)
11 01 10 -1 sin(2πfct) 01 +3 cos(2πfct)
11 10 10 -1 sin(2πfct) 11 +1 cos(2πfct)
I m info: 01 I I m info: 00
Q
00 10 m 01 00
+3
Re
01 11 11 10
+1
I
0
10 11 11 01
-1
00 01 10 00
-3
I m info: 11 I m info: 10
s1 s1
Q channel input
Differential
Encoder EXOR-1
QPSK
s1 s1
EXOR-3
I channel output
s2 s2
I channel input
EXOR-2
AND
s2 s2
EXOR-4
By using the rule transition of DQPSK system, mapping of constellation point in the 16
QAM of Q bits information is:
- If the Q bits information are 00, there is no transition.
- If the value of Q bits information is 01, is rotated π/2 radiant from previous position.
- If the value of Q bits information is 11, is rotated π radiant from previous position.
- If the value of Q bits information are 10, is rotated - π /2 radiant from previous position.
For initial condition is made by assumption that 2 bits at Q channel are s11_0 = 0 and s11_0 = 00.
The transition point for I channel based on the logic circuit at Figure (7.7). The output of I
channel is a function of the output from Differential Encoding of Q channel and bits information
input of I channel.
If we have a sequence input: 0010, 1000,1111,0101. The 2 bits pair inputs of Q channel after
gray coding are 00, 11, 10, and 01. The Q channel output for after differential-encoding process
is 00, 11, 01, and 11. I channel inputs after gray coding are 10, 00, 11, and 01. Based on Figure
(1.7) we will know that the output of I channel are 10, 00, 11, and 01.
Im
Q channel
Im
00 10 01 00
+3
1 01 11 11 10
3 3
+1 1
0 Re
Re
10 11 11 01
-1
00 01 10 00
-3 2 4
2 4
I channel
Based on the constellation signa l as Figure (7.8b), the outputs of modulator Q channel are
+1sin(2πf ct), -3sin(2πf ct), +1sin(2πf ct), and -3sin(2πf ct). The outputs of modulator I channel are
+3cos(2πf ct), -3cos(2πf ct), -1cos(2πf ct), and -1cos (2πf ct). By using equation (1-1) we will get
the output of transmitter is 101/2 exp (2πf ct + 22.5o ), 181/2 exp (2πf ct + 225o ), 21/2 exp (2πf ct +
135o ), and 101/2 exp (2πf ct + 247.5o ).
Product
I channel
LPF Gray
Decode
Local carrier ?
16QAM Detection and
P -S Information
Conversion recover
Received signal
r(t) π/2
Gray
LPF Decode
Q channel
Product
After filtering process by using LPF, the PAM signal of each channel is detected to make a
decision of their levels. The next process is de-mapping, and these stages depend on the
mapping system that used by transmitter part. If the mapping system in transmitter part using
natural binary code, the de-mapping at receiver must use natural binary decode, so with 2 D
gray code, sum of QPSK and sum of DQPSK de -mapping system.
decode by using Natural binary code. If the received signal is 101/2 exp(2πf ct + 247.5o ),
101/2 exp(2πf ct + 157.5o ), 181/2 exp(2πf ct + 45o ), and 21/2exp(2πf ct + 225o ). After demodulation and
LPF process the output from Q channel output are -3, +1, +3, and -1. Normalizing the level will
change the Q channel output be 0, 2, 3, and 1. By using binary decode we will get the output as
00, 10, 11 and 01. At I channel demodulation and LPF process give the output at I channel as
are +1, -3, +3, and -1. Normalizing the level will change the Q channel output be 2, 0, 3, and 1.
By using binary decode we will get the output as 10, 00, 11 and 01. By using parallel to serial
conversion the output of bit recovery is 0010, 1000,1111, and 0101.
• 2 D gray Decode
In this technique similar with Natural binary code, but in this technique use Gray Decode.
After the process in demodulator and LPF, the PAM signal output is decoded by using gray
decode. If the received signal 101/2 exp(2πf ct + 247.5o ), 101/2 exp(2πf ct + 157.5o ), 181/2 exp(2πf ct +
45o ), and 21/2 exp(2πf ct + 225o ).
After demodulation and LPF process the output from Q channel output is -3, +1, +3, and -
1. Normalizing the level will change the Q channel output be 0, 2, 3, and 1. De-mapping process
by using 2D gray will give the output at Q channel as 00, 11, 10 and 01. By using gray decode
we will get the output will be 00, 10, 11, and 01. At I channel demodulation and LPF process
give the output at I channel as are +1, -3, +3, and –1. Normalizing the level will change I
channel output be 2, 0, 3, and 1. De-mapping process by using 2D gray will give the output at I
channel as 11, 00, 10 and 01. By using gray decode we will get the output as 10, 00, 11 and 01.
After parallel to serial conversion the output of bit recovery are 0010, 1000,1111, and 0101.
Q channel output
s1 s1
Q channel input
Differential EXOR-1
Decoder
QPSK
s1 s1
EXOR-3
s2
I channel output
s2
I channel input
EXOR-2
AND
s2 s2
EXOR-4
In the AWGN channel, each channel of 16QAM (In-phase and Quadrature or in the some
books reference is called as Real and Imaginary) will disturbed by two independent additive
noise which Gaussian random.
The signal transmission of 16QAM system is:
s(t) = Re(t) + Im(t)
Where Re(t) is represent the I channel of 16QAM and Im(t) is represent the Q channel of
16QAM. The noise generate from AWGN channel is:
n(t) = nre(t) + nim (t)
The addition process in the channel will make the received signal at receiver part as
r(t) = s(t) + n(t)
= [Re(t) + nre(t)] + [Im(t) + nim (t)] (1-5)
Im
δ
A
A r2 r1 Re
r3
A
To evaluate the performance of 16QAM in the AWGN channel, it must consider its
constellation signal. By modification Figure (7.2) we will get three groups with different energy
average. The distance between two nearest signals is δ, in this case is represent the energy
different between two nearest point signals.
- For group A 1 with r1 = 2δ 2 , the energy average each signal equivalent with r1 2 = δ 2 /2.
- For group A2 with r2 = 5 2δ , the energy average each signal equivalent with r2 2 = 5δ2 /2.
- For group A2 with r2 = 2 (3/2) δ 2 , the energy average each signal equivalent with r2 2 =
9δ 2 /2.
The total energy for 16-signal point of 16QAM rectangular constellation is:
Etot = (4 x δ2 /2) + (8 x 5δ 2 /2) + (4 x 9δ 2 /2). (7-6)
Performance of 16QAM system in the AWGN channel in the case of symbol error can be
evaluated as a function of error function of Energy to noise ratio, and expressed as:
M −1
Ps = 2 erfc
3 Es = 2 16 − 1 erfc 3 4 Eb
M 2 (M − 1) No
16
2(16 − 1) No
3 2 E b
= erfc (7-10)
2 5 No
By include the value in equation (7-9) we will get the value of symbol error probability as:
3 25δ2
Ps = erfc (7-11)
2 5 8σ 2
And the bit error probability is
3 2 5δ2
Pb = erfc (7-12)
8 58σ2
The symbol error probability performance of 16QAM system in the AWGN channel as a
function of energy per bit to noise ratio can be described as Figure (7.13).
1
'QPSKQAMt.txt'
0.1
0.01
Bit error probability, Pb
0.001
0.0001
1e-05
1e-06
6 8 10 12 14
Eb/No in dB
Amplitude
Product1 Detector
LPF
Acos(2pfcTt+φi) Addition1 Product5
cos(2πfcRt+φest)
I
ch LPF
Product2
Product7 S/H
Addition2
sin(2πf cRt+φest)
Product6
Product3
LPF
+ Substraction2
Asin(2pfcTt+φi)
Q cos(2πfcRt+φest) −
ch
Substraction1
LPF
Product4 Amplitude Detector
sin(2πf cRt+φest)
• Carrier-phase detector
In QPSK system the transmission signal is content of Real (Re) and Imaginary (Im) part:
s(t) = A Recos(2πf cTt +φ i ) + AImcos(2πf cTt +φi ).
In this case the average value of ARe and AIm is 1. The synchronization process by using Costas
Loop is as Figure (7.14). In synchronization process for 16QAM each channel is multiply by
cos(2πf cRt +φ est ) and sin(2πf cRt +φ est )
The low pass filter process will give the output as:
yLPF4 (t) = (1/2)cos{2π( f cT - f cR)t + (φi - φ est )}= (1/2)cos(2π ∆f t + ∆φ t )
It is known as error signal into the loop filter of QPSK carrier-phase recovery, and used to drive
the VCO.
The new output phase of VCO is given as
t
or (7-14)
t
t
θ e ( t ) = (2πf cT t + φ i ) − 2πf cR t + φ est + K ∫ sin (4( 2π∆ft + ∆φ ) )dt
0
d (θ e ( t ) )
= (2πf cT − 2πf cR ) − K sin (4( 2π∆ft + ∆φ ) )
dt
If f cT = f cR and letting K =1, the time derivative of the loop phase error is given by
d (θ e ( t ) )
= − sin (4∆φ ) (7-15)
dt
The null value will be happen at 0,π/2, π, 3π/2 radiant, and it’s known as four phase ambiguity
of phase-carrier recovery at 16QAM system.
• Amplitude detector
Consider the constellation signal in Figure (7.12). It can be modified as Figure (7.15). In its
figure, there is:
- Group A consists of signals that have amplitude value: amplitude< or amplitude > 14.
- Group B consists of signals that have amplitude value: 6 < amplitude < 14.
Group B
6 < (I’)2 + (Q’)2 < 14
If the received signal is group A, the group detector drive sample and hold (S/H) to make an
action for the phase detected by carrier-phase recovery is used and hold its value. In the case
where the received signal is group B, the group detector drive S/H to make an action that the
phase detected by carrier-phase recovery is unavailable and used the previous phase detected
from previous carrier-phase recovery process.
The carrier-phase recovery for 16QAM is only capable to detect the phase of received signal
in the group A, but this system can’t detect the phase of the received signal in the group B.
Im channel
Re channel
Error rate Error
count detect
AWGN
generation
I_Q De-map
Synchronization
∆φ
7.2.1. Algorithm
The simulation of 16QAM through AWGN channel involving several functions as follows:
• Info Generator
Bit information generated randomly by info generator function. The random number
generated is set value 0,1,2 ~ 15, as the integer number to represent PAM signal. By using a
command (int)rand%16; of the Microsoft C, it will generate a number from 0 ~15 uniform
randomly.
• I - Q Channel Mapping
This function consists of three parts in the Figure (7.16): I_Q Map, Gray Code and Symbol
Transmit.
• The I_Q Map. In this program we denote I channel as Real (Re) channel and Q channel
we denote as Imaginary (Im) channel. The information will be mapped into Re and Im
channel. The decimal value is converted to binary, the two MSB is mapped into Im
channel, and the two LSB is mapped into Re channel. Based on the Figure (7.17a) we
will understand that if the information value is 0 the two bits pair generates is 0000, the
Im channel will have the value 00, and Re channel will have the value 00. If the
information value is 15 the two bits pair generates is 1111, the Im channel will have the
value 11, and Re channel will have the value 11. It can do by using this statement:
Im_info1[i]=info[i]/8;
Im_info2[i]=(info[i]-Im_info1[i]*8)/4;
Re_info1[i]=(info[i]-Im_info1[i]*8-Im_info2[i]*4)/2;
Re_info2[i]=(info[i]-Im_info1[i]*8-Im_info2[i]*4-Re_info1[i]*2);
• The Gray Code. Re channel and Im channel info has natural bit value, based on Table 7.1
and the logic as like in the Figure (7.16b) we able to make Gray code logic. If the value
of Re channel is 00, it will coded as 00, if the value is 01 it will coded as 01, if the value
is 10 it will coded as 11, and if the value is 11 it will coded as 10. It is same for Im
channel. From the above case the value 0000 will be 0000 and the value 1111 will be
1010.
• The Symbol Transmit. By using the properties in the Table 7.1 wee can develop the
symbol representative for each channel. This part it will convert the value 00 as –3, the
value 01 as –1, the value 11 as +1, the value 10 as +3.
Im channel
23 Natural Gray
Im_info1
Im_ info1
coded
22 Im_ info2
Info
EXOR
21 Re_ info1 Re_ info1
coded
20 Re_ info2
EXOR
Re channel
a) I_Q Map b) Gray Code
• Synchronization
In this function we must make sure that receiver part understand exactly the phase of the
received signal from transmitter. Unfortunately in the real system, local carrier frequency and its
initial phase does not same with the transmitter part. The Costas loop, as carrier recovery is uses
to correct the phase different.
As we know that in the synchronization process by using Costas loop for 16QAM system
there two phase ambiguity among 0, π/2, π, and 3π/2 radiant. Using this property the algorithm
looks for one of two possible phases. When it matched we must resolve by de-rotate the phase.
• AWGN
To generate AWGN channel we must do it by using two steps: uniform random generate and
shifting from uniform to Gaussian distribution.
• First step is generates two sequences of uniform random generator, for this purpose we
can set variable x1 and x2. Both of them have double data type. These two variables
have a value between 0 and 1. To do it we can generate the value x1 and x2 from 0 until
default value of RAND_MAX or 32767.00. Then we divide x1 and x2 by
RAND_MAX.
• Second step do by using Box-Muller method. Two variable x1 and x2, which have the
uniform distribution, shift by using formulation:
re = (σ2 lnx1)1/2 cos(2*π*x2) ;real part
im = (σ2 lnx1)1/2 sin(2*π*x2) ;imaginary part.
• Noise Addition
The noise generated from the AWGN function are +1 Volt
• Detection
This function represents the Symbol Received part. Based on + 3.00
the several levels as a threshold, the decision is made:
if signal level < -2.0 the decision is –3.0 + 1.00
if -2.0 < signal level < 0.0 the decision is -1.0 0.00
if 0.0 < signal level < 2.0 the decision is +1.0 − 1.00
if signal level > 2.0 the decision is +3.0
− 3.00
This rule for both of Re channel and Im channel signal received,
Figure (7.19) Decision
and work independently. symbol for received signal
• Rx De-map
This function consists of two parts of block diagram in the Figure (7.20).
• Gray de-Code. First step in this block is converts from antipodal signal to binary signal.
By using the mathematical expression opposite with we has used in the symbol
transmission. Second step is converts from gray form to natural binary from. By using
the XOR logic we get the natural binary result as like Figure (7.20a).
• I_Q De-map. The purpose of this part is get the symbol value by convert the two pair
bit (binary) decimal value. By multiply the Im channel by 23 and 22 and Re channel by
21 and 20 . The next step is addition the multiplication result and we will get the decimal
information value.
Gray Im channel
Natural
Im_decod1 23
Re_ decod1 21
Re_ decod2 20
EXOR Re channel
• Error Detect
By using the output from detection function and compare bit by bit between input signal of
symbol transmit to output of symbol receive. If the value between both parts is the error didn’t
happen, other wise if these value is not same, the error was happening. By combine the result of
these result we will get the information of symbol error detection. If one bit or more error
happened, the symbol error detect indicate the value 1, if no error both of channel there is no
error happened and the value of symbol error detect indicate the value 0.
• Error Rate
In this part we sum all of error detected that happened during transmission process. And the
result from this summation subtracted by the total bit transmitted. The result is bit error rate. If
we compare the summation of symbol error detected to total symbol transmitted, the result is
symbol error rate. This is the real performance resulted by our transmission system.
♦ Pb_theory
In this part we calculate the bit error probability of 16QAM system as a function of energy
per bit to noise ratio. The output is theoretical value of error probability performance of
16QAM system. From it we get the information of bit error probability and symbol error
probability.
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define N 1000000
int nn=N-1,i;
int info[N],Im_info1[N],Im_info2[N],Re_info1[N],Re_info2[N];
int Re_enc1[N],Re_enc2[N],Im_enc1[N],Im_enc2[N];
double Re_Tx[N],Im_Tx[N],pha_Tx[N],Amp[N];
double Im_Rx[N],Re_Rx[N];
double phase[N],Ave_Pha_err,Pha_err,deg_error,pha_i;
int info_Rx[N],Im_1_Rx[N],Im_2_Rx[N],Re_1_Rx[N],Re_2_Rx[N];
double SNR,Ps,Pb,BER,SER,pi=acos(-1.0),var=0.2;
double Re_AWGN[N],Im_AWGN[N];
void main()
{
FILE *fdata;
char filename[]="natural.txt";
fdata = fopen(filename,"a");
info_generate(info,Im_info1,Im_info2,Re_info1,Re_info2);
encoding(Im_enc1,Im_enc2,Re_enc1,Re_enc2);
mapping_transmit(Re_Tx,Im_Tx,pha_Tx,Amp);
costas(phase,&Ave_Pha_err);printf("\nAve_Pha_err:%f",Ave_Pha_err);
AWGN_channel(Re_AWGN,Im_AWGN);
detection(Re_Rx,Im_Rx);
demapping_recover(Im_1_Rx,Im_2_Rx,Re_1_Rx,Re_2_Rx);
error_detect(&BER,&SER);
signal_noise(&SNR);
error_prob(Ave_Pha_err,&Ps,&Pb);
Re_enc2[i]:%d",Im_enc1[i],Im_enc2[i],Re_enc1[i],Re_enc2[i]);
}
}
for(i=1;i<=nn;++i)
{
pha_i=pha_Tx[i];
synchronization(pha_i,°_error);
phase[i]=deg_error;
if(Amp[i]<6.0)
{input=1;}
else if(Amp[i]>=6.0 && Amp[i]<=14.0)
{input=0;}
else if(Amp[i]>14.0)
{input=1;}
else
printf("");
if(input==0)
{phase[i]=phase[i-1];}
else if(input==1)
{phase[i]=phase[i];}
else
printf("");
Pha_err += fabs(phase[i]);
}
Ave_Pha_err=Pha_err/nn;
*pha_er=Ave_Pha_err; //printf("\nAve_Pha_err:%f",Ave_Pha_err);
}
T=1.0/(double)symbol_rate;
delta_fc=1e -6 * fc *T;
do
{
phase_uni=(int)rand()%360;
phase_estim=(double)phase_uni;
deg_error=(delta_fc + pha_i - phase_estim);
//printf("\nphase_estim:%f deg_error:%f ",phase_estim,deg_error);
do
{
deg_error=(delta_fc + pha_i - phase_estim);
rad_error=deg_error/360*2*pi;
VCO=K*sin(4*rad_error);
phase_estim = phase_estim + VCO;
i++;
}while(i<=10);
d++;
} while(fabs(deg_error)>=4.0);
*deg_er=deg_error;
}
if(Im_Rx[i]<-2.0)
{Im_1_Rx[i]=0;Im_2_Rx[i]=0;}
else if(Im_Rx[i]>=-2.0 && Im_Rx[i]<0.0)
{Im_1_Rx[i]=0;Im_2_Rx[i]=1;}
else if(Im_Rx[i]>=0.0 && Im_Rx[i]<2.0)
{Im_1_Rx[i]=1;Im_2_Rx[i]=1;}
else if(Im_Rx[i]>2.0)
{Im_1_Rx[i]=1;Im_2_Rx[i]=0;}
else
printf("");
// printf("\nIm_1_Rx[i]:%d Im_2_Rx[i]:%d Re_1_Rx[i]:%d Re_2_Rx[i]:%d "
,Im_1_Rx[i],Im_2_Rx[i],Re_1_Rx[i],Re_2_Rx[i]);
}
}
SER_i=1.0;
else
SER_i=0.0;
SER +=SER_i;
}
BER=BER/(4.0*nn);
SER=SER/nn;
*ber=BER;
*ser=SER;// printf("\nBER:%f SER:%f",BER,SER);
}
Eb/No Pb BER
6.20 0.01748865 0.03369800
7.96 0.00878699 0.01263550
10.97 0.00058334 0.00078775
11.43 0.00032042 0.00044950
11.94 0.00015218 0.00022350
12.52 0.00005879 0.00009800
13.19 0.00001669 0.00002800
13.98 0.00000290 0.00001175
From the Table 7.3 we can see that the different value between probability of error and bit
error rate (BER) as simulation result. As example for value of Eb/No = 6.02, probability of error
value is 0.01748865. But the simulation result is 0.03369800. In this case the bit error rate happen
is higher than the theoretical value (probability of error).
For higher Eb/No, the value of bit error rate as simulation result is still higher than the value
of probability of error. The example is at Eb/No = 13.98 the value of probability of error is
0.00000290 and the value of bit error rate is 0.00001175.
1
'QPSKQAMt.txt'
'QPSKQAM.txt'
0.1
0.01
Bit error probability, Pb
0.001
0.0001
1e-05
1e-06
6 8 10 12 14
Eb/No in dB
Figure (7.13). The simulation result of 16 QAM rectangular constellation in the AWGN channel