% % Script file con esempio di campionamento "reale" % e ideale % clear all, close all, clc Ts = 0.1; Tf = 4*pi; t = 0:Ts:Tf; y = sin(t); % funzione campionata figure, plot(t,y,'-'), xlabel('Tempo (s)'), ylabel('y(t)') title('Funzione y(t) = sin(t)') axis([0 Tf -1.1 1.1]) Tc = 1; % tempo di campionamento k = 0; for tk = 0:Ts:Tf, if(tk == k*Tc), yc(k+1) = sin(tk); % campionamento funzione tc(k+1) = k; % istanti di campionamento k = k+1; end; end; deltak = zeros(size(y)); N = length(deltak); k = 0; for kt = 1:N, if(t(kt) == k*Tc), deltak(kt) = 1; k = k+1; end; end; ycd = y.*deltak; figure subplot(211), plot(t,y,'-'), xlabel('Tempo (s)'), ylabel('y(t)') title('Funzione y(t) = sin(t)'), axis([0 Tf -1.1 1.1]) subplot(212), plot(tc,yc,'ro'), xlabel('Campioni'), ylabel('y(k)') title('Funzione campionata y(t_k) = sin(k*T)'), axis([0 Tf -1.1 1.1]) figure plot(t,y,'-r',tc,yc,'ob'), xlabel('Tempo (s)'), ylabel('y(t) e y(k)') title('Funzione continua e campionata y(t) e y_k') axis([0 Tf -1.1 1.1]) figure subplot(211), plot(t,deltak,'-m'), xlabel('Campioni'), ylabel('\delta_T(k)') title('Funzione \delta_T(t) (pettine di Dirac)'), axis([0 Tf -0.1 1.1]) subplot(212), plot(t,y,'b-',t,ycd,'m--',tc,yc,'oc'), xlabel('Tempo (s)') ylabel('y(t) e \delta_T(t)*y(t)') title('Funzione y(t) e campionamento ideale \delta_T(t)*y(t)'), axis([0 Tf -1.1 1.1]) legend('Funz. da campionare','Camp. ideale','Camp. reale') return