# HG changeset patch # User Daniele Nicolodi # Date 1350555871 -7200 # Node ID 37075b60408b0446cf16ea201892dc00478671a9 # Parent cd7b5903f168038ba8bf9f6364a582dc8f642ea0 Fix N2 measurement after cleanup. Further simplification diff -r cd7b5903f168 -r 37075b60408b FXAnalyse.c --- a/FXAnalyse.c Thu Oct 18 12:24:19 2012 +0200 +++ b/FXAnalyse.c Thu Oct 18 12:24:31 2012 +0200 @@ -83,8 +83,8 @@ double Beat_slope_2=0.0 ,Moy_Beatslope_2=0.0,Slope_Beatslope_2=0.0; double Ch4_slope=0.0,Moy_Ch4slope_1=0.0,Slope_Ch4slope_1=0.0,Ch4Slope=0.0; -double FrequencyDDSBes=0.0,FrequencyDDSBesInit=0.0; -double FrequencyDDS3=0.0,FrequencyDDS3Init=0.0; +double FrequencyDDSBesInit = 0.0; +double FrequencyDDS3Init = 0.0; double DeltaDDS3=0.0,Delta10K_Plus=0.0,Delta10K_Minus=0.0; double Nu1=0.0, Nu2= 200000-147000+282143746.557455e6; @@ -888,10 +888,13 @@ // frep positive step double fDDS1 = FrequDDS1 + DeltakHz_2 * 1000; + printf("fDDS1 = %g\n", fDDS1); DDS4xAD9912_FrequencyRampe(&DDS4xAD9912,1, FrequDDS1, fDDS1, Step2/Ndiv); SetCtrlVal(MainPanel, PANEL_DDS1, fDDS1); DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, fDDS1); + // adjust DDS3 to keep beatnote within the bandpass filter. prediction DeltaDDS3 = -DeltakHz_2*1000*(-Signe1/Signe2)*Ndiv*(Nu2)/(Nu1) - Beatslope_2*(utc-t1_2); + printf("deltaDDS3 = %g\n", DeltaDDS3); SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3Init + DeltaDDS3); DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequencyDDS3Init + DeltaDDS3); @@ -911,17 +914,15 @@ settling--; break; } - - double DeltaFrep275 = 275000 - Ch4; - double DeltaFrep10 = 10000 - Ch2; + + double fDDS2 = DDS4xAD9912.Frequency2 + 275000 - Ch4; + SetCtrlVal(MainPanel, PANEL_DDS2, fDDS2); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, fDDS2); - DeltaDDS3 = DeltaDDS3 + DeltaFrep10; - FrequencyDDSBes = FrequencyDDSBes + DeltaFrep275; - FrequencyDDS3 = FrequencyDDS3 + DeltaDDS3; - SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBes); - DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBes); - SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3); - DDS4xAD9912_SetFrequency(&DDS4xAD9912,3,FrequencyDDS3); + double fDDS3 = DDS4xAD9912.Frequency3 + 10000 - Ch2; + DeltaDDS3 = DeltaDDS3 + 10000 - Ch2; + SetCtrlVal(MainPanel, PANEL_DDS3, fDDS3); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, fDDS3); // allow counter to settle settling = 3; @@ -954,9 +955,10 @@ DDS4xAD9912_FrequencyRampe(&DDS4xAD9912,1, (FrequDDS1+DeltakHz_2*1000),(FrequDDS1-DeltakHz_2*1000), Step2/Ndiv); SetCtrlVal(MainPanel, PANEL_DDS1, (FrequDDS1-DeltakHz_2*1000)); DDS4xAD9912_SetFrequency(&DDS4xAD9912,1, (FrequDDS1-DeltakHz_2*1000)); - DeltaDDS3 = (FrequencyDDS3Init+DeltakHz_2*1000*(-Signe1/Signe2)*Ndiv*(Nu2)/(Nu1)) - FrequencyDDS3; - SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3+DeltaDDS3); - DDS4xAD9912_SetFrequency(&DDS4xAD9912,3, FrequencyDDS3+DeltaDDS3); + double fDDS3 = FrequencyDDS3Init+DeltakHz_2*1000*(-Signe1/Signe2)*Ndiv*(Nu2)/(Nu1); + DeltaDDS3 = fDDS3 - DDS4xAD9912.Frequency3; + SetCtrlVal(MainPanel, PANEL_DDS3, fDDS3); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, fDDS3); // allow counter to settle settling = 3; @@ -1008,7 +1010,6 @@ Frepplus_2 = 0.0; Delta10K_Minus = 0.0; Delta10K_Plus = 0.0; - FrequencyDDSBes = 0.0; // done Measuring_2 = N_MEASUREMENT_NONE;