Matlab - Constelaciones QAM No Uniformes

 
Vista:
Imágen de perfil de Yoarbis

Constelaciones QAM No Uniformes

Publicado por Yoarbis (2 intervenciones) el 25/01/2017 17:37:38
Saludos a todos, estoy trabajando en mi proyecto de curso y necesito algunos codigos para terminarlo, alguien me podria decdirme cobtener constelaciones M-QAM no uniformes en matlab.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Constelaciones QAM No Uniformes

Publicado por Royeth (1818 intervenciones) el 25/01/2017 20:10:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
M = 16;
k = log2(M);
n = 50000;
muestras = 1;
rng default
entr = randi([0 1],n,1);
matr =bi2de( reshape(entr,length(entr)/k,k));
dataMod = qammod(matr,M,0);
dataModG = qammod(matr,M,0,'gray');
EbNo = 10;
ruido = EbNo + 10*log10(k) - 10*log10(muestras);
receivedSignal = awgn(dataMod,ruido,'measured');
receivedSignalG = awgn(dataModG,ruido,'measured');
sPlotFig = scatterplot(receivedSignal,1,0,'g.');
hold on
scatterplot(dataMod,1,0,'k*',sPlotFig)

puedes cambiar el generador rand para obtenerla como desees
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yoarbis

Constelaciones QAM No Uniformes

Publicado por Yoarbis (2 intervenciones) el 26/01/2017 14:50:47
Gracias por responder, pero no se a que te refrieres, lo cambie a mi modo y no se obtienen constelaciones circulares de ninguna manera... si fueras mas explicito te lo agradeceria hermano...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
M = 16;
 
k = log2(M);
 
n = 50000;
 
muestras = 1;
 
rng shuffle
 
entr = randi([0 10],n,1);
matr = entr ;
%matr =bi2de( reshape(entr,length(entr)/k,k));
dataMod = qammod(matr,M,0);
 
dataModG = qammod(matr,M,0,'gray');
 
EbNo = 10;
 
ruido = EbNo + 10*log10(k) - 10*log10(muestras);
 
receivedSignal = awgn(dataMod,ruido,'measured');
 
receivedSignalG = awgn(dataModG,ruido,'measured');
 
sPlotFig = scatterplot(receivedSignal,1,0,'g.');
 
hold on
grid on
scatterplot(dataMod,1,0,'k*',sPlotFig)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar