% Programmazione e architetture DSP
% Prof. Mario Malcangi


% Modellazione e simulazione dei modelli computazionali dei sistemi lineari
% (Filtraggio FIR e filtraggio IIR)


% Consideriamo il sistema lineare
% Filtro passa basso RC del primo ordine

% y(n)= ax(n)+by(n-1)
% a=1-exp(-2*pi*(Fc/Fs))
% b=1-a
% Fc=1/2piRC - Frequenza di taglio
% Fs= frequenza di campionamento

% Identifichiamo il sistema con la risposta in frequenza
% tramite un segnale a banda piatta: sweep frequenziale


clear;
close all;
Fs= 8000;   %[Hz]
Ts=1/Fs;    %[s]
f=100; %frequenza iniziale [Hz]
bande=10;
N=Fs;  %1 secondo
for k=0:bande-1
    for m=0:N
        x((k*N)+m+1)=sin(2*pi*f*m*Ts);
    end
    f=f*2;  % intervallo di ottava
    if(f>Fs/2)
        break;
    end
        
end
figure;
plot(x);

Fc=400;
a=1-exp(-2*pi*(Fc/Fs));
b=1-a;
n=1;
y(n)=0;
n=n+1;
while 1
    y(n)=a*x(n)+b*y(n-1);
    n=n+1;
    if(n==length(x))
        break;
    end
end
figure;
plot(y);

