set(0,'defaultlinelinewidth',2)
clear all
clc
fs=10000;
Ts=1/fs;
t = 0:1/fs:20.5e-3;
f0=20; f1=320e1; t1=20.5e-3;
a=(f1-f0)/(t(end)-t(1));
f=f0+a.*t;
y1 = chirp(t,f0,t1,f1,'linear');
Y = [y1 y1(end:-1:1)];
t1=0:1/fs:41.001e-3;
N=16;
clear t_YY1 Y y1 YY1 t1 t
R=60;
delta_t=2*R/(3e8);
t_Recieved =delta_t:1/fs:20.5e-3+delta_t;
t_target_Recieved=t_Recieved(end);
y_Recieved =chirp(t_Recieved,f0,t_target_Recieved,f1,'linear');
Y_Recieved = [y_Recieved y_Recieved(end:-1:1)];
t_Y_Recieved=delta_t:1/fs:41.001e-3+delta_t;
YY_Recieved=repmat(Y_Recieved,1,N);
t_YY_Recieved=delta_t:1/fs:659.1e-3+delta_t ;
clear delta_t t_Recieved t_target_Recieved t_transmit t_Y_Recieved
clear y_Recieved Y_Recieved
M=ones(size(YY_Recieved));
x=rand(size(YY_Recieved));
i_speckle=icdf('nbin',x,M,M./(YY_Recieved+M));
clear M x
qe=1.602*10e-19;
kb=1.3806504*10^(-23);
R_fb=1e6;
To=300;
B_det=1.5/(2*Ts);
quantum_eff=0.2;
NEPh_dk_pc=1E+6;
N_pix_x=14;
N_pix_y=14;
i_thermal=sqrt(2*qe*kb*To*B_det*N_pix_x*N_pix_y/R_fb)*randn(size(YY_Recieved));
clear kb R_fb To B_det sig
SNR=20;
i_shot=awgn(YY_Recieved,SNR);
noisy_sig1=i_thermal.^2+i_shot.^2+i_speckle.^2;
clear SNR sig i_thermal i_shot i_speckle x_8
P_l_pk=7.4;
FF=0.49;
t_t=0.7;
t_r=0.338;
D_r=0.254;
rho_tgt=0.1;
kapa_tgt_gauss=1;
alpha=0.0002;
rho_bg=0.3;
kapa_ls_gauss=1;
beta_vol_bs=9.95e-6;
Hs=267;
N_sky=3;
delta_lambda=6.2e-9;
delta=12e-5;
Reciever_focal=1.016;
A_ifov=(R*delta/Reciever_focal)^2;
D_obst=0.5;
A_r=pi*D_r^2/4;
A_obst=pi*D_obst^2/4;
omega_rcv=(A_r-A_obst)/R^2;
Pb=abs((rho_bg*Hs/pi*exp(-alpha*R)+N_sky)*delta_lambda*t_r*FF*A_ifov*omega_rcv);
mt=0.5;
mr=0.5;
em=1;
G=20;
R_max=0.243;
gamma_mod_bg=sqrt((1-em*mr/2)^2+((em)^2*(mr^2)^2)/2);
i_b=G*R_max*gamma_mod_bg*Pb;
i_dk=G*qe*quantum_eff*gamma_mod_bg*NEPh_dk_pc*N_pix_x*N_pix_y;
i=(i_b+i_dk)*10^8;
i_back=poissrnd(i*ones(size(YY_Recieved)));
clear P_l_pk FF t_t t_r D_r rho_tgt kapa_tgt_gauss alpha rho_bg kapa_ls_gauss beta_vol_bs
clear Hs N_sky di_thermalelta_lambda delta Reciever_focal A_ifov D_obst A_r A_obst omega_rcv Pb
clear mt mr em G R_max gamma_mod_bg i_b i_dk i quantum_eff NEPh_dk_pc N_pix_x N_pix_y qe delta_lambda
noisy_signal=sqrt(YY_Recieved.^2+i_back.^2+noisy_sig1);
clear i_back YY_Recieved noisy_sig1
delta_t_LO=193e-9;
t_LO =delta_t_LO:1/fs:20.5e-3+delta_t_LO;
t_target2=t_LO(end);
y_LO =chirp(t_LO,f0,t_target2,f1,'linear');
Y_LO = [y_LO y_LO(end:-1:1)];
t_Y_LO=delta_t_LO:1/fs:41.001e-3+delta_t_LO;
YY_LO=repmat(Y_LO,1,N);
t_YY_LO=delta_t_LO:1/fs:659.1e-3+delta_t_LO ;
clear delta_t_LO t_LO t_target2 y_LO t_Y_LO t_YY_Recieved Y_LO
mixed_signal=YY_LO.*noisy_signal;
plot(t_YY_LO,mixed_signal);
axis tight
clear YY_LO noisy_signal