% Chirp complesso
% Author: C.Prati
% Date: 10-3-2025
clear
close all

tmax=10;
t=(-tmax:.001:tmax-.001);
k=2.5;
x=exp(j*pi*k*t.^2);
fmax=k*tmax;
figure(1)

plot(t,real(x));
hold on
plot(t,imag(x),'r')
hold off
xlabel('tempo')
title('Chirp complesso')
pause
% trasformata del chirp
X=fftshift(fft(fftshift(x)))/1000;
figure(2)
subplot(211)

plot((-500:1000/length(t):500-1/1000),abs(X));
axis([-fmax fmax 0 1])
xlabel('frequenza')
title('Trasformata del Chirp (modulo)')
subplot(212)

plot((-500:1000/length(t):500-1/1000),angle(X),'r');
axis([-fmax fmax -pi pi])
xlabel('frequenza')
title('Trasformata del Chirp (Fase)')
hold off
pause
h=conj(x);
%Autocorrelazione del chirp
y=conv(x,h);
figure(3)

plot((-10:1/1000:10),real(y(10000:30000)))
title('Autocorrelazione del Chirp')
%Trasformata dell'autocorrelazione
Y=fftshift(fft(fftshift(y)))/1000;
pause
figure(4)
subplot(211)

plot((-500:500/length(t):500-1/25),abs(Y)/500);
axis([-fmax fmax 0 1])
xlabel('frequenza')
title('Trasformata della autocorrelazione (modulo)')
subplot(212)

plot((-500:500/length(t):500-1/25),angle(Y),'r');
axis([-fmax fmax -pi pi])
xlabel('frequenza')
title('Trasformata della autocorrelazione (fase)')

pause

%Target
v=zeros(1,5000);
v(200)=5;
v(5000)=3;
v(520)=2;
v(4700)=1;
v(2500)=3;
z=conv(x,v,'same');
zc=conv(z,conj(x),'same');
figure (5)
plot((0:1/1000:20-1/1000),real(z))
xlabel('time (s)')
title('eco ricevuta dalla trasmissione del Chirp')
pause
figure(6)
plot((0:1/1000:20-1/1000),real(zc))
xlabel('time (s)')
title('Cross-correlazione tra eco ricevuta e Chirp trasmesso')