Modulacion en Fm en Matlab

MODULACION EN FM EN MATLAB OBJETIVO.En base del estudio teórico comprender la operación y características más importante

Views 191 Downloads 2 File size 65KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MODULACION EN FM EN MATLAB OBJETIVO.En base del estudio teórico comprender la operación y características más importantes del programa desarrollado. MATERIALES.- PC - Programa matlab INTRODUCCION: Las señales de información deben ser transportadas entre un transmisor y un receptor sobre alguna forma de medio de transmisión. Sin embargo, las señales de información pocas veces encuentran una forma adecuada para la transmisión. la modulación se define como el proceso de transformar información de su forma original a una forma más adecuada para la transmisión. Demodulación es el proceso inverso. La modulación 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" portátiles (walkie-talkie, handy). Modular en FM es variar la frecuencia de la portadora al "ritmo" de la información (audio), lo cual significa que en una señal de FM, la amplitud y la fase de la señal permanecen constante y la frecuencia cambia en función de los cambios amplitud y frecuencia de la señal que se desea transmitir(audio). En una señal se pueden variar tres propiedades: la amplitud, la frecuencia y la fase. El proceso de modulación consiste en variar algunos de estos parámetros en la señal portadora, de acuerdo a la señal que se desea modular. La modulación en frecuencia consiste en variar la frecuencia de la señal portadora. La modulación FM es inmune a las no linealidades. Las no linealidades en este caso generan ondas moduladas con portadoras múltiplos de la original. Esta característica hace a FM útil en aquellos sistemas de transmisión de alta potencia ya que el uso de amplificadores permite altos rendimientos. Una señal FM es generada utilizando la señal de banda base para cambiar la frecuencia instantánea de la señal 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 según Nyquist treq=2*L_medio/fm; %Tiempo requerido para recolectar L muestras fs=((2*L_medio-1)/treq); %División 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 señal a modular Am=1; %Amplitud de la señal a modular wm=2*pi*100; %Frecuencia de la señal a modular phi=0; %Fase de la señal a modular mt=Am*cos(wm*n+phi); %Señal a modular %Parametros necesarios para la modulación FM beta=5; %Indice de modulación kw=beta*wm/Am; %Desviación de frecuencia phi=-pi/2; %Se desfasa la señal mt1=Am*cos(wm*n+phi); %Se utiliza la señal original para generar el desf=beta*mt1; %Desfase de la portadora %Se genera la señal FM Ac=1; %Amplitud de la señal portadora wc=2*pi*1000; %Frecuencia de la señal portadora st=Ac*cos(wc*n+desf); %Señal FM %************************************************************************ %************************************************************************ %Punto (2) %************************************************************************ %Se grafican la señal a modular y la señal FM figure(1); subplot(2,1,1); plot(t1,mt);

title('Señal 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('Señal 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 %Cálculo de la DFT utilzando la FFT para la señal FM Y1=fft(st,Nfft); %FFT de Nfft puntos para la señal 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)); %Cálculo de las componentes de fase de la señal figure(2) %subplot(3,1,1) plot(f,abs(Y1)/norm1); title('Espectro continuo en magnitud de la señal 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) %************************************************************************ %Modulación FM utilizando "modulate" %Se utiliza la misma señal del punto (1) %Señal modulada (FM) indk=0.039; gfm = modulate(mt,wc/(2*pi),fm,'fm',indk); %************************************************************************ %************************************************************************ %Punto (5) %************************************************************************ %Representación gráfica de las señales figure(3); subplot(2,1,1); plot(n,mt); txt=strcat('Señal 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('Señal 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) %************************************************************************ %Modulación FM utilizando "modulate" para difrentes índices de modulación %Se utiliza la misma señal del punto (1) %Señal 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) %************************************************************************ %Representación gráfica de las señales figure(4); subplot(3,1,1); plot(n,gfm1); xlim([0 treq/2]); txt1=strcat('Señal 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('Señal 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('Señal 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;