Está en la página 1de 9

OBJETIVO

El alumno debe desarrollar un programa en donde se pueda ingresar un archivo


de audio de la cual se obtendr su frecuencia y amplitud de su seal para
usarla como onda moduladora y poder realizar modulacin AM, FM y PM y,
adems de mostrar el espectro de frecuencia de AM y FM
DESARROLLO
DIAGRAMA DE BLOQUES:

CDIGO:
% instruccin para obtener el valor de m, se declara como global para poder
usarla en otro mtodo de Matlab
global m;
m = str2double(get(hObject,'String'));

% instruccin para obtener el valor de k1, se declara como global para poder
usarla en otro mtodo de Matlab
global k1;
k1= str2double(get(hObject,'String'));
% instruccin para obtener el valor de k, se declara como global para poder
usarla en otro mtodo de Matlab
global k;
k = str2double(get(hObject,'String'));
% Estas instrucciones reproduce el audio que se ingreso al presionar el botn
Reproducir
global s Fs;
sound(s,Fs)
% instruccin para obtener el valor de fc, se declara como global para poder
usarla en otro mtodo de Matlab
global fc;
fc = str2double(get(hObject,'String'));
% instruccin para obtener el valor de Ec o Vc, se declara como global para
poder usarla en otro mtodo de Matlab
global Ec;
Ec = str2double(get(hObject,'String'));
%Instrucciones para graficar el audio ingresado y las Ondas Moduladas en AM.,
FM y PM
%mandamos a llamar las variables globales para poder usarlas en este mtodo
global s Fs;
global vm;
global vres;
%lee audio
[s Fs]=audioread('rec.mp3');
%dividimos los dos canals R y L
canal_R=s(:,1);
canal_L=s(:,2);
%obtenemos valores para el eje x
x=0:1/Fs:tiempo;
%Obtenemos el valor mximo de nuestro vector de audio para usarlo para la
amplitud de la seal modulada
vm =max((canal_L));
%graficamos el audio
axes(handles.grafsonido);
plot(x(2:end),canal_L);
grid on;
title('Archivo de Audio');

ylabel('Amplitud (vpp)');
xlabel('Tiempo (s)');
%PARA MODULACION AM
%mandamos a llamar las variables globales para poder usarlas en este mtodo
global k k1 Mt vres m fc Ec;
%Variables que sustituiremos en las funciones de AM, FM y PM
fm=3000;
vc=Ec;
Tfc=1/fc;
%Declaramos nuestros lmites para graficar
t1=linspace(0,40*Tfc,1000);
%formula de la portadora
Vam=((Ec*sin(2*pi*fc*t1)));
%formula de la USB
Vam1=((Ec*m)/2)*cos(2*pi*(fc+fm)*t1);
%formula de la LSB
Vam2= ((Ec*m)/2)*cos(2*pi*(fc-fm)*t1 );
%hacemos la suma de los valores anteriores para obtener nuestra onda
%modulada, la guardamos en nuestra variable vres
vres=Vam-Vam1+Vam2;
%graficamos las ondas portadora, USB, LSB y la resultante que es la onda
%modulada en AM
axes(handles.grafam);
plot ( t1, vres, 'c');
title('Onda Modulada en AM');
ylabel('Ec (v)');
xlabel('Tiempo (s)');
grid on;
%Para FM
t=linspace(0,20*Tfc,1000);
Mt= vc * cos(2*pi*fc*t + ((k1*5)/fm)*sin(2*pi*fm*t));
axes(handles.graffm);
plot(t,Mt);
title('Onda Modulada en FM');
ylabel('Vc (v)');
xlabel('Tiempo (s)');
grid on;
%PARA PM
Pt= vc * cos(2*pi*fc*t + (k*vm)*cos(2*pi*fm*t));
axes(handles.grafpm);
plot(t,Pt);
title('Onda Modulada en PM');
ylabel('Vc (v)');
xlabel('Tiempo (s)');
grid on;

%Para el espectro de frecuencia en AM


global vres Fs ;
%se abre una nueva ventana o figura
figure(2);
L = length(vres);
NFFT = 2^nextpow2(L);
Y = fft(vres,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
plot(f,2*abs(Y(1:NFFT/2+1)));
title('Espectro de Frecuencia en AM');
ylabel('dB');
xlabel('Frecuencia (Hz)');
grid on;
%Para el espectro de frecuencia en FM
global Mt Fs ;
%se abre una nueva ventana o figura
figure (3)
J = length(Mt);
NF = 2^nextpow2(J);
X = fft(Mt,NF)/J;
g = Fs/2*linspace(0,1,NF/2+1);
plot(g,2*abs(X(1:NF/2+1)));
title('Espectro de Frecuencia en FM');
ylabel('dB ');
xlabel('Frecuencia (Hz)');
grid on;
%Instruccin para finalizar el programa y cerrar ventana
close(gcbf)

EVIDENCIA:

Imagen 1 Interfaz del programa

Imagen 2 Ingresamos valores donde: Fc = 10 Khz, Ec = 20 v, m= 1, K1 = 4KHz, K = 2

Imagen 3 Al presionar el botn Graficar, se muestran nuestras seales de Audio, Onda


modulada en AM, FM y PM.
Al seleccionar el botn Reproducir, se reproduce el audio que fue ingresado

Imagen 4 Al seleccionar el botn de Espectro de Frecuencia en AM, se abre una nueva ventana
graficndose dicha seal.

Imagen 5 Al seleccionar el botn de Espectro de Frecuencia en FM, se abre una nueva ventana
graficndose dicha seal.

Imagen 6 Cambiando los valores a: Fc = 50KHz, Ec = 5, m = 1, K1 = 7KHz y K = 5

Imagen 7 Graficas de los espectros de frecuencias de AM y FM con los valores ingresados en la


imagen 6.

También podría gustarte