Subido por José Daniel Albarracin

Laboratorio ASK, PSK Y FSK

Anuncio
INF-MCU
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SISTEMAS DE COMUNICACIONES II
Versión: 1.0
Página: 1 de 4
LABORATORIO MODULACION DIGITAL
“ASK, FSK, PSK”
Gustavo Hernández 1161026
José Daniel Albarracín 1161055
I. INTRODUCCION
La industria de las comunicaciones electrónicas ha
venido reemplazando poco a poco las técnicas
convencionales analógicas de modulación, como son
AM (modulación de amplitud), FM (modulación de
frecuencia) y PM (modulación de fase) por sistemas
digitales de comunicaciones. Esto, debido a las
ventajas que presenta la modulación digital: mayor
inmunidad al ruido, sencillez de procesamiento, alta
seguridad de los datos y multicanalización.
En esencia las modulaciones digitales constan en el
procesamiento de algunos parámetros de una onda
portadora en función a otra señal conocida
generalmente como onda moduladora la cual es una
señal digital binaria (de “1” y “0”) que porta la
información, para que la misma sea transmitida por
un canal. Dentro de este tipo de modulaciones se
pueden considerar entre las más resaltantes ASK,
FSK y PSK para los sistemas de comunicación
digitales.
II. OBJETIVO GENERAL
Se tiene como objetivo realizar simulaciones en
matlab para poder conocer y entender más sobre los
diferentes tipos de modulaciones digitales,
puntualmente sobre ASK, PSK y FSK.
III. OBJETIVOS ESPECIFICO




Realizar la programación script en Matlab
para las modulaciones digitales ASK, PSK y
FSK.
Analizar y entender las simulaciones sobre
los diferentes tipos de modulación ASK, PSK
y FSK.
Analizar las gráficas resultantes para
entender el comportamiento de cada
modulación.
Realizar comparaciones de las gráficas
resultantes de las modulaciones ASK, PSK y
FSK.
IV. DESARROLLO DEL INFORME
MODULACION ASK
En la modulación digital de amplitud (ASK), la
amplitud de la portadora sinusoidal se conmuta entre
dos valores en respuesta al código PCM. Por
ejemplo, el valor 0 se puede transmitir como una
amplitud de A volts, mientras que el estado 1 se
transmite como una señal sinusoidal de amplitud de
B volts. La señal ASK resultante consiste en
impulsos modulados, llamados marcas, que
representan el estado 1, y espacios que representan el
estado 0.
Función:
ASK([Tren de pulsos binarios],Frecuencia)
Ejemplo: ASK([1 0 1 1 0 1 0 0 0 1 ],2)
INF-MCU
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SISTEMAS DE COMUNICACIONES II
Versión: 1.0
Página: 2 de 4
Código Matlab:
function ASK(g,f)
%Modulación ASK
%Ejemplo:
%Ask([1 0 1 1 0 1 0 0 0 1 ],2)
if nargin > 2
error('Demasiados argumentos de entrada'
) %%Determina el número de argumentos de
entrada o en una función definida
elseif nargin==1
%%por el usuario o en una función
interna.
f=1;
end
if f<1;
error('Frecuencia debe ser mayor que 1'
); %%Verifica que la frecuencia ingresada
no sea menos a 1.
end
t=0:2*pi/99:2*pi; %%Definimos el periodo.
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:length(g); %Definimos un For para
que evalue cada columna del dato
ingresado.
if g(n)==0;%%Apartir de aquí empezamos a
verificar si el dato leido es un 0 o un 1
die=ones(1,100);%% y vamos armando la
grafica del tren de pulsos y tambien la
de la Ask resultante
se=zeros(1,100);
else g(n)==1;%%Cuando es un 1
multiplicamos la amplitud por 2
die=2*ones(1,100);
se=ones(1,100);
end
c=sin(f*t);%%Definimos una senoidal
cp=[cp die];%%Almanaremos cada valor
evaluado de cada ciclo en un vector en
las proximas lineas de codigo
mod=[mod c];
bit=[bit se];
end
ask=cp.*mod;%Armamos la dada
representativa de la ASK
%GRAFICAMOS LAS 2 SEÑALES
subplot(2,1,1);plot(bit,
'LineWidth',1.5);grid on;
title('Señal Binaria');
axis([0 100*length(g) -2.5 2.5]);
subplot(2,1,2);plot(ask,
'LineWidth',1.5);grid on;
title('Modulación ASK');
axis([0 100*length(g) -2.5 2.5]);
Figura 1. Grafica de la señal ASK
MODULACION PSK
En la modulación BPSK la fase de la portadora
conmuta de acuerdo al estado de la señal binaria. En
este tipo de modulación el desfase es de 180º si se
transmite un 0 y de 0º si se transmite un 1
Función:
PSK([Tren de pulsos binarios],Frecuencia)
Ejemplo:
PSK([1 0 0 1 0 1 1 0 1 1],2)
Código Matlab:
function PSK(g,f)
%Modulación PSK
%Ejemplo para ingresar datos:
%PSK([1 0 0 1 0 1 1 0 1 1],2)
if nargin > 2 %%Determina el número de
argumentos de entrada o en una función
definida
error('Demasiados argumento de entrada'
); %%por el usuario o en una función
interna.
elseif nargin==1
f=1;
end
if f<1;
error('Frecuencia tiene que se mayor que
1' ); %%Verifica que la frecuencia
ingresada no sea menos a 1.
INF-MCU
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SISTEMAS DE COMUNICACIONES II
end
t=0:2*pi/99:2*pi; %Establecemos el
periodo
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:length(g);%Definimos un For para
que evalue cada columna del dato
ingresado.
if g(n)==0;
die=-ones(1,100); %Modulante %%
Invertimos la face de la señal la phase
de la señal
se=zeros(1,100); %Señal
else g(n)==1;
die=ones(1,100); %Modulante
se=ones(1,100); %Señal
end
c=sin(f*t);%%Definimos una senoidal
cp=[cp die];%%Almanaremos cada valor
evaluado de cada ciclo en un vector en
las proximas lineas de codigo
mod=[mod c];
bit=[bit se];
end
bpsk=cp.*mod;%Armamos la dada
representativa de la PSK
%GRAFICAMOS LAS 2 SEÑALES
subplot(2,1,1);plot(bit,
'LineWidth',1.5);grid on;
title('Señal Binaria');
axis([0 100*length(g) -2.5 2.5]);
subplot(2,1,2);plot(bpsk,
'LineWidth',1.5);grid on;
title('Modulación PSK');
axis([0 100*length(g) -2.5 2.5]);
Figura 2. Grafica de la señal PSK
Versión: 1.0
Página: 3 de 4
MODULACION FSK
En la modulación FSK la frecuencia de la portadora
cambia de acuerdo al valor de la modulante. Esto es,
para un 0 se tendrá una frecuencia f0 y para un 1 se
tendrá una frecuencia f1.
Función:
PSK([Tren de
Frecuencia2)
pulsos
binarios],
Frecuencia1,
Ejemplo:
PSK([1 0 0 1 0 1 1 0 1 1], 1, 2)
Código Matlab:
function FSK(g,f0,f1)
%FSK modulación
%Ejemplo:(f0 y f1 deben ser enteros)
%FSK([1 0 0 1 0 1 1 0 1 1],1,2)
if nargin > 3 %%Determina el número de
argumentos de entrada o en una función
definida
error('Demasiados argumentos de entrada'
)
elseif nargin==1
f0=1;f1=2;
elseif nargin==2
f1=2;
end
val0=ceil(f0)-(f0);%% El comando ceil
redondea cada elemento del Xnúmero entero
más cercano mayor
val1=ceil(f1)-(f1); %%o igual que ese
elemento.
if val0 ~=0 || val1 ~=0;
error('Frecuencia debe ser un entero'
);%%Se verifica que las frecuencias sean
enteros.
end
if f0<1 || f1<1;
error('Frecuencia debe ser mayor que 1'
); %%Verifica que la frecuencia ingresada
no sea menos a 1.
end
t=0:2*pi/99:2*pi; %%Definimos el periodo.
cp=[];sp=[];%% Inicializamos los vectores
que almacenaran las variables.
mod=[];mod1=[];bit=[];
INF-MCU
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
PROGRAMA DE INGENIERÍA ELECTRÓNICA
SISTEMAS DE COMUNICACIONES II
for n=1:length(g);%Definimos un For para
que evalue cada columna del dato
ingresado.
if g(n)==0;
die=ones(1,100);%para 0 mantiene la
frecuencia f0 y para 1 varia la
frecuencia con f1.
c=sin(f0*t);%%Definimos una senoidal
se=zeros(1,100);
else g(n)==1;
die=ones(1,100);
c=sin(f1*t);%%Definimos una senoidal
se=ones(1,100);
end
cp=[cp die];%Almanaremos cada valor
evaluado de cada ciclo en un vector en
las proximas lineas de codigo.
mod=[mod c];
bit=[bit se];
end
fsk=cp.*mod; %%Armamos la dada
representativa de la PSK
%GRAFICAMOS LAS 2 SEÑALES
subplot(2,1,1);plot(bit,
'LineWidth',1.5);grid on;
title('Señal Binaria');
axis([0 100*length(g) -2.5 2.5]);
subplot(2,1,2);plot(fsk,
'LineWidth',1.5);grid on;
title('Modulación FSK');
axis([0 100*length(g) -2.5 2.5]);
Figura 3. Grafica de la señal SK
Versión: 1.0
Página: 4 de 4
V. CONCLUSIONES
Descargar