Sunteți pe pagina 1din 6

MODULACION ASK, FSK Y PSK en MATLAB

MODULACION ASK En la modulacin digital de amplitud (ASK), la amplitud de la portadora sinusoidal se conmuta entre dos valores en respuesta al cdigo PCM. Por ejemplo, el valor 0 se puede transmitir como una amplitud de A volts, mientras que el estado 1 se transmite como una seal sinusoidal de amplitud de B volts. La seal ASK resultante consiste en impulsos modulados, llamados marcas, que representan el estado 1, y espacios que representan el estado 0. Funcin: ASK([Tren de pulsos binarios],Frecuencia) Ejemplo: ASK([1 0 1 1 0 1 0 0 0 1 ],2)

Otto Garca ottogarciausac@gmail.com

CODIGO DE LA FUNCION EN MATLAB:

function ASK(g,f) %Modulacin 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('Seal Binaria'); axis([0 100*length(g) -2.5 2.5]); subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on; title('Modulacin ASK'); axis([0 100*length(g) -2.5 2.5]);

Otto Garca ottogarciausac@gmail.com

MODULACION PSK En la modulacin BPSK la fase de la portadora conmuta de acuerdo al estado de la seal binaria. En este tipo de modulacin el desfase es de 180 si se transmite un 0 y de 0 si se transmite un 1 Funcin: PSK([Tren de pulsos binarios],Frecuencia) Ejemplo: PSK([1 0 0 1 0 1 1 0 1 1],2)

Otto Garca ottogarciausac@gmail.com

CODIGO DE LA FUNCION EN MATLAB:

function PSK(g,f) %Modulacin 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); se=zeros(1,100); else g(n)==1; die=ones(1,100); se=ones(1,100); end c=sin(f*t); cp=[cp die]; mod=[mod c]; bit=[bit se]; end

%Modulante %Seal %Modulante %Seal

bpsk=cp.*mod; subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on; title('Seal Binaria'); axis([0 100*length(g) -2.5 2.5]); subplot(2,1,2);plot(bpsk,'LineWidth',1.5);grid on; title('Modulacin PSK'); axis([0 100*length(g) -2.5 2.5]);

Otto Garca ottogarciausac@gmail.com

MODULACION FSK En la modulacin 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. Funcin: PSK([Tren de pulsos binarios],Frecuencia1,Frecuencia2) Ejemplo: PSK([1 0 0 1 0 1 1 0 1 1],2)

Otto Garca ottogarciausac@gmail.com

CODIGO DE LA FUNCION EN MATLAB:

function FSK(g,f0,f1) %FSK modulacin %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('Seal Binaria'); axis([0 100*length(g) -2.5 2.5]); subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on; title('Modulacin FSK'); axis([0 100*length(g) -2.5 2.5]);

Otto Garca ottogarciausac@gmail.com

S-ar putea să vă placă și