For AllanTools statistics both biascorrection and confidence interval calculation requires identifying the dominant power law noise in the input timeseries.
The usual noisetypes studied have phase PSD noiseslopes "b" ranging from 0 to 4 (or even 5 or 6), corresponding to frequency PSD noiseslopes "a" ranging from +2 to 2 (where a=b+2). These 'colors of noise' can be visualized like this:
Four colors of noise. Note frequency PSD slope "a" related to phase PSD slobe "b" by a=b+2. Lower graphs show tauslopes "mu" for ADEV and MDEV. Data point colors don't match with figures below  sorry.
I've implemented three noiseidentification algorithms based on Stable32documentation and other papers: B1, R(n), and Lag1 autocorrelation.
B1 (Howe 2000, Barnes1969) is defined as the ratio of the standard Nsample variance to the (2sample) Allan variance. From the definitions one can derive an expected B1 ratio of (the length of the timeseries is N)
where mu is the tauexponent of Allan variance for the noiseslope defined by b (or a). Since mu is the same (2) for both b=0 and b=1 (red and green data) we can't use B1 to resolve between these noisetypes. B1 looks like a good noiseidentifier for b=[2, 3, 4] where it resolves very well between the noise types at short tau, and slightly worse at longer tau.
R(n) can be used to resolve between b=0 and b=1. It is defined as the ratio MVAR/AVAR, and resolves between noise types because MVAR and AVAR have different tauslopes mu. For b=0 we expect mu(AVAR, b=0) = 2 while mu(MVAR, b=0)=3 so we get mu(R(n), b=0)=1 (red data points/line). For b=1 (green) the usual tables predict the same mu for MVAR and AVAR, but there's a weak log(tau) dependence in the prefactor (see e.g. Dawkins2007, or IEEE1139). For the other noisetypes b=[2,3,4] we can't use R(n) because the predicted ratio is one for all these noise types. In contrast to B1 the noise identification using R(n) works best at large tau (and not at all at tau=tau0 or AF=1).
The lag1 autocorrelation method (Riley, Riley & Greenhall 2004) is the newest, and uses the predicted lag1 autocorrelation for (WPM b=0, FPM b=1, WFM b=2) to identify noise. For other noise types we differentiate the timeseries, which adds +2 to the noise slope, until we recognize the noise type.
Here are three figures for ACF, B1, and R(n) noise identification where a simulated time series with known power law noise is first generated using the Kasdin&Walter algorithm, and then we try to identify the noise slope.


Lag1 ACF noiseidentification. Resolves well between all noise types at short and medium tau.


B1 noiseidentification. Resolves well between b=2…4 at short and medium tau.


R(n) noise identification. Resolves well between b=0, 1 at medium and long tau. Note weak log(tau) dependence for b=1 (green)
For Lag1 ACF when we decimate the phase timeseries for AF>1 there seems to be a bias to the predicted a (alpha) for b=1, b=3, b=4 which I haven't seen described in the papers or understand that well. Perhaps an aliasing effect(??).
Recent Comments