APPENDIX I
Matlab script used in Chapter 3 to simulate the Quasi-Asynchronous sampler behaviour.
clear all close all
Timp=0.5*10^(-12); %sampling pulse FWHM Tsign=1*10^(-12); %signal FWHM
fs=10^10; %signal frequency Delta_t=500*10^(-15);
fc=fs/(1+Delta_t*fs);
Ns=10;
dt=double(Timp/Ns);
flo=fs-fc;
%signal to be sampled
ts=[-50*10^(-12):dt:50*10^(-12)];
s=sech(ts*2.634/Tsign);
figure(1) plot(ts,s) grid on
%sampling pulse
tc=[-4*Timp:dt:4*Timp];
c=sech(tc*2.634/Timp);
tc=tc(1:length(tc)-1);
c=c(1:length(c)-1);
figure(2) plot(tc,c) grid on
%sampling
Nc=length(tc);
Analisi e realizzazione di un campionatore ottico quasi-asincrono basato su cross-phase modulation per segnali ultra-veloci
Tc=1/fc;
N_Ts=length(ts);
N_Delta_t=round(Delta_t/dt);
N_Tc=N_Delta_t+N_Ts;
N_zeros=N_Tc-Nc;
z=zeros(1,N_zeros-1);
sampling=s(1:Nc).*c;
sbis=[s,s(1:Nc)];
j=0;
for i=1:round(N_Ts/N_Delta_t)-1;
prod=sbis(i*N_Delta_t:i*N_Delta_t+Nc-1).*c;
sampling=[sampling,z,prod];
j=j+1;
end
cut=sampling(length(sampling)-(N_Tc/2)*round((Nc/N_Delta_t)- 2):length(sampling));
sampling=[cut,sampling(1:length(sampling)- (N_Tc/2)*round((Nc/N_Delta_t)-2)-1)];
t_sampling=[0:dt:dt*(length(sampling)-1)];
figure(3)
plot(t_sampling,sampling) grid on
tot=sampling;
t_tot=t_sampling;
for k=1:19
tot=[tot,sampling];
inc=t_sampling+k*t_sampling(length(t_sampling));
t_tot=[t_tot,inc];
end
figure(4)
plot(t_tot,tot) grid on
delta_f=(1/dt)/length(t_tot);
f=[-1/(2*dt):delta_f:1/(2*dt)];
f=f(1:length(f)-1);
OUT=(fft(tot));
OUT=abs(fftshift(OUT));
figure(5);
plot(f,OUT) grid on
f_taglio=3*10^9;
N_wind=2*round(f_taglio/delta_f);
H=[zeros(1,round(length(OUT)/2)- N_wind/2),ones(1,N_wind),zeros(1,round(length(OUT)/2)-N_wind/2)];
FINAL=OUT.*H;
final=abs(ifft(FINAL));
figure(6)
plot(t_tot,final) grid on
%polarization efficiency wt=[-2*pi:0.1:2*pi];
89
APPENDIX I
x=cos(wt);
y=zeros(2,length(wt));
i=0;
gamma=10;
alfa=10^0.079;
L=1; %Km
Ps=10*10^(-3);
Pp=10*10^(-3);
LV=0;
eff_tot=0;
for L=0.05:0.05:2
Leff=(1-exp(-alfa*L))/alfa;
fi_NL=gamma*Leff*(Ps+2*Pp);
i=0;
for fi=0:pi/4:pi/2;
i=i+1;
y(i,:)=cos(wt+fi);
teta=atan(cos(fi));
a=sqrt(1+2*cos(teta)*sin(teta)*cos(fi));
b=sqrt(1-2*cos(teta)*sin(teta)*cos(fi));
if fi<=(pi/2) eff(i)=(b/sqrt(2))^2;
else eff(i)=(a/sqrt(2))^2;
end
fiV(i)=fi;
end
grid on figure(2) plot(fiV,eff)
title(['efficienza al variare di fi, per L=', num2str(L)])
eff_tot=[eff_tot,eff(length(eff))];
LV=[LV,L];
end
figure(1) plot(x,y)
title(['stato della polarizzazione per L=', num2str(L)])
eff_tot=eff_tot*100;
figure(3)
plot(LV,eff_tot)
ylabel('efficiency (%)');
xlabel('L fiber (Km)');
90