to get the proper scatter plot
2 views (last 30 days)
Show older comments
Hi...
How do i map the random symbols after binary to symbol mapping to get the constellation diagram of M-ary QAM correctly . i am getting the incorrect constellation diagram.
clc;
close all;
clear all;
M=64; % QAM Signal Constellation
fft_size=64;
fspacing=15000;
fs=15000*64;
Ts = 1/fs; % Sampling period of channel
Fd = 0; % Max Doppler frequency shift
k = log2(M); % Number of bits per symbol
nbits=k*fft_size;
nsym = fft_size*2; %1000
cp_length=round(0.06*fft_size); % length of cyclic prefix
xbits = randi([0 1],1,nbits); % Random binary data stream
% mappedData = wlanConstellationMap(xbits,k);
xsym = bi2de(reshape(xbits,k,(length(xbits)/k)).','left-msb');
tx=[];
% QAM Modulation
QAM_Modulation=qammod(xsym,M,'PlotConstellation',true);
% scatterplot(QAM_Modulation);
0 Comments
Accepted Answer
Sriram Tadavarty
on 1 Apr 2021
Hi Abdul,
The scatterplot usage is correct itself. May i know why do you feel the constellation is incorrect?
Since, xbits are random, possibly, same number of bits might make a symbol, leading to partial constellation while looking from scatterplot.
Try this:
M=64; % QAM Signal Constellation
fft_size=64;
fspacing=15000;
fs=15000*64;
Ts = 1/fs; % Sampling period of channel
Fd = 0; % Max Doppler frequency shift
k = log2(M); % Number of bits per symbol
nbits=k*fft_size;
nsym = fft_size*2; %1000
cp_length=round(0.06*fft_size); % length of cyclic prefix
xbits = randi([0 1],1,nbits*10); % Random binary data stream (Updated with 10 times the previous length)
% mappedData = wlanConstellationMap(xbits,k);
xsym = bi2de(reshape(xbits,k,(length(xbits)/k)).','left-msb');
tx=[];
% QAM Modulation
QAM_Modulation=qammod(xsym,M,'PlotConstellation',true);
scatterplot(QAM_Modulation)
Hope this helps.
Regards,
Sriram
More Answers (0)
See Also
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!