What is wrong with this code, please help!
Show older comments
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
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
on 19 Mar 2011
Paulo Silva
on 19 Mar 2011
codebook length is still 17 not 16
jessica david
on 19 Mar 2011
Andrew Newell
on 19 Mar 2011
>> length([0:16])
ans =
17
jessica david
on 19 Mar 2011
Paulo Silva
on 19 Mar 2011
Are you referring to the groups of points in the scatterplot?
jessica david
on 19 Mar 2011
Categories
Find more on QAM in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!