CNOISE
1/F^alpha Power Law Noise Generation


CNOISE is a MATLAB library which generates sequences that simulate 1/f^alpha power law noise. This includes white noise (alpha = 0), pink noise (alpha = 1) and red or Brownian noise (alpha = 2), as well as noise for values of alpha between 0 and 2.

CNOISE is based in part on an algorithm by Kasdin, as cited in the references.

Kasdin's implementation referenced a number of functions from the Numerical Recipes library (FOUR1, FREE_VECTOR, GASDEV, RAN1, REALFT, VECTOR). Numerical Recipes is a proprietary library whose components cannot be freely distributed. Moreover, the Fourier transform functions require the size of the data to be a power of 2.

This version of the program is implemented as a MATLAB function. The Fourier transform functions that are invoked can handle input data of any size.

Versions of the algorithm are implemented which generate a vector x of size N with a 1/f^alpha frequency distribution, with three choices for the underlying distribution of the white noise vector:

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

CNOISE is available in a C version and a MATLAB version.

Related Data and Programs:

COLORED_NOISE, a MATLAB library which generates samples of noise obeying a 1/f^alpha power law.

ORNSTEIN_UHLENBECK, a MATLAB library which approximates solutions of the Ornstein-Uhlenbeck stochastic differential equation (SDE) using the Euler method and the Euler-Maruyama method.

PINK_NOISE, a MATLAB library which computes a "pink noise" signal obeying a 1/f power law.

STOCHASTIC_RK, a MATLAB library which applies a Runge-Kutta scheme to a stochastic differential equation.

Author:

Miroslav Stoyanov, Oak Ridge National Laboratory, mkstoyanov@gmail.com.

Reference:

  1. Martin Gardner,
    White and brown music, fractal curves and one-over-f fluctuations,
    Scientific American,
    Volume 238, Number 4, April 1978, pages 16-32.
  2. Jeremy Kasdin,
    Discrete Simulation of Colored Noise and Stochastic Processes and 1/f^a Power Law Noise Generation,
    Proceedings of the IEEE,
    Volume 83, Number 5, 1995, pages 802-827.
  3. Edoardo Milotti,
    1/f noise: a pedagogical review,
    arXiv:physics/0204033.
  4. Sophocles Orfanidis,
    Introduction to Signal Processing,
    Prentice-Hall, 1995,
    ISBN: 0-13-209172-0,
    LC: TK5102.5.O246.
  5. William Press,
    Flicker Noises in Astronomy and Elsewhere,
    Comments on Astrophysics,
    Volume 7, Number 4, 1978, pages 103-119.
  6. Miroslav Stoyanov, Max Gunzburger, John Burkardt,
    Pink Noise, 1/f^alpha Noise, and Their Effect on Solutions of Differential Equations,
    International Journal for Uncertainty Quantification,
    Volume 1, Number 3, pages 257-278, 2011.

ZIP File:

The following ZIP file contains the three noise algorithms and the frequency plotter:

Source Code:

Examples and Tests:

You can go up one level to the MATLAB source codes.


Last revised on 01 April 2011.