%sezione dati %parametri generali clear N0=30; n=-N0:N0; esercizio=6; % 2: Esercizio 1b % 3: Esercizio 1c % 4: Esercizio 1d % 5: Esercizio 1e % 6: Esercizi 1e, 1f % 7: Esercizo 1g esatto=1; switch esercizio case 2 %parametri segnale N=21; %periodo k=0:N-1; c=zeros(1,length(k)); %segnale teorico xt=cos(2*pi*n/3)+sin(2*pi*n/7); %serie n1=3; c(k==n1)=1/(2*j); c(k==(N-n1))=conj(c(k==n1)); n2=7; c(k==n2)=1/2; c(k==(N-n2))=conj(c(k==n2)); case 3 %parametri segnale N=6; %periodo k=0:N-1; c=zeros(1,length(k)); %segnale teorico xt=(1/2).^(rem(rem(n+2,N)+N,N)-2); %serie c=4/N*exp(j*2*2*pi*k/N).*(1-(1/2)^6*exp(-j*6*2*pi*k/N))./(1-(1/2)*exp(-j*2*pi*k/N)); case 4 %parametri segnale N=12; %periodo k=0:N-1; c=zeros(1,length(k)); %segnale teorico xt=sin(2*pi*n/3).*cos(pi*n/2); %serie n1=1; c(k==n1)=1/(4*j); c(k==(N-n1))=conj(c(k==n1)); n2=7; c(k==n2)=1/(4*j); c(k==(N-n2))=conj(c(k==n2)); case 5 %e %parametri segnale N=4; %periodo N1=4; om0=pi/N1; k=0:N-1; %segnale teorico xt=1-sin(pi*rem(rem(n,N)+N,N)/N1); %serie c=zeros(1,length(k)); c(k==0)=(3-2^.5)/4; c(k==1)=1/4; c(k==2)=(2^.5-1)/4; c(k==3)=c(k==1); case 6 %esercizi e ed f %parametri segnale N=13; %periodo N1=17; om0=pi/N1; k=0:N-1; c=zeros(1,length(k)); %segnale teorico xt=1-sin(pi*rem(rem(n,N)+N,N)/N1); %serie if (esatto) k1=(k~=0); c(k1)=(1-exp(-j*k(k1)*2*pi))./(1-exp(-j*k(k1)*2*pi/N)); c(k==0)=N; k1=(rem(k,N)~=om0*N/(2*pi)); c(k1)=c(k1)-(1-exp(-j*(2*pi*k(k1)/N-om0)*N))./(1-exp(-j*(2*pi*k(k1)/N-om0)))/(2*j); k1=(rem(k,N)==om0*N/(2*pi)); c(k1)=c(k1)-N/(2*j); k1=(rem(N-k,N)~=om0*N/(2*pi)); c(k1)=c(k1)+(1-exp(-j*(2*pi*k(k1)/N+om0)*N))./(1-exp(-j*(2*pi*k(k1)/N+om0)))/(2*j); k1=(rem(N-k,N)==om0*N/(2*pi)); c(k1)=c(k1)+N/(2*j); else k1=k+.001; c=(1-exp(-j*k1*2*pi))./(1-exp(-j*k1*2*pi/N)); c=c-(1-exp(-j*(2*pi*k1/N-om0)*N))./(1-exp(-j*(2*pi*k1/N-om0)))/(2*j); c=c+(1-exp(-j*(2*pi*k1/N+om0)*N))./(1-exp(-j*(2*pi*k1/N+om0)))/(2*j); end c=c/N; case 7 %g %parametri segnale N=7; %periodo %segnale teorico N1=5; xt=zeros(1,length(n)); xt(rem(rem(n,N)+N,N)