我有一个可以从该文件接收到的光谱 [https://drive.google.com/drive/folders/1uYTTyZQ3SMrk1vKGRFyjHG4jAyWgRDFB?usp=sharing][1]
其中测量数据是x_ir和y_ir变量。还有一个提供折射率的n_si.m文件。
现在我的代码是:
for k=1:1e3
x_ir_add(k)=x_ir(1)-k*(x_ir(3)-x_ir(2));
y_ir_add(k)=0;
x_ir_add_last(k)=x_ir(end)+k*(x_ir(3)-x_ir(2));
y_ir_add_last(k)=0;
end
x_ir_add=fliplr(x_ir_add);
X_IR=horzcat(x_ir_add, x_ir, x_ir_add_last);
Y_IR=horzcat(y_ir_add, y_ir, y_ir_add_last);
X_IR=X_IR(540:end);
Y_IR=Y_IR(540:end);
c=3e8;
nfft = length(X_IR);
lamda=X_IR*10^-9;
w = (2.*pi.*c)./lamda;
Fs = w/(2*pi);
df = Fs/nfft;
dw = 2*pi*df;
dt = 1./Fs;
T1 = (nfft*dt);
t = (-T1/2+dt:dt:T1/2);
n_idler_n_Si=n_Si(lamda./10^-6);
k_idler_n_Si=(2*pi./lamda).*n_idler_n_Si;
L=62.5e-2;%the amount of silocine in m.
ifftE_t=ifftshift(ifft(sqrt(Y_IR).*exp(-1i*k_idler_n_Si.*L)));
%ifftE_t=ifftshift(ifft(sqrt(Y_IR)));
%% gaussian in the time domain
% Tp=20e-15;
% E_Time=(1/(sqrt(2*pi)*Tp/(2*sqrt(2))))*exp(-2*log(2)*t.^2/Tp^2);
% Y_IR=fftshift(fft(E_Time));
% ifftE_t=ifft(ifftshift(Y_IR));
Y_plot=abs(ifftE_t).^2;
plot(t,Y_plot )
max_value=max(Y_plot);
indexes=find(Y_plot>max(Y_plot)/2);
min_length_index=indexes(1)-1;
max_length_index=indexes(length(indexes))+1;
time_pulse=t(max_length_index)-t(min_length_index)
由于某种原因,我得到了一些奇怪的东西(您可以在图中看到它,我应该得到一个脉搏)。我正在寻找长度L,以提供大约12-16皮秒的脉冲。 (只写我为什么需要它) 所以我做错了我不知道的事情。 希望这里的人能弄清楚。