Ask FSK Ook PSK
Ask FSK Ook PSK
Ask FSK Ook PSK
• CODIGO
%%%%%%%%%%%%%%%%%%%%%%% PROYECTO FINAL%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear all;
close all;
disp('1.- Modulacion y demodulacion ASK');
disp('2.- Modulacion y demodulacion OOK');
disp('3.- Modulacion y demodulacion FSK');
disp('4.- Modulacion y demodulacion PSK');
x=input('Ingrese el tipo de Modulacion y Demodulacion: \n');
switch x
case 1
disp('Ingrese la cadena de bits(1 y 0)');
a11=input(' Ingresar el valor del primer bit: \n');
b11=input(' Ingresar el valor del segundo bit: \n');
c11=input(' Ingresar el valor del tercer bit: \n');
d11=input(' Ingresar el valor del cuarto bit: \n');
e11=input(' Ingresar el valor del quinto bit: \n');
f11=input(' Ingresar el valor del sexto bit: \n');
g11=input(' Ingresar el valor del septimo bit: \n');
%fprintf('\n\n\n');
x=[ a11 b11 c11 d11 e11 f11 g11]; %información binaria
end
t1=periodo_bit/100:periodo_bit/100:100*length(x)*(periodo_bit/100);
subplot(3,1,1);
plot(t1,bits,'lineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(x) -2 2]);
ylabel('amplitud[voltios]');
xlabel(' tiempo[segundos]');
title('transmisión de información como señal digital');
t3=periodo_bit/99:periodo_bit/99:periodo_bit*length(x);
subplot(3,1,2);
plot(t3,m);
xlabel('tiempo[segundos]');
ylabel('amplitud[voltios]');
title('Forma de onda para la modulación binaria ASK ');
end
t4=periodo_bit/100:periodo_bit/100:100*length(mn)*(periodo_bit/100);
subplot(3,1,3)
plot(t4,bits,'lineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(mn) -2 2]);
ylabel('amplitud[voltios]');
xlabel(' tiempo[segundos]');
title('Forma de onda para la demodulación binaria ASK ');
case 2
disp('Ingrese la cadena de bits (1 y 0)');
a11=input(' Ingresar el valor del primer bit: \n');
b11=input(' Ingresar el valor del segundo bit: \n');
c11=input(' Ingresar el valor del tercer bit: \n');
d11=input(' Ingresar el valor del cuarto bit: \n');
e11=input(' Ingresar el valor del quinto bit: \n');
f11=input(' Ingresar el valor del sexto bit: \n');
g11=input(' Ingresar el valor del septimo bit: \n');
%fprintf('\n\n\n');
x=[ a11 b11 c11 d11 e11 f11 g11]; %información binaria
end
t1=periodo_bit/100:periodo_bit/100:100*length(x)*(periodo_bit/100);
subplot(3,1,1);
plot(t1,bits,'lineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(x) -2 2]);
ylabel('amplitud[voltios]');
xlabel(' tiempo[segundos]');
title('transmisión de información como señal digital');
t3=periodo_bit/99:periodo_bit/99:periodo_bit*length(x);
subplot(3,1,2);
plot(t3,m);
xlabel('tiempo[segundos]');
ylabel('amplitud[voltios]');
title('Forma de onda para la modulación binaria ASK ');
end
t4=periodo_bit/100:periodo_bit/100:100*length(mn)*(periodo_bit/100);
subplot(3,1,3)
plot(t4,bits,'lineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(mn) -2 2]);
ylabel('amplitud[voltios]');
xlabel(' tiempo[segundos]');
title('Forma de onda para la demodulación binaria ASK ');
case 3
disp('Ingrese la cadena de bits (1 y 0)');
a11=input(' Ingresar el valor del primer bit: \n');
b11=input(' Ingresar el valor del segundo bit: \n');
c11=input(' Ingresar el valor del tercer bit: \n');
d11=input(' Ingresar el valor del cuarto bit: \n');
e11=input(' Ingresar el valor del quinto bit: \n');
f11=input(' Ingresar el valor del sexto bit: \n');
g11=input(' Ingresar el valor del septimo bit: \n');
%fprintf('\n\n\n');
x=[ a11 b11 c11 d11 e11 f11 g11]; %información binaria
end
t4=periodo_bit/100:periodo_bit/100:100*length(mn)*(periodo_bit/100);
subplot(3,1,3)
plot(t4,bits,'LineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(mn) -2 2]);
ylabel('amplitud[voltios]');
xlabel(' tiempo[segundos]');
title('Forma de onda para la demodulación binaria FSK');
end
t1=periodo_bit/100:periodo_bit/100:100*length(x)*(periodo_bit/100);
subplot(3,1,1);
plot(t1,bits,'lineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(x) -2 2]);
ylabel('amplitud[Votios]');
xlabel(' tiempo[segundos]');
title('transmisión de información como señal digital');
%Modulación PSK
A=5; % Amplitud de la señal portadora
vb=1/periodo_bit; % velocidad de bit
f=vb*2; % Frecuencia de portadora
t2=periodo_bit/99:periodo_bit/99:periodo_bit;
ss=length(t2);
m=[];
for (i=1:1:length(x))
if (x(i)==1)
y=A*cos(2*pi*f*t2);
else
y=A*cos(2*pi*f*t2+pi); %A*cos(2*pi*f*t+pi) means - A*cos(2*pi*f*t)
end
m=[m y];
end
t3=periodo_bit/99:periodo_bit/99:periodo_bit*length(x);
subplot(3,1,2);
plot(t3,m);
xlabel('tiempo[segundos]');
ylabel('amplitud[Voltios]');
title('Forma de onda para la modulación PSK ');
%Demodulación PSK
mn=[];
for n=ss:ss:length(m)
t=periodo_bit/99:periodo_bit/99:periodo_bit;
y=cos(2*pi*f*t); % señal portadora
mm=y.*m((n-(ss-1)):n);
t4=periodo_bit/99:periodo_bit/99:periodo_bit;
z=trapz(t4,mm); % intregación
zz=round((2*z/periodo_bit));
if(zz>0) % nivel lógico = (A+A)/2=0
%porque A*cos(2*pi*f*t+pi) significa -A*cos(2*pi*f*t)
a=1;
else
a=0;
end
mn=[mn a];
end
disp(' Informacion binaria recibida :');
disp(mn);
end
t4=periodo_bit/100:periodo_bit/100:100*length(mn)*(periodo_bit/100);
subplot(3,1,3)
plot(t4,bits,'LineWidth',2.5);grid on;
axis([ 0 periodo_bit*length(mn) -2 2]);
xlabel(' tiempo[segundos]');
ylabel('amplitud[Voltios]');
title('Forma de onda para la demodulación PSK');
end
BIBLIOGRAFIA