Fast Random number generators, including 1/fα noise

The AbsRand package consists of a set of efficient C++ classes organised in an OO framework.

It includes

  • a very high quality uniform generator,
  • a radial Box-Muller transform for Gaussian generation,
  • a very fast 1/f2 noise generator based on random-walk,
  • 1/f fast generator based on the previous one.

All these generators use digital filtering and therefore allow potentially the generation of infinite streams of noise without exhausting your RAM (the real challenge for 1/f generators). This software is used in the Planck experiment.

1.  Article

The theoretical description of the algorithms is described in:

  • preprint (free access): http://hal.in2p3.fr/in2p3-00024797/fr/
  • published version: Plaszczynski S., Generating long streams of $1/f^alpha$ noise,Fluctuation and Noise Letters 7 (2007) R1-R13

2.  Software: download

to use it:

  • untar the archive
  • use the classical autoconf/automake tools, ie : configure;make

The software is coded in ANSI-C++ so any decent compiler should understand it.

  • classes (and build library) are available in src/ directory
  • a test is available in test/ (good place to start with)
  • documentation is there too.

3.  Documentation: User manual

The software is provided as is and eventhough it has been intensively tested, use at your own risks .If so, be kind to cite (bibtex):

@article{plaszczynski:2007,
author = {PLASZCZYNSKI, S.},
title = {GENERATING LONG STREAMS OF 1/fα NOISE},
journal = {Fluctuation and Noise Letters},
volume = {07},
number = {01},
pages = {R1-R13},
year = {2007},
doi = {10.1142/S0219477507003635},
URL = {http://www.worldscientific.com/doi/abs/10.1142/S0219477507003635},
eprint = {http://www.worldscientific.com/doi/pdf/10.1142/S0219477507003635}
}

contact: Stephane Plaszczynski