# HG changeset patch # User Daniele Nicolodi # Date 1391427039 -3600 # Node ID 4ab8099a18e27cbb9e28ee3728c668e666b84edb # Parent b060780ade19a76995568bdf596332800e13d20a Add beatnote frequency drift correction to N3 measurement diff -r b060780ade19 -r 4ab8099a18e2 FXAnalyse.c --- a/FXAnalyse.c Fri Jan 31 21:39:58 2014 +0100 +++ b/FXAnalyse.c Mon Feb 03 12:30:39 2014 +0100 @@ -202,7 +202,7 @@ double DeltaDDS3=0.0,Delta10K_Plus=0.0,Delta10K_Minus=0.0; double Nu1=0.0, Nu2= 200000-147000+282143746.557455e6; -double f_rep_slope; +double f_rep_slope, f_beat_slope; double f_rep_plus, f_rep_minus; double f_beat_Sr_plus, f_beat_Sr_minus; @@ -1054,6 +1054,7 @@ t1_3 = utc; stat_zero(&stat_math1); + stat_zero(&stat_ch3); f_rep_plus = f_rep_minus = 0.0; f_beat_Sr_plus = f_beat_Sr_minus = 0.0; @@ -1074,11 +1075,15 @@ } stat_accumulate(&stat_math1, Math1); + stat_accumulate(&stat_ch3, Ch3); if (utc - t1_3 > SlopeTime3) { // slope measurement f_rep_slope = stat_math1.slope; - + logmsg("f_rep_slope=%e Hz/s", f_rep_slope); + f_beat_slope = stat_ch3.slope; + logmsg("f_beat_slope=%e Hz/s", f_rep_slope); + t2_3 = utc; // frep positive step @@ -1128,7 +1133,7 @@ n_3++; f_rep_plus += Math1 + 250000000 - f_rep_slope * (utc - t3_2); - f_beat_Sr_plus += Ch3; + f_beat_Sr_plus += Ch3 - f_beat_slope * (utc - t3_2); if (utc - t2_3 > DeltaT_3) { // positive step measurement @@ -1164,7 +1169,7 @@ n_3++; f_rep_minus += Math1 + 250000000 - f_rep_slope * (utc - t3_2); - f_beat_Sr_minus += Ch3; + f_beat_Sr_minus += Ch3 - f_beat_slope * (utc - t3_2); if (utc - t3_3 > DeltaT_3) { // negative step measurement @@ -1173,7 +1178,7 @@ // check delta frep double delta_f_rep_m = f_rep_plus - f_rep_minus; - double delta_f_rep = -Sign1 * Ndiv * 2.0 * DeltakHz_3 * 1000.0 / N1; + double delta_f_rep = Sign1 * Ndiv * 2.0 * DeltakHz_3 * 1000.0 / N1; logmsg("delta frep: measured=%.12e Hz expected=%.12e Hz difference=%.12e", delta_f_rep_m, delta_f_rep, delta_f_rep_m - delta_f_rep);