Commit ac635714 authored by Peter Jansweijer's avatar Peter Jansweijer

calculate and output time_error due to alpha_sel stddev

parent 68dcb148
......@@ -372,7 +372,7 @@ def calc_alpha_error(alpha1, alpha2, crtt_fixed_lambda):
alpha1 -- <float> alpha to be considered the correct value
alpha2 -- <float> alpha for which timing error needs to be calculated
crtt_fixed_lambda -- <float> crtt value at the fixed wavelenght.
crtt_fixed_lambda -- <float> crtt value at the fixed wavelength.
note that this is the virtual crtt for which
master2slave and slave2master wavelengths would be
equal. It can be estimated by extrapolating the crtt
......@@ -514,7 +514,7 @@ def group_delay_stddev(l, l_stddev, popt, perr):
############################################################################
def alpha_err_writeln(alpha_err_file, l1, l1_stddev, l2, l2_stddev, l_fix, l_fix_stddev, l_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev):
def alpha_err_writeln(alpha_err_file, l1, l1_stddev, l2, l2_stddev, l_fix, l_fix_stddev, l_idx, popt, perr, crtt_fixed_lambda, crtt_fixed_lambda_stddev, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev):
"""
write a line to the alpha_err file in a pre formatted way.
......@@ -546,8 +546,10 @@ def alpha_err_writeln(alpha_err_file, l1, l1_stddev, l2, l2_stddev, l_fix, l_fix
crtt_l2_str = "{0:.0f}".format(crtt_l2)
crtt_l2_stddev_str = "{0:.0f}".format(crtt_l2_stddev)
alpha_sel, alpha_stddev_sel = calc_alpha_sellmeier_stddev(l1/1e9, l1_stddev, l_fix, l_fix_stddev, popt, perr)
alpha_sel_str = "{0:.3e}".format(alpha_sel)
alpha_sel_str = "{0:.5e}".format(alpha_sel)
alpha_stddev_sel_str = "{0:.3e}".format(alpha_stddev_sel)
time_error_due_stddev, time_error_due_stddev_stddev = calc_alpha_error_stddev(alpha_sel, 0, alpha_sel+alpha_stddev_sel, 0, crtt_fixed_lambda, crtt_fixed_lambda_stddev)
time_error_due_stddev_str = "{0:.3e}".format(time_error_due_stddev)
alpha_3wl_str = "{0:.3e}".format(alpha_3wl[l_idx])
alpha_3wl_stddev_str = "{0:.3e}".format(alpha_3wl_stddev[l_idx])
alpha_spec_3wl_str = "{0:.0f}".format(spec_alpha(alpha_3wl[l_idx]))
......@@ -555,7 +557,7 @@ def alpha_err_writeln(alpha_err_file, l1, l1_stddev, l2, l2_stddev, l_fix, l_fix
time_err_stddev_str = "{0:.3e}".format(time_err_stddev[l_idx])
time_err_rel_str = "{0:.3e}".format(time_err[l_idx]/crtt_fixed_lambda)
alpha_err_file.write(l1_str + "\t" + l2_str + "\t" + crtt_l1_str + "\t" + crtt_l1_stddev_str + "\t" + crtt_l2_str + "\t"+ crtt_l2_stddev_str + "\t" + alpha_sel_str + "\t" + alpha_stddev_sel_str + "\t" + alpha_3wl_str + "\t" + alpha_3wl_stddev_str + "\t" + alpha_spec_3wl_str + "\t\t\t" + time_err_str + "\t" + time_err_stddev_str + "\t" + time_err_rel_str + "\n")
alpha_err_file.write(l1_str + "\t" + l2_str + "\t" + crtt_l1_str + "\t" + crtt_l1_stddev_str + "\t" + crtt_l2_str + "\t"+ crtt_l2_stddev_str + "\t" + alpha_sel_str + "\t" + alpha_stddev_sel_str + "\t" + time_error_due_stddev_str + "\t" + alpha_3wl_str + "\t" + alpha_3wl_stddev_str + "\t" + alpha_spec_3wl_str + "\t\t\t" + time_err_str + "\t" + time_err_stddev_str + "\t" + time_err_rel_str + "\n")
return
......@@ -730,7 +732,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
# get fixed_lambda and calculate the Cable Round Trip Time that would
# result from a link where M2S and S2M would use the same "fixed" wavelength.
fixed_lambda = itu_conv.itu_2_wavelength(fixed_itu_channel)
crtt_fixed_lambda = group_delay(fixed_lambda*1e9,popt[0],popt[1],popt[2],popt[3],popt[4])
crtt_fixed_lambda, crtt_fixed_lambda_stddev = group_delay_stddev(fixed_lambda*1e9, l_stddev, popt, perr)
# A clean set of datapoints for crtt results from ripping off all outliers.
# Scan through all wavelengths and calculate the individual alpha's using:
......@@ -962,11 +964,11 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
alpha_err_file.write("reference file/directory: " + ref_name + "\n")
alpha_err_file.write("fixed_lambda: " + str(fixed_lambda) + "\n")
alpha_err_file.write("Sellmeier: \n")
alpha_err_file.write("A: " + str(popt[0]) + "\n")
alpha_err_file.write("B: " + str(popt[1]) + "\n")
alpha_err_file.write("C: " + str(popt[2]) + "\n")
alpha_err_file.write("D: " + str(popt[3]) + "\n")
alpha_err_file.write("E: " + str(popt[4]) + "\n")
alpha_err_file.write("A: " + str(popt[0]) + "\t" + str(perr[0]) + "\n")
alpha_err_file.write("B: " + str(popt[1]) + "\t" + str(perr[1]) + "\n")
alpha_err_file.write("C: " + str(popt[2]) + "\t" + str(perr[2]) + "\n")
alpha_err_file.write("D: " + str(popt[3]) + "\t" + str(perr[3]) + "\n")
alpha_err_file.write("E: " + str(popt[4]) + "\t" + str(perr[4]) + "\n")
alpha_ddelay_file = open(insitu_file+"_ddelay.out","w")
alpha_ddelay_file.write("# Proposed Delta Delay measurements\n")
......@@ -995,7 +997,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
#for i in rng_sel:
# alpha_err_file.write(str(l2[i[0]][0]) + "\t" + str(l2[i[1]][0]) + "\n")
alpha_err_file.write("l1[nm]\tl2[nm]\tcrtt_(l1)[ps]\tcrtt_stddev(l1)[ps]\tcrtt(l2)[ps]\tcrtt_stddev_(l2)[ps]\talpha_sel(l1)\talpha_stddev_sel(l1)\talpha_3wl(l1)\talpha_3wl_stddev(l1)\tSPEC_alpha_3wl(l1)\ttime_err[ps]\ttime_err_stddev[ps]\ttime_relative_err[t_err ps/link_length ps]\n")
alpha_err_file.write("l1[nm]\tl2[nm]\tcrtt_(l1)[ps]\tcrtt_stddev(l1)[ps]\tcrtt(l2)[ps]\tcrtt_stddev_(l2)[ps]\talpha_sel(l1)\talpha_stddev_sel(l1)\ttime_error_due_alpha_stddev_sel(l1)[ps]\talpha_3wl(l1)\talpha_3wl_stddev(l1)\tSPEC_alpha_3wl(l1)\ttime_err[ps]\ttime_err_stddev[ps]\ttime_relative_err[t_err ps/link_length ps]\n")
alpha_ddelay_file.write("# lambda-1[nm]\tITU-ch\tSPEC_alpha_3wl(l1)\tlambda-2[nm]\t\ttime_err[ps]\n")
for i in rng_sel:
......@@ -1006,7 +1008,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
itu_ch = itu_conv.wavelength_2_itu(lambda1/1e9)
time_err_str = "{0:.3e}".format(time_err[lambda_idx]*1e-12)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, crtt_fixed_lambda_stddev, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_ddelay_file.write(str(lambda1)+", "+str(itu_ch)+", "+str(alpha_spec_3wl)+", "+str(lambda2)+", "+time_err_str+"\n")
alpha_err_file.write("============================\n")
......@@ -1026,7 +1028,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
itu_ch = itu_conv.wavelength_2_itu(lambda1/1e9)
time_err_str = "{0:.3e}".format(time_err[lambda_idx]*1e-12)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, crtt_fixed_lambda_stddev, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_ddelay_file.write(str(lambda1)+", "+str(itu_ch)+", "+str(alpha_spec_3wl)+", "+str(lambda2)+", "+time_err_str+"\n")
alpha_err_file.write("============================\n")
......@@ -1037,7 +1039,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
lambda1 = l1[l1_idx][l2_idx]
lambda2 = l2[l1_idx][l2_idx]
lambda_idx = l1_idx,l2_idx
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_err_writeln(alpha_err_file, lambda1, l_stddev, lambda2, l_stddev, fixed_lambda, fixed_lambda_stddev, lambda_idx, popt, perr, crtt_fixed_lambda, crtt_fixed_lambda_stddev, alpha_3wl, alpha_3wl_stddev, time_err, time_err_stddev)
alpha_err_file.close()
alpha_ddelay_file.close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment