diff Allan.h @ 0:d9aae7d7f2c6

Import
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Tue, 03 Jul 2012 10:38:59 +0200
parents
children bd28161e5ac2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Allan.h	Tue Jul 03 10:38:59 2012 +0200
@@ -0,0 +1,30 @@
+#include "YLCStuff.h"
+
+#define ALLAN_MAXPOINTSNUMBER 13			// can compute Allan dev for tau from 1s to 2^13 s =8192 s ~ 2h15' < 10000 s
+
+
+// Allan_Data : the data of crypto class Allan
+
+typedef struct {
+	PanelHandle AllanPanel ;					// le handle sur le graphe
+	void (*OnClosePanel)(int);					// pointer on a function to execute when the panel is closed (argument is the panel Handle)	
+	double AllanVar[ALLAN_MAXPOINTSNUMBER] ;	// the values of variances for each tau = 2^n.tau_0 (with n from 0 to ALLAN_MAXPOINTSNUMBER)
+	double FirstMean[ALLAN_MAXPOINTSNUMBER] ;   // the means of the first block of 2^n data for which averaging was completed
+	double LastMean[ALLAN_MAXPOINTSNUMBER] ;    // the means of the last block of 2^n data for which averaging was completed
+	int BlocksNumber[ALLAN_MAXPOINTSNUMBER] ;	// the number of blocks of 2^n data (averaged) used for computing AVAR(2^ntau)       
+	double CurrentAverage[ALLAN_MAXPOINTSNUMBER] ;  // the sum of the last p data points retrieved (with p<2^2n). used for averaging as soon as p=2^n
+	int NbCurrentAverage[ALLAN_MAXPOINTSNUMBER] ;	// number of data point being summed in CurrentAverage (from 0 up to 2^n)
+	double Drift, Mean ; // the drift rate of the data (in Hz/s), and the mean value (in Hz) : only usefull for dedrifting...
+	} Allan_Data ;
+
+
+// The functions of crypto class Allan
+
+int Allan_InitPanel(Allan_Data * Instance, char * title, double Normalizer, void (*OnCloseFunc)(int)) ;
+int Allan_ClosePanel(Allan_Data * Instance) ;
+int Allan_AddFrequency(Allan_Data * Instance, double Freq) ;
+
+int Allan_Reset(Allan_Data * Instance) ;
+int Allan_AddFrequency(Allan_Data * Instance, double Freq);
+int Allan_Display(Allan_Data * Instance, int ColorPt, int ColorErrorBar);
+int Allan_DisplayErrorBars(Allan_Data * Instance, int color);