dsp-0.1: Numeric/Random/Spectrum/Purple.hs
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.Random.Spectrum.Purple
-- Copyright : (c) Matthew Donadio 2003
-- License : GPL
--
-- Maintainer : m.p.donadio@ieee.org
-- Stability : experimental
-- Portability : portable
--
-- Function for purple noise, which is differentiated white noise
--
-- This currently just does a simple first-order difference. This is
-- equivalent to filtering the white noise with @ h[n] = [1,-1] @
-- A better solution would be to use a proper FIR differentiator.
--
-----------------------------------------------------------------------------
module Numeric.Random.Spectrum.Purple (purple) where
purple :: [Double] -- ^ noise
-> [Double] -- ^ purple noise
purple xs = zipWith (-) xs (0:xs)