Frequency Stability Analysis library for JavaScript
AllanJS is a Frequency Stability Analysis library for JavaScript.
A gentle introduction to Frequency Stability Analysis is provided by NIST Special Publication 1065, written by W.J. Riley.
Phase data plot:
Frequency data plot:
Sigma-tau plot:
Include AllanJS and Flot + jQuery:
<script language="javascript" type="text/javascript" src="js/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.flot.min.js"></script>
<script language="javascript" type="text/javascript" src="js/allan.js"></script>
Prepare a data array or file (one value per line):
var nbs = [
8.920000000000000e+02,
8.090000000000000e+02,
8.230000000000000e+02,
7.980000000000000e+02,
6.710000000000000e+02,
6.440000000000000e+02,
8.830000000000000e+02,
9.030000000000000e+02,
6.770000000000000e+02
];
Create an AllanJS Dataset:
var allan1 = new Allan.Dataset('example 1');
Load data from array:
allan1.loadFreqFromArray(nbs);
Get Allan deviation values for tau = 1, 2, 4:
console.log(allan1.getAdev(1), allan1.getAdev(2), allan1.getAdev(4));
Get Hadamard deviation values for tau = 1, 2, 4:
console.log(allan1.getHdev(1), allan1.getHdev(2), allan1.getHdev(4));
Generate sigma-tau plot (it will be placed in a div with id='plot1'):
var plot1 = allan1.getSigmaTauPlot(['ADEV', 'HDEV']);
$.plot($('#plot1'), plot1.values, plot1.options);
This library is based on several Frequency Stability Analysis tools:
Plots are created using Flot, a pure Javascript plotting library for jQuery, by Ole Laursen http://code.google.com/p/flot/.
Source code available on GitHub: https://github.com/txipi/AllanJS/downloads.