salve a tutti
Ho un problema con delle trasformazioni in matlab.
eseguendo la fft del segnale d (delta_dirac) che così ho definito:
d=A*(abs(t==0));
%plot(t,d); %disegna l'impulso
e trasformandolo.....:
N=length(d); %definisco il numero di campioni
D=fftshift(fft(d))*dt; %eseguo la trasf usando la funzione shift
df=1/(N*dt); %ecco il quanto di frequenza
f=[-(N-1)/2+[0:N-1]]*df; %ecco il vettore che uso per graficare
nella visualizzazione non ritrovo ciò che prevedo analiticamente.
ecco il file completo:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%trasformata delta_dirac
A=3;
lim=10;
dt=0.001;
t=-lim:dt:lim;
d=A*(abs(t==0));
plot(t,d);
axis([-lim+to lim+to -A/2 3/2*A]);
%faccio sta ca*** di trasformata
N=length(d);
D=fftshift(fft(d))*dt;
df=1/(N*dt);
f=[-(N-1)/2+[0:N-1]]*df;
%subplot(1,2,1),plot(f,imag(D));
plot(f,real(D),'r');
%ma sarà correta????????????????????????'