File Exchange

image thumbnail

allan v3.0

version 1.0 (2.69 KB) by

allan.m calculates normal, modified and timed Allan deviations of time series in one function

37 Downloads

Updated

View License

Compute various Allan deviations for a constant-rate time series, therein normal, modified and timed Allan deviations of time series in one function.
[AVAR]=allan(DATA, TAU)
Inputs are a simple struct containing time series and rate, the outputs contain the assigned Allan deviations.

NOTES:
Calculations of modified and timed Allan deviations for very long time series might become slow. It is advisable to uncomment .msig* and .tsig*, only after calculations of .sig*, .sig2* and .osig* have been proven sufficiently fast.

No pre-processing of the data is performed.
For constant-rate time series, the deviations are only calculated for tau values greater than the minimum time between samples and less than half the total time.

FCz OCT2009
v3.0 faster and very plain code, no plotting; various Allan deviations
can be calculated; script and sample data are availabie on
www.nbi.dk/~czerwin/files/allan.zip
(Normal, overlapping and modified Allan deviations are calculated in one
function, in strong contrast to MAHs approach of splitting up among various
functions. This might be beneficial for individual cases though.)

MAH 2009/2010
v2.0 and others

FCz OCT2008
v1.71 'lookfor' gives now useful comments; script and sample data are
availabie on www.nbi.dk/~czerwin/files/allan.zip
v1.7 Improve program performance by mainly predefining matrices outside
of loops (avoiding memory allocation within loops); no changes to manual

early program core by Alaa MAKDISSI 2003
(documentation might be found http://www.alamath.com/)
revision and modification by Fabian CZERWINSKI 2009

For more information, see:
[1] Fabian Czerwinski, Andrew C. Richardson, and Lene B. Oddershede,
"Quantifying Noise in Optical Tweezers by Allan Variance," Opt. Express 17, 13255-13269 (2009), http://dx.doi.org/10.1364/OE.17.013255

The screenshot shows the use of allan v3.0 in
[2] Fabian Czerwinski, Andrew C. Richardson, Christine Selhuber-Unkel, and Lene B. Oddershede, “Allan Variance Analysis as Useful Tool to Determine Noise in Various Single-Molecule Setups,” Proc. SPIE, Vol. 7400, 740004 (2009), http://dx.doi.org/10.1117/12.827975

Comments and Ratings (7)

The only lack of this software is more documentation. Like an example script on how to use it (maybe running it on simulated data). If it had better documentation I would give it 5 stars.

I used this program to measure the noise characteristics of a simulated stochastic signal. The results were very similar to using the Power Spectral Density (PSD). Based on my tests: the output "AVAR.sig2" is a 100% correct.

NAGA VBN

Sir,

I wanted to plot allan variance curve for the data with time series,can you provide the example data for execution.

Shashank

I am getting the samples at varying time intervals. I do have the timeStamps of the samples. But I am not able to feed it to your file. What modification do I need to do for the samples gathered at varying rate.

Joe Wiegand

Great program, but in lines 117 and 118 you typed y instead of u. Also, I keep getting an error saying that the index is out of bounds.

Kindly help me how i can find out the angle random walk from allan variance curve as i know that when the slope of curve equal to the -0.5 the point shows the ARW but i require code for it...
help me soon plz

Vinod

Vinod (view profile)

In the code Allan.m, v3.0, your calculation for modified Allan deviation uses an undefined vector, y[].

Uncommenting the lines causes 111-126 and executing your script throws an error:

.??? Undefined function or method 'y' for input arguments of type 'double'.

Error in ==> allan at 120
z1=z1-y(L)+y(L+m(j));

Vinod

Vinod (view profile)

In the code Allan.m, v3.0, your calculation for modified Allan deviation uses an undefined vector, y[].

Uncommenting the lines causes 111-126 and executing your script throws an error:

.??? Undefined function or method 'y' for input arguments of type 'double'.

Error in ==> allan at 120
z1=z1-y(L)+y(L+m(j));

MATLAB Release
MATLAB 7.9 (R2009b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video