to get the proper scatter plot

조회 수: 4 (최근 30일)
ABDUL
ABDUL 2021년 3월 25일
댓글: ABDUL 2021년 4월 4일
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);

채택된 답변

Sriram Tadavarty
Sriram Tadavarty 2021년 4월 1일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 QAM에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by