0% found this document useful (0 votes)
498 views12 pages

Qam Report

This document describes the implementation of a 16-QAM baseband communication system in MATLAB. It discusses generating random binary data, modulating the data using 16-QAM, transmitting the modulated data over an AWGN channel, demodulating the received data, and analyzing bit error rates. Key MATLAB functions used include randi, reshape, dmodce, awgn, ddemodce, and biterr. The document provides the MATLAB code for generating the random data, performing 16-QAM modulation and demodulation, adding AWGN noise, and calculating bit error rates.

Uploaded by

JAwad HAmeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
498 views12 pages

Qam Report

This document describes the implementation of a 16-QAM baseband communication system in MATLAB. It discusses generating random binary data, modulating the data using 16-QAM, transmitting the modulated data over an AWGN channel, demodulating the received data, and analyzing bit error rates. Key MATLAB functions used include randi, reshape, dmodce, awgn, ddemodce, and biterr. The document provides the MATLAB code for generating the random data, performing 16-QAM modulation and demodulation, adding AWGN noise, and calculating bit error rates.

Uploaded by

JAwad HAmeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

IMPLEMENTATION OF 16 QAM BASE

BAND COMMUNICATION SYSTEM IN


MATLAB
Satellite Communication Semester Project Report

Submitted To
Lt Col Dr. Adnan Ahmad Khan
Submitted By
NC Jawad Hameed
NC Fahad Ahmad
NC Jibran Khan
PC Saad Shabbir
TE-47C

Abstract
This Project will focus on the Design and Simulation of 16-Quadrature Amplitude Modulation (QAM),
demodulation, constellations plot for visualizing communications signals as well as error rates
computation of the digital system designed. QAM is a method for using a single channel as two
separate channels that are orthogonal to each other. The information is divided into Inphase and
Quadrature components. The outputs of both modulators are algebraically summed and the result is
then transmitted. Due to the orthogonal characteristics of the two channels, the Inter Symbol
Interference, ISI between the Inphase and the Quadrature components is reduced. This ensures the
transmission with reduced probability of bit error, which is the desired objective for the establishment
of error free communication system. Using the MATLAB Communication Tool Box the channel is
modeled with Additive White Gaussian Noise (AWGN). That gets added with the information signal
sent from the transmitter with in the channel. As this corrupted data is received at the receiver, the
signal is demodulated first. Then we shall do error analysis that will include the use of Eye Diagrams
and Scatter Plots. Constellation Diagrams will be used for the decision making. Later on we
determine the bit error of the communication system. Here the transmitted signal and the
demodulation (or received) data are compared to obtain the number of bit errors and the bit error rate.
We shall plot the signal constellation diagram, which will illustrate the whole communication process.

Page | 2

Table of Contents
Table of Contents.....................................................................................................................................................3
1.Introduction...........................................................................................................................................................4
2.Applications..........................................................................................................................................................5
3.MATLAB Implementation of 16 QAM...............................................................................................................6
4.Problem Solution..................................................................................................................................................7
5.MATLAB Functions Being Used.........................................................................................................................7
6.MATLAB Code....................................................................................................................................................7
7.MATLAB Post Simulation Analysis....................................................................................................................8
8.Graphs.................................................................................................................................................................10
8.1.Graph 1............................................................................................................................................................10
8.2.Graph 2............................................................................................................................................................11
9.Limitations .........................................................................................................................................................11
10.References.........................................................................................................................................................12
Figure 1: Quadrature Modulator..............................................................................................................................4
Figure 2: Quadrature Demodulator..........................................................................................................................5
Figure 3: 16 QAM Constellation.............................................................................................................................6
Figure 4: Output Graphs........................................................................................................................................10
Figure 5: Received Signal Constellation...............................................................................................................11
Equation 1: Quadrature Modulation .......................................................................................................................4
Equation 2: Quadrature De-Modulation..................................................................................................................5
Table 1: MATLAB Functions.................................................................................................................................7

Page | 3

1. Introduction
Our Motivation for the project of QAM comes from the fact that DSB occupy twice the bandwidth
requirement for Base band signals.
This disadvantage can be overcome by using Quadrature Amplitude Modulation (QAM).
In QAM two DSB signals are transmitted using the carrier of the same frequency but in Phase
Quadrature. Both the halves are used, thus the bandwidth efficiency is increased.
With this scheme we can transmit at twice the symbol rate as compared to a simple base band
communication system. As shown in Fig 1 the two input signals are to be transmitted. The 1 st input m
1

(t)is multiplied by cos c t to get the I component and the 2 nd input m 2 (t)is multiplied by sin c t

to get the Q Quadrature component which are then added and sent.

Figure 1: Quadrature Modulator

Mathematically we can write the corresponding output QAM signal QAM (t ) the sum of two DSBmodulated signals.

QAM (t ) = m 1 (t) cos c t + m 2 (t) sin c t


Equation 1: Quadrature Modulation

The output modulated signal QAM (t ) is coherently (synchronously) detected at the demodulator side
and where the two base band signals are separated and received using two local carriers in phase
Quadrature as shown in Fig.2

Page | 4

Figure 2: Quadrature Demodulator

x 1 (t) = 2 QAM (t ) cos c (t) = 2[m 1 (t) cos c t + m 2 (t) sin c t] cos c t
= m 1 (t)+ m 1 (t) cos2 c t + m 2 (t) sin2 c t
Equation 2: Quadrature De-Modulation

The last two terms of equation (2) are suppressed by the low pass carrier, yielding the desired output
m 1 (t).
Similarly, the output of the lower receiver branch can be obtained as m 2 (t).
This scheme is know as Quadrature amplitude modulation (QAM) or Quadrature multiplexing

2. Applications
1. Quadrature multiplexing (QAM) is used in color television to multiplex the chrominance signals.
2. QAM is used in old telephony systems

Page | 5

3. MATLAB Implementation of 16 QAM


In this modulator, 4 bits are transmitted per symbol, i.e. Rb = 4Rs. Where Rs and Rb are symbol rate
and bit rate respectively. The symbols are distributed in 4 different amplitudes and 12 different
phases as shown in the following Fig.

Figure 3: 16 QAM Constellation

Page | 6

4. Problem Solution
It is explained in the following steps:
1. A random binary data stream is generated. Total number of bits is 1 million at the moment in
our MATLAB code. We can change it to any number by simply changing the variable n in our
code.
2. The binary data is transformed to symbols of 4 bit each. Thus ranging from 0 to 15. Total
symbols will be n/4. In our case there are 25000 symbols.
3. These symbols are modulated using 16 QAM scheme. We can increase the error performance
by increasing the output message frequency, Fs.
4. This data stream is transmitted over a channel modeled by Additive White Gaussian Noise.
5. The corrupted data is demodulated.
6. First we found the Probability of Symbol Error by comparing the symbols transmitted and
symbols that are received.
7. Then the 25,000 received (demodulated) symbols are reshaped back to 100,000 bits. These
received (noisy) bits are compared with the transmitted bits to compute the Probability of Bit
Error.

5. MATLAB Functions Being Used


Following is the table that contains the key MATLAB functions that we used.
Function Name

Brief Description

Randint
Reshape
Dmodce
Awgn
Ddemodce
Biterr
Symerr
Scatterplot
Bin2dec
Str2num
Num2str

Generates a random binary data with uniform probability


Changes the size of the matrix
Modulates by QAM scheme
Channels Additive White Gaussian Model
Demodulates by QAM scheme
Computes the systems Probability of Bit Error
Computes the systems Probability of Symbol Error
Draws the constellation diagram
Converts a binary string to a decimal value
Converts a string to a numerical value
Converts a numerical value to a string
Table 1: MATLAB Functions

6. MATLAB Code
clear all; clc;
M = 16; %possible no of messages or symbols
k = log2(M); % no of bits per codeword(symbol)
no_of_bits = 100000; % total no of bits = 100,000
EbNo = 10; %dBs

Page | 7

Fs=2; %output message sampling frequency


%%%%%%%%%%%%%%%%%% The Transmitter%%%%%%%%%%%%%%
x = randint(no_of_bits,1); % 100,000 random binary 1's and 0's
figure;
subplot(211);
stem(x(1:40));% a stem of first 60 bits.
title('(1st 40 out of 100,000) Message Bits');
xlabel('Bits-->'); ylabel('Bit value');
% symbol generation
r=reshape(x,k,length(x)/k)';
xsym=bin2dec(num2str(r));
% Stem of first 10 Symbols
subplot(212);
stem(xsym(1:10));
title('(1st 10 out of 25,000)Message Symbols');
xlabel('Symbols-->'); ylabel('Magnitude');
%%%%%%%%% 16-QAM %%%%%%%%
t_x = dmodce(xsym,1,Fs, 'qask',M);%%%%the transmitted signal, s(t)
%%%%%%%%%%%%%%%%%%%the Channel%%%%%%%%%%%%%%%%%
SNR = EbNo + 10*log10(k);
r_x = awgn(t_x,SNR,'measured');%% the received Signal, r(t)=s(t)+no_of_bits(t)
% Scatter Plot of received signal
h = scatterplot(r_x,1,1);
grid
title('Received Signal Constellation');
axis([-5 5 -5 5]);
%*****************Demodulation*****************************
zT = ddemodce(r_x,1,Fs, 'qask', M);
z_bits = reshape(de2bi(zT,'left-msb').',prod(size(de2bi(zT,'left-msb'))),1); %vector
regeneration
figure
stem(z_bits(1:40))
ylim([-0.2 1.2])
xlabel('Bits-->'); ylabel('Bit value');
title('(1st 40 out of 100,000) Received Bits')
disp('Total number of bits transmitted ');
disp(length(x))
[Total_number_of_erroneous_bits_received,Probability_of_bit_error] = biterr(x,z_bits)%
the bit error computation
[Total_number_of_erroneous_symbols_received,Probability_of_symbol_error] = symerr(xsym,zT)
% the symbol error computation

7. MATLAB Post Simulation Analysis


Results Displayed in The Command Window of MATLAB are as follows:
Total number of bits transmitted
Page | 8

100000

Total_number_of_erroneous_bits_received =
2

Probability_of_bit_error =
2.0000e-005

Total_number_of_erroneous_symbols_received =
2

Probability_of_symbol_error =
8.0000e-005

Page | 9

8. Graphs
8.1.
Graph 1
In first graph there are two parts. In the upper part of the graph first 40 bits are displayed. In the lower
part of this graph 10 corresponding symbols for 40 bits are displayed.

Figure 4: Output Graphs

Page | 10

8.2.

Graph 2

In this graph the constellation diagram of 16 QAM is shown.

Figure 5: Received Signal Constellation

9. Limitations
1. We could have done source coding using Lempel-Ziv-Welsh or Huffman coding. But due to
time constraints we couldnt.
2. Similarly channel coding (block, convolutional and cyclic coding etc.) could have been done
but due to time constraints we couldnt.
3. We could have applied random voice signal as an input but due to speed limitations of
MATLAB we couldnt applied voice signal as a random signal.

Page | 11

10.

References

1. Fundamentals of Statistical Time Signal Processing: Estimation Theory by Steven M. Kay


ISBN no 0-13-345711-7
2. Digital Communications Fundamentals and Applications by Bernard Saklar 2 nd Edition
ISBN no 0-13-084788-7
3. Modern Analog and Digital Communication system by BP Lathi ISBN no 0-13-723411-7
4. Discrete Time signal processing by Alan V. Oppenhiem and Ronald W. Schafer
ISBN no 81-7808-244-6
5. Jeruchim, Michel C., Philip Balaban, and K. Sam Shanmugan, Simulation of Communication
Systems, New York, Plenum Press, 1992.
6. Proakis, John G., Digital Communications, 3rd ed., New York, McGraw-Hill, 1995.
7. The MathWorks, Inc.; www.mathworks.com

Page | 12

You might also like