What is wrong with this code, please help!

3 views (last 30 days)
jessica david
jessica david on 19 Mar 2011
this is the code to qam modulate a quantized sine wave, for some reason i get only 15 constellation points instead of 16.
==================================================================
t = 0:.001:2*pi; % Times at which to sample the sine function
sig = sin(2*t); % Original signal, a sine wave
partition = [-1:2/15:1]; % Length 16, to represent 17 intervals
codebook = [0:1:16]; % Length 17, one entry for each interval
quants= quantiz(sig,partition,codebook); % Quantize.
x=quants;
M = 16;
yy = qammod(x,M);
y = awgn(yy,10)
% demodulate
z = qamdemod(y,M);
plot(t,sig, 'cd', t,quants,'bo', t,z,'rx'),grid
legend('Original signal','Quantized signal','recovered signal');
scatterplot(y)
title('scatterplot QAM')

Answers (1)

Walter Roberson
Walter Roberson on 19 Mar 2011
Your line
codebook = [0:1:16]; % Length 22, one entry for each interval
will only assign 17 values, not 22. This is right after your line
partition = [-1:2/15:1]; % Length 21, to represent 22 intervals
which only assigns 16 values...
  7 Comments
jessica david
jessica david on 19 Mar 2011
yes, there has to b 16 points, but i am getting only 15 points

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by