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;