16Qam
Páginas: 5 (1229 palabras)
Publicado: 4 de septiembre de 2012
ESCUELA SUPERIOR DE INGENIERIA MECÁNICA Y ELÉCTRCIA
UNIDAD CULHUACAN
MODULACIÓN DIGITAL
Dra.: Clara Cruz Ramos
Modulador 8 Q AM
Cruz de Luna Luis Manuel
García Alcántara Sebastián
Javier Alcántara Ulises
Nava Romero Enrique
6CM1 12-Abril-12
-------------------------------------------------
OBJETIVO GENERAL
Desarrollar unprograma modulador 16Q AM a partir de la teoría estudiada en clase.
-------------------------------------------------
OBJETIVOS ESPECIFICIOS
* Utilizar el entorno de desarrollo de Matlab.
* Plasmar las ecuaciones en código.
* Generar las señales.
* Modular las señales.
-------------------------------------------------
INTRODUCCIÓN
QAM
Combinación de modulación en fasey modulación en amplitud.
La eficiencia espectral de QAM es la misma que PSK. QAM tiene mejor eficiencia en potencia
16QAM
La amplitud varia entre tres valores
La fase varia entre cuatro valores (16 estados)
16QAM-modulador
16QAM-tensiones
16QAM-Fasorial y Constelación
-------------------------------------------------
DESARROLLO
Desarrollando el programa en elentorno estructural de Matlab:
Se la señal portadora x1, la cual es una señal senoidal en un tiempo S de frecuencia fr y
amplitud a, las cuales son definidas por el usuario:
te=2*pi*t;
x1=a*sin(fr*te);
Se genera la señal de pulso, en este caso se utiliza una señal binaria aleatoriamente
C=dec2bin(round(10000*rand(1)));
%C='101010101010';
fprintf('\n\nSeñal binaria generada %s \n \n',C)w = (S*2)/length(C);
D=0;z=0;
k=-(w/2);
for i=1:length(C)
if C(1,i) == '1';
D (1,i-z)=k;
else
z=z+1;
end
k=k+w;
end
x2 = pulstran(t,D,'rectpuls',w);
Se declaran las condiciones y se contruye la señal
P=0;A=0;k=0;M=0;
w=length(t)/length(C);
z=floor(length(C)/4);
for i = 1 :4:z*4
for j = i : i
k=k+1;
b1=C(1,j);
b2=C(1,j+1);b3=C(1,j+2);
b4=C(1,j+3);
end
if (b1 == '0') && (b2 == '0') && (b3 == '0')&& (b4 == '0')
P(1,k)=-135;
A(1,k)=.311;
elseif (b1 == '0') && (b2 == '0') && (b3 == '0')&& (b4 == '1')
P(1,k)=-165;
A(1,k)=.850;
.
.
.
W=t(1:w);
Ms=(A(1,k)*(sin((fr*te*W)+(P(1,k)*pi/180))));
if k==1
M=Ms;
else
M=[M Ms];
end
Al correr el programa seobtienen la modulacion siguiente:
-------------------------------------------------
CODIGO COMPLETO
clc,clf,clear
fprintf('--ONDA SENOIDAL--\n');
a=input('Ingresa la amplitud deseada...\n');
fr=input('Ingresa la frecuencia deseada...\n');
S=input('Ingresa segundos que deseas...\n');
%----------------------------------------
%---------------------------------------
T=1/fr;
t=0:T/1000:S*2;te=2*pi;
x1=a*sin(fr*te*t);
subplot (311)
plot(t,x1,'linewidth',2)
xlabel('Time (s)'); ylabel('Amplitude'); title('Carrier Signal')
axis([0,S*2,-a-1,a+1]);
grid on
hold on
%C=dec2bin(round(10000*rand(1)));
C='101010101010';
fprintf('\n\nSeñal binaria generada %s \n \n',C)
w = (S*2)/length(C);
D=0;z=0;
k=(w/2);
for i=1:length(C)
if C(1,i) == '1';
D (1,i-z)=k;else
z=z+1;
end
k=k+w;
end
x2 = pulstran(t,D,'rectpuls',w);
subplot(312),plot(t,x2,'linewidth',2);
xlabel('Time (s)'); ylabel('Amplitude'); title('Binary Signal')
axis([0,S*2,-.5,1.5]);
grid on
hold on
P=0;A=0;k=0;M=0;
w=length(t)/length(C);
z=floor(length(C)/4);
for i = 1 :4:z*4
for j = i : i
k=k+1;
b1=C(1,j);
b2=C(1,j+1);b3=C(1,j+2);
b4=C(1,j+3);
end
if (b1 == '0') && (b2 == '0') && (b3 == '0')&& (b4 == '0')
P(1,k)=-135;
A(1,k)=.311;
elseif (b1 == '0') && (b2 == '0') && (b3 == '0')&& (b4 == '1')
P(1,k)=-165;
A(1,k)=.850;
elseif (b1 == '0') && (b2 == '0') &&...
Leer documento completo
Regístrate para leer el documento completo.