Blue Noise creation via filtering?

Started by July 25, 2004
```Frederick Umminger wrote:
> "Andor Bariska" <an2or@nospam.net> wrote in message
> news:41050c8a\$1@pfaff2.ethz.ch...
>
>
>>Yes, that's the whole point - the OP asked what kind of filter to use. I
>>suggested the first difference. If that isn't close enough, you can
>>generate a higher order FIR approximation of the differential operator,
>>but that usually is overkill.
>
>
> Approximating the differential operator will give a psd of f^2, not f. You
> are thinking of amplitude, not power.

Thanks for pointing that out. I was lucky, in that for the first
difference filter H,

|H(w)|^2 = 2 (1 - Cos(w) ),

which is approximately ~ w around Pi/2 and thus still gives a reasonable
approximation for noise with spectral density ~ w if the input is white.

I would still be cautious with using pink noise to generate blue noise.
It seems that the defintion of pink noise is one with a spectral density
~ min(c, 1/f) (from http://www.ptpart.co.uk/colors.htm) for some
constant c. This seems to contradict the defintion of 1/f noises I am
familiar with, for example in [1].

Regards,
Andor

[1] Mandelbrot, B: "Some noises with 1/f spectrum, a bridge between
direct current and white noise"
Information Theory, IEEE Transactions on  ,Volume: 13 , Issue: 2 , Apr 1967

>
> -Frederick Umminger
>
>
>

```
```On Wed, 28 Jul 2004 12:33:26 +0200, Andor Bariska <an2or@nospam.net>
wrote:

>Frederick Umminger wrote:
>> "Andor Bariska" <an2or@nospam.net> wrote in message
>> news:41050c8a\$1@pfaff2.ethz.ch...
>>
>>
>>>Yes, that's the whole point - the OP asked what kind of filter to use. I
>>>suggested the first difference. If that isn't close enough, you can
>>>generate a higher order FIR approximation of the differential operator,
>>>but that usually is overkill.
>>
>>
>> Approximating the differential operator will give a psd of f^2, not f. You
>> are thinking of amplitude, not power.
>
>Thanks for pointing that out. I was lucky, in that for the first
>difference filter H,
>
>|H(w)|^2 = 2 (1 - Cos(w) ),
>
>which is approximately ~ w around Pi/2 and thus still gives a reasonable
>approximation for noise with spectral density ~ w if the input is white.
>
>I would still be cautious with using pink noise to generate blue noise.
>It seems that the defintion of pink noise is one with a spectral density
>~ min(c, 1/f) (from http://www.ptpart.co.uk/colors.htm) for some
>constant c. This seems to contradict the defintion of 1/f noises I am
>familiar with, for example in [1].

This changed definition avoids some of the problems with the
Some integrals did not converge when the lower limit was 0Hz and there
were problems with non-stationary statistics, etc.  (But isn't that
http://www.firstpr.com.au/dsp/pink-noise/#Allan

>[1] Mandelbrot, B: "Some noises with 1/f spectrum, a bridge between
>direct current and white noise"
>Information Theory, IEEE Transactions on  ,Volume: 13 , Issue: 2 , Apr 1967

Regards,
Allan.
```
```Allan Herriman wrote:
> Andor Bariska wrote:
...
>>I would still be cautious with using pink noise to generate blue noise.
>>It seems that the defintion of pink noise is one with a spectral density
>>~ min(c, 1/f) (from http://www.ptpart.co.uk/colors.htm) for some
>>constant c. This seems to contradict the defintion of 1/f noises I am
>>familiar with, for example in [1].
>
>
> This changed definition avoids some of the problems with the
> Some integrals did not converge when the lower limit was 0Hz and there
> were problems with non-stationary statistics, etc.  (But isn't that
> what chaos is all about?)
> http://www.firstpr.com.au/dsp/pink-noise/#Allan

I was always assuming (why?) that we were talking about stationary
processes. There are no problems with any integrals for processes with a
psd ~ 1/f^beta, with beta in ]0,1[ (so called fractional noises). These
are all stationary.

But, pink noise is in a class of non-stationary processes (parametrized
with beta in [1,2]). One of its properties is that it is "infinitely"
correlated with its long-past! This quite clearly is a difficult
simulation problem :-) (fractional noises already are non-trivial).
Thanks for posting that link, I ended up at this fascinating paper
(which might also be of interest to the OP):

Kasdin, N.J: "Discrete simulation of colored noise and stochastic
processes and 1/f^? power law noise generation"
Proceedings of the IEEE  ,Volume: 83 , Issue: 5 , May 1995

(freely available through IEEE Explore from my university computer)

Regards,
Andor

```
```fumminger@umminger.com wrote:
> If you can generate pink noise easily, just filter it with a 6
> dB/octave high pass filter (i.e. a differentiator) to get the blue
> noise. There is plenty of literature on differentiators available
> online, and you may be able to get by with just taking the difference
> of successive samples.
>
> Btw, the Voss-McCartney algorithm is a very inefficient way to
> generate pink noise. You will do much better by applying a simple IIR
> filter to a white noise stream. You can find the necessary filter
> coefficients at the music-dsp source code archive
> (http://www.musicdsp.org/).

Pink noise needs a -3dB/octave low pass filter.
White noise filtered by a -6dB/octave low pass filter will
then be red noise, which is 1/(f*f).

```
```"ho" <gints@att.net> wrote in message
news:6zKOc.358958\$Gx4.81611@bgtnsc04-news.ops.worldnet.att.net...
> fumminger@umminger.com wrote:
> > If you can generate pink noise easily, just filter it with a 6
> > dB/octave high pass filter (i.e. a differentiator) to get the blue
> > noise. There is plenty of literature on differentiators available
> > online, and you may be able to get by with just taking the difference
> > of successive samples.
>
> Pink noise needs a -3dB/octave low pass filter.
> White noise filtered by a -6dB/octave low pass filter will
> then be red noise, which is 1/(f*f).
>

You are supposed to filter the _pink_ noise by a _high_ pass filter.

-Frederick

```