You are on page 1of 5

MODULACION EN FM EN MATLAB

OBJETIVO.En base del estudio terico comprender la operacin y caractersticas


ms importantes del programa desarrollado.
MATERIALES.- PC
- Programa matlab
INTRODUCCION:
Las seales de informacin deben ser transportadas entre un transmisor
y un receptor sobre alguna forma de medio de transmisin. Sin
embargo, las seales de informacin pocas veces encuentran una forma
adecuada para la transmisin. la modulacin se define como el proceso
de transformar informacin de su forma original a una forma ms
adecuada para la transmisin. Demodulacin es el proceso inverso. La
modulacin se realiza en el transmisor en un circuito llamado modulador.
FM- MODULACION EN FRECUENCIA
Es el modo utilizado por las emisoras en VHF, Canales de TV y muchos
"transceptores" porttiles (walkie-talkie, handy). Modular en FM es variar
la frecuencia de la portadora al "ritmo" de la informacin (audio), lo cual
significa que en una seal de FM, la amplitud y la fase de la seal
permanecen constante y la frecuencia cambia en funcin de los cambios
amplitud y frecuencia de la seal que se desea transmitir(audio).
En una seal se pueden variar tres propiedades: la amplitud, la
frecuencia y la fase. El proceso de modulacin consiste en variar algunos
de estos parmetros en la seal portadora, de acuerdo a la seal que se
desea modular. La modulacin en frecuencia consiste en variar la
frecuencia de la seal portadora. La modulacin FM es inmune a las no
linealidades. Las no linealidades en este caso generan ondas moduladas
con portadoras mltiplos de la original.
Esta caracterstica hace a FM til en aquellos sistemas de transmisin de
alta potencia ya que el uso de amplificadores permite altos
rendimientos. Una seal FM es generada utilizando la seal de banda
base para cambiar la frecuencia instantnea de la seal portadora pero
sin cambiar su amplitud.
CODIGO EN MATLAB

%************************************************************************
%
UNIVERSIDAD PRIVADA DEL VALLE
% ESTUDIANTE:VICTOR ALFONZO MAMANI ZARATE
% FACULTAD: INGENIERIA ELECTRONICA
%************************************************************************
%************************************************************************
%Se limpia el workspace de MATLAB y las variables en uso.
%clc;
%clear;
%************************************************************************
%************************************************************************
%
MODULACION FM
%************************************************************************
%Punto (1)
%************************************************************************
L_medio=1000;
%Mitad de la cantidad de muestras a recolectar
Nfft=2048;
%Cantidad de puntos para calcular la FFT
fm=80000;
%Frecuencia de muesreo segn Nyquist
treq=2*L_medio/fm;
%Tiempo requerido para recolectar L muestras
fs=((2*L_medio-1)/treq); %Divisin de tiempo para recolectar L muestras
n=0:1/fs:treq;
%Vector de muestras a recolectar
t1=0:length(n)-1;
%Vector en cantidad de muestras recolectadas
%Vector de frecuencias para los espectros en frecuencia
M=Nfft/2;
faux(M+1:Nfft)=0:M-1;
%Vector de frecuencias desordenado
faux(1:M)=-M:-1;
%Vector de frecuencias ordenado
f=fm*faux/(Nfft);
%Vector de frecuencias normalizado
%Se genera la seal a modular
Am=1;
%Amplitud de la seal a modular
wm=2*pi*100;
%Frecuencia de la seal a modular
phi=0;
%Fase de la seal a modular
mt=Am*cos(wm*n+phi);
%Seal a modular
%Parametros necesarios para la modulacin FM
beta=5;
%Indice de modulacin
kw=beta*wm/Am;
%Desviacin de frecuencia
phi=-pi/2;
%Se desfasa la seal
mt1=Am*cos(wm*n+phi);
%Se utiliza la seal original para generar el
desf=beta*mt1;
%Desfase de la portadora
%Se genera la seal FM
Ac=1;
%Amplitud de la seal portadora
wc=2*pi*1000;
%Frecuencia de la seal portadora
st=Ac*cos(wc*n+desf);
%Seal FM
%************************************************************************
%************************************************************************
%Punto (2)
%************************************************************************
%Se grafican la seal a modular y la seal FM
figure(1);
subplot(2,1,1);
plot(t1,mt);

title('Seal de entrada original');


xlabel('Tiempo (Cantidad de muestras)');
ylabel('m(t)');
txtp=strcat('fn = ',num2str(fs),' Hz');
legend(txtp);
grid on;
subplot(2,1,2);
plot(t1,st);
title('Seal FM generada a partir de m(t)');
xlabel('Tiempo (Cantidad de muestras)');
ylabel('s(t)');
txtp=strcat('fn = ',num2str(fs),' Hz');
legend(txtp);
grid on;
%************************************************************************
%************************************************************************
%Punto (3)
%************************************************************************
%CALCULO DE LOS ESPECTROS
%Clculo de la DFT utilzando la FFT para la seal FM
Y1=fft(st,Nfft); %FFT de Nfft puntos para la seal FM
Y1=fftshift(Y1); %Reordenamiento de los valores de la FFT
norm1=max(abs(Y1)); %Para normalizar el espectro en magnitud
Yf1=unwrap(angle(Y1)); %Clculo de las componentes de fase de la seal
figure(2)
%subplot(3,1,1)
plot(f,abs(Y1)/norm1);
title('Espectro continuo en magnitud de la seal de entrada');
xlabel('Frecuencia (Hz)');
ylabel('Magnitud normalizada |FFT|');
txt=strcat('Nfft=',num2str(Nfft),' puntos');
legend(txt);
xlim([-1*10000 1*10000]);
grid on;
%************************************************************************
%************************************************************************
%Punto (4)
%************************************************************************
%Modulacin FM utilizando "modulate"
%Se utiliza la misma seal del punto (1)
%Seal modulada (FM)
indk=0.039;
gfm = modulate(mt,wc/(2*pi),fm,'fm',indk);
%************************************************************************
%************************************************************************
%Punto (5)
%************************************************************************
%Representacin grfica de las seales
figure(3);
subplot(2,1,1);
plot(n,mt);
txt=strcat('Seal a modular m(t) (f=',num2str(wm/(2*pi)),' Hz)');
title(txt);
xlabel('Tiempo (segundos)');
ylabel('m(t)');

txt=strcat('fn = ',num2str(fs),' Hz');


legend(txt);
grid on;
subplot(2,1,2);
plot(n,gfm);
txt1=strcat('Seal FM generada a partir de m(t) (\beta =',num2str(beta),'
fc= ',num2str(wc/(2*pi)),' Hz)');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;
%************************************************************************
%************************************************************************
%Punto (6)
%************************************************************************
%Modulacin FM utilizando "modulate" para difrentes ndices de modulacin
%Se utiliza la misma seal del punto (1)
%Seal modulada (FM)
indk=[0.1 0.09 0.5];
gfm1 = modulate(mt,wc/(2*pi),fm,'fm',indk(1));
gfm2 = modulate(mt,wc/(2*pi),fm,'fm',indk(2));
gfm3 = modulate(mt,wc/(2*pi),fm,'fm',indk(3));
%************************************************************************
%************************************************************************
%Punto (7)
%************************************************************************
%Representacin grfica de las seales
figure(4);
subplot(3,1,1);
plot(n,gfm1);
xlim([0 treq/2]);
txt1=strcat('Seal FM generada utilizando "modulate" (con
opt=',num2str(indk(1)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('m(t)');
txt=strcat('fn = ',num2str(fs),' Hz');
legend(txt);
grid on;
subplot(3,1,2);
plot(n,gfm2);
txt1=strcat('Seal FM generada utilizando "modulate" (con
opt=',num2str(indk(2)),')');
title(txt1);
xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;
subplot(3,1,3);
plot(n,gfm3);
xlim([0 treq/2]);
txt1=strcat('Seal FM generada utilizando "modulate" (con
opt=',num2str(indk(3)),')');
title(txt1);

xlabel('Tiempo (segundos)');
ylabel('s(t)');
txt2=strcat('fn = ',num2str(fs),' Hz');
legend(txt2);
grid on;

You might also like