Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING

KULLIYYAH OF ENGINEERING

LAB 4
INTRODUCTION TO M-QAM
MODULATION/DEMODULATION
Dr. Akhmad Unggul

SEMESTER 2 2009/2010
GROUP MEMBERS:

NO NAME MATRIC

Please submit the report to the e-learning dropbox


LAB 4: INTRODUCTION TO M-QAM MODULATION/DEMODULATION

1. M-QAM constellation diagram [10 marks]


a. Create a modulator object for 16QAM modulator specify the input to be ‘Bit’. Generate
300 random bits and perform 16QAM modulation.
How many 16QAM symbols do you produce?
Draw the constellation diagram for 16QAM using scatterplot() (2 marks)
b. Repeat a. for 64QAM modulation. (2 marks)
c. Create ‘five’ vector of size (1,300). (ones()) [5 5 5…]
Perform 16QAM modulation. (modulate())
Add noise with Eb/N0 of 5 and 10 dB (remember to normalize the SNR). (awgn())
Plot the noisy signal samples. (scatterplot())
By visual observation of the scatterplot, how many symbol errors do you find?
Perform demodulation and compare with your visual observation. Do they agree?
(3marks)
d. Repeat c. for 64 QAM (3marks)

2. Monte Carlo simulation for 16QAM with and without gray mapping [25 marks]

a. Create a modulator object and demodulator object with the following properties
Input/Output type : Bit
Symbol Order : no gray mapping (default)
Perform Monte Carlo simulation with 106 bits and EbN0 range 0,3,6,9,12,15
[5 marks]

b. Create a modulator object and demodulator object with the following properties
Input/Output type : bit
Symbol Order : gray mapping
Perform Monte Carlo simulation with 106 bits and EbN0 range 0,3,6,9,12,15
[5 marks]

c. Plot your BER curves from your simulation in a and b in the same graph. [5 marks]

To plot with y axis in log : semilogy()


To plot multiple graphs at once see the help of semilogy().

d. What do you observe? What is your observation on your results? Discuss about the
results, and the gap between the two curves.
(10 marks)
Useful commands
~= compares two vectors to find out elements in disagreement.
a=[0 1 1 0 0 1] b=[0 0 1 0 1 1]
a~=b [0 1 0 0 1 0] since the 2nd and 4th elements of a and b are different.

sum() sums elements of a vector


sum(a) = 3

mean() finds the average of a vector


std() finds the standard deviation of a vector
x=[0 1 2 3 4 5]
mean(x) = 2.5
std(x) =1.8708

You are required to submit matlab scripts, figures and answers to questions in this lab assignment
before you finish your lab. Prepare your reports using MS words and print it using the designated
printer.

You might also like