TEORÍA DE LA COMUNICACIONES II
MODULACION ASK, FSK Y PSK en MATLAB
MODULACION ASK
La modulación por desplazamiento de amplitud, en inglés Amplitude-shift keying (ASK), es una
forma de modulación en la cual se representan los datos digitales como variaciones de
amplitud de la onda portadora en función de los datos a enviar.
La amplitud de una señal portadora análoga varía conforme a la corriente de bit (modulando la
señal), manteniendo la frecuencia y la fase constante. El nivel de amplitud puede ser usado
para representar los valores binarios 0s y 1s. Podemos pensar en la señal portadora como un
interruptor ON/OFF. En la señal modulada, el valor lógico 0 es representado por la ausencia de
una portadora, así que da ON/OFF la operación de pulsación y de ahí el nombre dado.
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)
TEORÍA DE LA COMUNICACIONES II
CODIGO DE LA FUNCION EN MATLAB:
function ASK(g,f)
%Modulación ASK
%Ejemplo:
%ASK([1 0 1 1 0],2)
if nargin > 2
error('Demasiados argumentos de entrada')
elseif nargin==1
f=1;
end
if f<1;
error('Frecuencia debe ser mayor que 1');
end
t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:length(g);
if g(n)==0;
die=ones(1,100);
se=zeros(1,100);
else g(n)==1;
die=2*ones(1,100);
se=ones(1,100);
end
c=sin(f*t);
cp=[cp die];
mod=[mod c];
bit=[bit se];
end
ask=cp.*mod;
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]);
TEORÍA DE LA COMUNICACIONES II
MODULACION PSK
La modulación por desplazamiento de fase o PSK (Phase Shift Keying) es una forma de
modulación angular que consiste en hacer variar la fase de la portadora entre un número de
valores discretos. La diferencia con la modulación de fase convencional (PM) es que mientras
en ésta la variación de fase es continua, en función de la señal moduladora, en la PSK la señal
moduladora es una señal digital y, por tanto, con un número de estados limitado.
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)
TEORÍA DE LA COMUNICACIONES II
CODIGO DE LA FUNCION EN MATLAB:
function PSK(g,f)
%Modulación PSK
%Ejemplo para ingresar datos:
%PSK([1 0 1 1 0],2)
if nargin > 2
error('Demasiados argumento de entrada');
elseif nargin==1
f=1;
end
if f<1;
error('Frecuencia tiene que se mayor que 1');
end
t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:length(g);
if g(n)==0;
die=-ones(1,100); %Modulante
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);
cp=[cp die];
mod=[mod c];
bit=[bit se];
end
bpsk=cp.*mod;
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]);
TEORÍA DE LA COMUNICACIONES II
MODULACION FSK
La modulación por desplazamiento de frecuencia o FSK —del inglés Frequency Shift Keying—
es una técnica de modulación para la transmisión digital de información utilizando dos o más
frecuencias diferentes para cada símbolo.1 La señal moduladora solo varía entre dos valores
de tensión discretos formando un tren de pulsos donde uno representa un "1" o "marca" y el
otro representa el "0" o "espacio".
En la modulación digital, a la relación de cambio a la entrada del modulador se le llama bit-rate
y tiene como unidad el bit por segundo (bps).
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 pulsos binarios],Frecuencia1,Frecuencia2)
Ejemplo:
PSK([1 0 0 1 0 1 1 0 1 1],2)
TEORÍA DE LA COMUNICACIONES II
CODIGO DE LA FUNCION EN MATLAB:
function FSK(g,f0,f1)
%FSK modulación
%Ejemplo:(f0 y f1 deben ser enteros)
%FSK([1 0 1 1 0],1,2)
if nargin > 3
error('Demasiados argumentos de entrada')
elseif nargin==1
f0=1;f1=2;
elseif nargin==2
f1=2;
end
val0=ceil(f0)-(f0);
val1=ceil(f1)-(f1);
if val0 ~=0 || val1 ~=0;
error('Frecuencia debe ser un entero');
end
if f0<1 || f1<1;
error('Frecuencia debe ser mayor que 1');
end
t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:length(g);
if g(n)==0;
die=ones(1,100);
c=sin(f0*t);
se=zeros(1,100);
else g(n)==1;
die=ones(1,100);
c=sin(f1*t);
se=ones(1,100);
end
cp=[cp die];
mod=[mod c];
bit=[bit se];
end
ask=cp.*mod;
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 FSK');
axis([0 100*length(g) -2.5 2.5]);