Está en la página 1de 4

DESARROLLO_PRACTICA_4_CD

Nombre: Darío Orosco Orozco

Fecha: 9 de Julio del 2020

64QAM a 30dB

16QAM a 15dB
Conclusión: Podemos observar que al bajar la SNR y el número de estados no se puede
diferenciar muy bien el diagrama del ojo, ni el número de ojos que se lo puede calcular como √𝑀 − 1
Mientras que en 64QAM a pesar de tener mas estados se puede diferenciar por la SNR que
también esta aumentada.

Códigos Implementados:
%% Desarrollo 4.2
clc, clear all, close all
M = 4;%Numero de simbolos
M1 = 16;
M2 = 32;
M3 = 64;
% M4 =128;

EbN0dB = 0:0.1:40;%Generacion de vector con los valores de Eb/N0


EbN0veces = 10.^(EbN0dB/10);%transformacion de dB a veces

factor =(3*log2(M))/(2*(M-1)).*EbN0veces;
factor1=(3*log2(M1))/(2*(M1-1)).*EbN0veces;
factor2=(3*log2(M2))/(2*(M2-1)).*EbN0veces;
factor3=(3*log2(M3))/(2*(M3-1)).*EbN0veces;
% factor4=(3*log2(M4))/(2*(M4-1)).*EbN0veces;

BER = 2*((sqrt(M)-1)/(sqrt(M))).*erfc(sqrt(factor));%uso de la funcion erfc


para el calculo del error
BER1 = 2*((sqrt(M1)-1)/(sqrt(M1))).*erfc(sqrt(factor1));
BER2 = 2*((sqrt(M2)-1)/(sqrt(M2))).*erfc(sqrt(factor2));
BER3 = 2*((sqrt(M3)-1)/(sqrt(M3))).*erfc(sqrt(factor3));
% BER4 = 2*((sqrt(M4)-1)/(sqrt(M4))).*erfc(sqrt(factor4));

semilogy(EbN0dB,BER)%Uso de una grafica semilogaritmica


hold on
semilogy(EbN0dB,BER1)%Uso de una grafica semilogaritmica
semilogy(EbN0dB,BER2)%Uso de una grafica semilogaritmica
semilogy(EbN0dB,BER3)%Uso de una grafica semilogaritmica
% semilogy(EbN0dB,BER4)%Uso de una grafica semilogaritmica
grid on;
ylabel('Probabilidad de error');
xlabel('E_b/N_0 (dB)');
title('BER para M-QAM');
legend('4-QAM','16-QAM','32-QAM','64-QAM');

%% Desarrollo 4.3

clc, clear all;


M1=4; % Numero de niveles
M2=16; % Numero de niveles
M3=32; % Numero de niveles
EbN0_dB = 0:0.1:60; % vector Eb/N0 en dB
EbN0 = 10.^(EbN0_dB/10); % Eb/N0 numérico

% Probabilidad de error para QAM


P_error = 2*(1-(1/sqrt(M1))).*erfc(sqrt((3*log2(M1)*EbN0)/(2*(M1-1))));
P_error2 = 2*(1-(1/sqrt(M2))).*erfc(sqrt((3*log2(M2)*EbN0)/(2*(M2-1))));
P_error3 = 2*(1-(1/sqrt(M3))).*erfc(sqrt((3*log2(M3)*EbN0)/(2*(M3-1))));

% Graficas PSK
Mp1=2;
Mp2=8;
Mp3=32;

% probabilidad de errores para PSK


Pe1 = 1/2.*erfc(sqrt(EbN0));
Pe2= 1/2.*erfc(sin(pi/Mp2)*sqrt(log2(Mp2))*sqrt(EbN0)); % Probabilidad de
error
Pe3= 1/2.*erfc(sin(pi/Mp3)*sqrt(log2(Mp3))*sqrt(EbN0)); % Probabilidad de
error

% gráfica semilogaritmica
semilogy(EbN0_dB,P_error,'-.r','Linewidth',2);
hold on
semilogy(EbN0_dB,P_error2);
semilogy(EbN0_dB,P_error3);
semilogy(EbN0_dB,Pe1,'-k');
semilogy(EbN0_dB,Pe2);
semilogy(EbN0_dB,Pe3);
hold off

grid on
legend('4-QAM','16-QAM','32-QAM','B-PSK','8-PSK','32-PSK')
ylabel('BER')
xlabel('E_b/N_0 (dB)')
title('Probabilidad de error 4-QAM' )

También podría gustarte