Está en la página 1de 9

Modulacin FM:

function varargout = FMM(varargin)


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename,
'gui_Singleton', gui_Singleton,
'gui_!"eningFcn', #FMM_!"eningFcn,
'gui_!ut"utFcn', #FMM_!ut"utFcn,
'gui_$a%outFcn', &' ,
'gui_(all)ac*', &');
if nargin + isstr(varargin,1-)
gui_Stategui_(all)ac* = str.func(varargin,1-);
end
if nargout
&varargout,1:nargout-' = gui_mainfcn(gui_State, varargin,:-);
else
gui_mainfcn(gui_State, varargin,:-);
end
/===============================================================
===
function FMM_!"eningFcn(0!)1ect, eventdata, 0andles, varargin)
0andlesout"ut = 0!)1ect;
guidata(0!)1ect, 0andles);
glo)al $_medio; /Mitad de la cantidad de muestras a recolectar
$_medio=1222;
glo)al Nfft; /(antidad de "untos "ara calcular la FF3
Nfft=.245;
glo)al fm; /Frecuencia de muesreo seg6n N%7uist
fm=52222; /Frecuencia de muesreo seg6n N%7uist
glo)al tre7; /3iem"o re7uerido "ara recolectar $ muestras
tre7=.8$_medio9fm; /3iem"o re7uerido "ara recolectar $ muestras
glo)al fs;
fs=((.8$_medio:1)9tre7); /;ivisin de tiem"o "ara recolectar $ muestras

glo)al n; /<ector de muestras a recolectar
n=2:19fs:tre7;
glo)al t1; /<ector en cantidad de muestras recolectadas
t1=2:lengt0(n):1;
/<ector de frecuencias "ara los es"ectros en frecuencia
glo)al M;
M=Nfft9.;
fau=(M>1:Nfft)=2:M:1; /<ector de frecuencias desordenado
fau=(1:M)=:M::1; /<ector de frecuencias ordenado
glo)al f;
f=fm8fau=9(Nfft); /<ector de frecuencias normali?ado
==2;
a=es(0andlesa=es1)
"lot(n,=)
title(';ominio del tiem"o');
=la)el('3iem"o &S'');
@ABS(&2 222C :1 1')
set(0andlesa=es1,'AMinor3ic*','on')
grid on
a=es(0andlesa=es.)
"lot(f,=)
title(';omininio del la Frecuencia');
=la)el('Frecuencia &D?'');
@ABS(&2 .222 2 1')
set(0andlesa=es.,'AMinor3ic*','on')
grid on
/===============================================================
===
function varargout = FMM_!ut"utFcn(0!)1ect, eventdata, 0andles)
varargout,1- = 0andlesout"ut;
/===============================================================
===
function am_(reateFcn(0!)1ect, eventdata, 0andles)
if is"c
set(0!)1ect,'Eac*ground(olor','F0ite');
else
set(0!)1ect,'Eac*ground(olor',get(2,'defaultGicontrolEac*ground(olor'));
end
/===============================================================
===
function am_(all)ac*(0!)1ect, eventdata, 0andles)
<al=get(0!)1ect,'String');
NeF<al = str.dou)le(<al);
0andlesam=NeF<al;
guidata(0!)1ect,0andles);
/===============================================================
===
function fm_(reateFcn(0!)1ect, eventdata, 0andles)
if is"c
set(0!)1ect,'Eac*ground(olor','F0ite');
else
set(0!)1ect,'Eac*ground(olor',get(2,'defaultGicontrolEac*ground(olor'));
end
/===============================================================
===
function fm_(all)ac*(0!)1ect, eventdata, 0andles)
<al=get(0!)1ect,'String');
NeF<al = str.dou)le(<al);
0andlesfm=NeF<al;
guidata(0!)1ect,0andles);
/===============================================================
===
function a"_(reateFcn(0!)1ect, eventdata, 0andles)
if is"c
set(0!)1ect,'Eac*ground(olor','F0ite');
else
set(0!)1ect,'Eac*ground(olor',get(2,'defaultGicontrolEac*ground(olor'));
end
/===============================================================
===
function a"_(all)ac*(0!)1ect, eventdata, 0andles)
<al=get(0!)1ect,'String');
NeF<al = str.dou)le(<al);
0andlesa"=NeF<al;
guidata(0!)1ect,0andles);
/===============================================================
===
function f"_(reateFcn(0!)1ect, eventdata, 0andles)
if is"c
set(0!)1ect,'Eac*ground(olor','F0ite');
else
set(0!)1ect,'Eac*ground(olor',get(2,'defaultGicontrolEac*ground(olor'));
end
/===============================================================
===
function f"_(all)ac*(0!)1ect, eventdata, 0andles)
<al=get(0!)1ect,'String');
NeF<al = str.dou)le(<al);
0andlesf"=NeF<al;
guidata(0!)1ect,0andles);
/===============================================================
===
function im_(reateFcn(0!)1ect, eventdata, 0andles)
if is"c
set(0!)1ect,'Eac*ground(olor','F0ite');
else
set(0!)1ect,'Eac*ground(olor',get(2,'defaultGicontrolEac*ground(olor'));
end
/===============================================================
===
function im_(all)ac*(0!)1ect, eventdata, 0andles)
<al=get(0!)1ect,'String');
NeF<al = str.dou)le(<al);
0andlesim=NeF<al;
guidata(0!)1ect,0andles);
/===============================================================
===
function "smensa1e_(all)ac*(0!)1ect, eventdata, 0andles)
glo)al $_medio;
glo)al Nfft;
glo)al fm;
glo)al tre7;
glo)al fs;
glo)al n;
glo)al t1;
glo)al M;
glo)al f;
@=0andlesam;
F=0andlesfm;
/Se genera la seHal a modular
@m=@; /@m"litud de la seHal a modular
Fm=.8"i8F; /Frecuencia de la seHal a modular
"0i=2; /Fase de la seHal a modular
mt=@m8cos(Fm8n>"0i); /SeHal a modular
a=es(0andlesa=es1)
"lot(n,mt,'lineFidt0', I, 'color', ')lac*')
title(';ominio del tiem"o de la seHal mensa1e');
=la)el('3iem"o &S'');
%la)el('@m"litud m(t) ');
te=to=strcat('mensa1e de ', num.str(F), 'D?');
legend(te=to);
@ABS(&2 .8(19F) :@ @');
set(0andlesa=es1,'AMinor3ic*','on')
grid on
/88888888888888888888888888888888888888888888888888888888888888888888888
888
J1=fft(mt,Nfft); /FF3 de Nfft "untos "ara la seHal FM
J1=ffts0ift(J1); /Keordenamiento de los valores de la FF3
lengt0(J1);
norm1=ma=(a)s(J1)); /Lara normali?ar el es"ectro en magnitud
Jf1=unFra"(angle(J1)); /(Mlculo de las com"onentes de fase de la seHal
a=es(0andlesa=es.)
"lot(f,a)s(J1)9norm1,'lineFidt0', I, 'color', ')lac*');
legend('Ns"ectro de m(t)');
title('Ns"ectro continuo en magnitud de la seHal mensa1e');
=la)el('Frecuencia (D?)');
%la)el('Magnitud normali?ada OFF3O');
legend('Ns"ectro Mensa1e m(t)');
=lim(&:58F 58F');
grid on;
/===============================================================
===
function "s"ortadora_(all)ac*(0!)1ect, eventdata, 0andles)
glo)al $_medio;
glo)al Nfft;
glo)al fm;
glo)al tre7;
glo)al fs;
glo)al n;
glo)al t1;
glo)al M;
glo)al f;
@=0andlesa";
F=0andlesf";
@c=@; /@m"litud de la seHal "ortadora
Fc=.8"i8F; /Frecuencia de la seHal "ortadora
st=@c8cos(Fc8n); /SeHal FM
a=es(0andlesa=es1)
"lot(n,st,'lineFidt0',I, 'color', ')lac*')
title(';ominio del tiem"o de seHal "ortadora');
=la)el('3iem"o &S'');
%la)el('@m"litud de c(t)');
te=to=strcat('"ortadora de ', num.str(F), 'D?');
legend(te=to);
@ABS(&2 .8(19F) :@ @')
set(0andlesa=es1,'AMinor3ic*','on')
grid on
/88888888888888888888888888888888888888888888888888888888888888888888888
888
J1=fft(st,Nfft); /FF3 de Nfft "untos "ara la seHal FM
J1=ffts0ift(J1); /Keordenamiento de los valores de la FF3
norm1=ma=(a)s(J1)); /Lara normali?ar el es"ectro en magnitud
Jf1=unFra"(angle(J1)); /(Mlculo de las com"onentes de fase de la seHal
a=es(0andlesa=es.)
"lot(f,a)s(J1)9norm1, 'lineFidt0', I, 'color', ')lac*');
title('Ns"ectro continuo en magnitud de la seHal "ortadora');
=la)el('Frecuencia (D?)');
%la)el('Magnitud normali?ada OFF3O');
legend('Ns"ectro Lortadora c(t)');
=lim(&:58F 58F');
grid on;
/88888888888888888888888888888888888888888888888888888888888888888888888
888
function "ssmodulada_(all)ac*(0!)1ect, eventdata, 0andles)
glo)al $_medio;
glo)al Nfft;
glo)al fm;
glo)al tre7;
glo)al fs;
glo)al n;
glo)al t1;
glo)al M;
glo)al f;
@=0andlesam;
F=0andlesfm;
inm=0andlesim;
@.=0andlesa";
F.=0andlesf";
@m=@; /@m"litud de la seHal a modular
Fm=.8"i8F; /Frecuencia de la seHal a modular
"0i=2; /Fase de la seHal a modular
mt=@m8cos(Fm8n>"0i); /SeHal a modular
/Larametros necesarios "ara la modulacin FM
)eta=inm; /Bndice de modulacin
*F=)eta8Fm9@m; /;esviacin de frecuencia
"0i=:"i9.; /Se desfasa la seHal
mt1=@m8cos(Fm8n>"0i); /Se utili?a la seHal original "ara generar el
desf=)eta8mt1; /;esfase de la "ortadora
/Se genera la seHal FM
@c=@.; /@m"litud de la seHal "ortadora
Fc=.8"i8F.; /Frecuencia de la seHal "ortadora
st=@c8cos(Fc8n>desf); /SeHal FM
ind*=)eta;
gfm = modulate(mt,Fc9(.8"i),fm,'fm',ind*);
a=es(0andlesa=es1)
"lot(n,gfm,'lineFidt0', I, 'color', ')lac*');
title('SeHal FM resultante a "artir de m(t)');
=la)el('3iem"o &S'');
%la)el('s(t)');
te=to=strcat('seHal modulada con )eta = ', num.str()eta));
legend(te=to );
grid on;
/PPPPPPPPPPPPPPPPPPPPPPPPPP
J1=fft(gfm,Nfft); /FF3 de Nfft "untos "ara la seHal FM
J1=ffts0ift(J1); /Keordenamiento de los valores de la FF3
norm1=ma=(a)s(J1)); /Lara normali?ar el es"ectro en magnitud
Jf1=unFra"(angle(J1)); /(Mlculo de las com"onentes de fase de la seHal
a=es(0andlesa=es.)
"lot(f,a)s(J1)9norm1, 'lineFidt0', I, 'color', ')lac*');
title('Ns"ectro continuo en magnitud de la seHal resultante FM');
=la)el('Frecuencia (D?)');
%la)el('Magnitud normali?ada OFF3O');
legend('Ns"ectro FM');
=lim(&:IQ8F IQ8F');
grid on;
function "ssdmodulada_(all)ac*(0!)1ect, eventdata, 0andles)
glo)al $_medio;
glo)al Nfft;
glo)al fm;
glo)al tre7;
glo)al fs;
glo)al n;
glo)al t1;
glo)al M;
glo)al f;
@=0andlesam;
F=0andlesfm;
inm=0andlesim;
@.=0andlesa";
F.=0andlesf";
@m=@; /@m"litud de la seHal a modular
Fm=.8"i8F; /Frecuencia de la seHal a modular
"0i=2; /Fase de la seHal a modular
mt=@m8cos(Fm8n>"0i); /SeHal a modular
/Larametros necesarios "ara la modulacin FM
)eta=inm; /Bndice de modulacin
*F=)eta8Fm9@m; /;esviacin de frecuencia
"0i=:"i9.; /Se desfasa la seHal
mt1=@m8cos(Fm8n>"0i); /Se utili?a la seHal original "ara generar el
desf=)eta8mt1; /;esfase de la "ortadora
/Se genera la seHal FM
@c=@.; /@m"litud de la seHal "ortadora
Fc=.8"i8F.; /Frecuencia de la seHal "ortadora
st=@c8cos(Fc8n>desf); /SeHal FM
ind*=)eta;
gfm = modulate(mt,Fc9(.8"i),fm,'fm',ind*);
rmt1=Q8demod(gfm,Fc9(.8"i),fm,'fm');
a=es(0andlesa=es1)
"lot(n,rmt1, 'lineFidt0', I, 'color', ')lac*');
title('SeHal FM generada a "artir de m(t)');
=la)el('3iem"o&S'');
%la)el('s(t)');
legend('SeHal Kecu"erada');
grid on;
/PPPPPPPPPPPPPPPPPPPPPPPPPP
J1=fft(rmt1,Nfft); /FF3 de Nfft "untos "ara la seHal FM
J1=ffts0ift(J1); /Keordenamiento de los valores de la FF3
norm1=ma=(a)s(J1)); /Lara normali?ar el es"ectro en magnitud
Jf1=unFra"(angle(J1)); /(Mlculo de las com"onentes de fase de la seHal
a=es(0andlesa=es.)
"lot(f,a)s(J1)9norm1, 'lineFidt0', I, 'color', ')lac*');
title('Ns"ectro continuo en magnitud de la seHal "ortadora');
=la)el('Frecuencia (D?)');
%la)el('Magnitud normali?ada OFF3O');
legend('Ns"ectro de seHal recu"erada');
=lim(&:IQ8F IQ8F');
grid on;
function "us0)uttonQ_(all)ac*(0!)1ect, eventdata, 0andles)
glo)al $_medio;
glo)al Nfft;
glo)al fm;
glo)al tre7;
glo)al fs;
glo)al n;
glo)al t1;
glo)al M;
glo)al f;
@=0andlesam;
F=0andlesfm;
inm=0andlesim;
@.=0andlesa";
F.=0andlesf";
@m=@; /@m"litud de la seHal a modular
Fm=.8"i8F; /Frecuencia de la seHal a modular
"0i=2; /Fase de la seHal a modular
mt=@m8cos(Fm8n>"0i); /SeHal a modular
/Larametros necesarios "ara la modulacin FM
)eta=inm; /Bndice de modulacin
*F=)eta8Fm9@m; /;esviacin de frecuencia
"0i=:"i9.; /Se desfasa la seHal
mt1=@m8cos(Fm8n>"0i); /Se utili?a la seHal original "ara generar el
desf=)eta8mt1; /;esfase de la "ortadora
/Se genera la seHal FM
@c=@.; /@m"litud de la seHal "ortadora
Fc=.8"i8F.; /Frecuencia de la seHal "ortadora
st=@c8cos(Fc8n>desf); /SeHal FM
ind*=)eta;
gfm = modulate(mt,Fc9(.8"i),fm,'fm',ind*);
rmt1=.R8demod(gfm,Fc9(.8"i),fm,'fm');
a=es(0andlesa=es1)
"lot(n,mt, 'lineFidt0', I, 'color', ')lac*');
title('SeHal !riginal vrs SeHal demodulafa');
=la)el('3iem"o &S'');
%la)el('s(t)');
legend('SeHal !riginal');
grid on;
a=es(0andlesa=es.)
"lot(n, rmt1, 'lineFidt0', I, 'color', ')lue');
title('SeHal FM generada a "artir de m(t)');
=la)el('3iem"o&s'');
%la)el('s(t)');
legend('SeHal Kecu"erada');
grid on;

También podría gustarte