% PROGRAMMA SerieFourier
% Autore: Claudio Prati
% Politecnico di Milano, 20 Marzo 2014

% Visualizza NA coefficienti della serie di Fourier di 
% un'onda quadra e ad ogni clik aggiunge al grafico
% l'armonica corrispondente.

clear all
close all
clf
t= -10:.01:10;
T0=5;
N=length(t);

NA=input('numero armoniche per ricostruire il segnale? ');

% Il vettore dei coefficienti della serie di Fourier viene costruito senza
% ciclo FOR
n = 0:NA;
% c = sin(pi*n/2)./(pi*n);
% c=1/2*sinc(n/2);
c=sinc(n/2);
c(1)=c(1)/2;
x=zeros(1,N);
for n=0:NA;
    m=n+1;
    x=x+c(m)*cos(2*pi*n/T0*t);
    xx=c(m)*cos(2*pi*n/T0*t);
    figure(1)
    subplot(211)
    plot(t,x)
    xlabel('tempo in secondi')
    subplot(212)
    stem(n,2*c(m),'filled')
    xlabel('armoniche')
    hold on
    figure(2)
    subplot(211)
    plot(t,xx)
    axis([-10 10 -1 1]) 
    grid on
    xlabel('tempo in secondi')
    title('Singola armonica')
    subplot(212)
    plot(t,x)
    grid on
    xlabel('tempo in secondi')
    title('Somma delle armoniche')
        pause
end