% FENOMENOS DE MODULACION Y CONVOLUCION
%
% DESCRIPCION
% Modulacion:
% El fenomeno de modulacion es muy frecuente en industria y en especial en
% maquinas electricas. En esta practica se describe como identificar en frecuencia la
% modulacion de una señal portadora de alta frecuencia por una señal 
% moduladora de menor frecuencia
%
% Convolucion:
% Se describe tambien como identificar fenomenos convolucionales,
% correspondientes a situaciones en las que una señal de excitacion
% (ej. vibracion, golpeteo, etc.) atraviesa un sistema dinamico (ej. la
% estructura de un motor) que modifica su espectro.
%
% AUTOR
%       Ignacio Diaz Blanco. 
%       Prof. Titular de Universidad
%       Area de Ingenieria de Sistemas y Automatica.
%       Universidad de Oviedo. 
%       Febrero 2004



disp('Borramos el espacio de trabajo...');
clear;
close all;


% EJEMPLO 1: MODULADORA
N  = 5000;
fm = 5000;
tm = inv(fm);
t  = 0:tm:tm*(N-1);

fpor = 400;
fmod = 10;
y = sin(2*pi*fpor*t).*(1 + 0.1*sin(2*pi*fmod*t));

figure(1);
subplot(211);
plot(t,y);
xlabel('t');
cad = sprintf('Portadora de %3.2f Hz, modulada a %3.2f Hz',fpor,fmod);
title(cad);


subplot(212);
f = linspace(0,fm,N+1);
f = f(1:N);
plot(f,abs(fft(y)));
xlabel('f');
cad = sprintf('FFT: Portadora de %3.2f Hz, modulada a %3.2f Hz',fpor,fmod);
title(cad);

pause;


% EJEMPLO 2: TREN DE PULSOS SIN CONVOLUCION
figure(2);
fpul = 200;
y = [diff(square(2*pi*fpul*t)) 0]>0;

subplot(211);
plot(t,y,'.-');
axis([0 t(end) -1 2]);
xlabel('t'); 
title('Tren de pulsos antes de la convolucion');


subplot(212);
plot(f,abs(fft(y)));
title('FFT: Tren de pulsos antes de convolucionar');
pause;



% EJEMPLO 3: TREN DE PULSOS CON CONVOLUCION

figure(3);
fpul = 200;
u = double([diff(square(2*pi*fpul*t)) 0]>0);
num = 2000;
den = [1 2000];
y = lsim([2000],[1 2000],u,t);

subplot(311);
plot(t,y,'.-');
axis([0 t(end) -1 2]);
xlabel('t'); 
title('Tren de pulsos despues de la convolucion');

subplot(312);
plot(f,abs(fft(impulse(num,den,t))));
title('Respuesta en frecuencia del sistema');

subplot(313);
plot(f,abs(fft(y)));
title('FFT de un tren de pulsos despues de convolucionar');





