Sampo Niskanen wrote:
> Hi,
>
> In a recent project I required a source of 1/f^(5/3) pink noise, but was
> unable to find any code or explanation on how to perform that. =A0The
DSP
> Generation of Pink Noise page[1] contains extensive information on
> generating 1/f pink noise, but has no mention of 1/f^alpha pink noise.
>
> I therefore made my own code for the purpose. =A0It produces pink noise
b=
y
> filtering white noise with an IIR filter described by N. Jeremy Kasdin,
> Proceedings of the IEEE, Vol. 83, No. 5, May 1995, p. 822. =A0(The
> reference was found in an old thread on this group.)
>
> Because there seemed to be no freely available code to produce 1/f^alpha
> pink noise on the net, I made the Java class available. =A0The procedure
> is very simple to re-implement in other languages as well. =A0The code
an=
d
> a more thorough analysis of the procedure is available
athttp://www.iki.f=
i/sampo.niskanen/PinkNoise/
>
> Feedback is welcome. =A0:)
Hi Sampo
I didn't look at your implementation, but it's great that you are
making this publicly available. A slight technical nitpick: by
truncating the fractional integrator IIR filter it becomes an FIR
filter, so your method is actually FIR based. This distinction is
im****tant, because there are quite a few IIR approximations to pink
noise (notably the ones where a parallel structure of first order
lowpass filters is used), which are fundamentally different than your
approach.
By the way: is there an error in your formula under Methodology? You
write that the FIR filter coefficients are generated by the recursion
a_0 =3D 1
a_k =3D (k-1-alpha/2) a_{k-1} / k
However, Kasdin writes (equation (104))
a_0 =3D 1
a_k =3D (alpha/2+k-1) a_{k-1} / k
Regards,
Andor


|