% CONCEPTO FFT
%
% Descripcion:
% Esta practica pretende mostrar como se analiza adecuadamente una FFT, incluyendo
% el conocimiento de las frecuencias que corresponden a cada punto de la
% FFT, la adecuada interpretacion de las energias de los armonicos, etc.
%
% 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;
fm = 8192;
tm = inv(fm);
disp('Establecemos la frecuencia de muestreo ...');
disp(strcat('fm=',num2str(fm),' Hz'));
disp(strcat('tm=inv(fm)=',num2str(tm),' seg'));
disp('Pulsar una tecla...');
pause;

disp('Generamos una señal suma de varias senoides ...');
N = 8192;
t = 0:tm:tm*(N-1);
y = 1*sin(2*pi*t*50) + 0.5*cos(2*pi*t*250+pi/3) + 0.2*cos(2*pi*t*750+pi/4);
figure(1);
plot(t,y,t,y,'.');
title('y(k)');
xlabel('t(seg)');
soundsc(y,fm);
pause;


disp('-----------------------------------------');
disp('Generamos vector de frecuencias:');
disp('f son N puntos en el intervalo [0,fm) ...');

f = linspace(0,fm,N+1); 
f = f(1:N);

F = fft(y)/N;

subplot(211);
plot(f,abs(F));
xlabel('f (Hz)');
ylabel('Amplitud');
subplot(212);
plot(f,unwrap(angle(F)));
xlabel('f (Hz)');
ylabel('arg (rads)');