I wrote:
> Sampo Niskanen wrote:
> > Hi,
>
> > In a recent project I required a source of 1/f^(5/3) pink noise, but
wa=
s
> > unable to find any code or explanation on how to perform that. =A0The
D=
SP
> > 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=
by
> > 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^alph=
a
> > pink noise on the net, I made the Java class available. =A0The
procedur=
e
> > is very simple to re-implement in other languages as well. =A0The code
=
and
> > a more thorough analysis of the procedure is available
athttp://www.iki=
..fi/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
Oops. You _are_ using an IIR filter and you are using equation (116)
to compute the purely recursive filter coefficients. So what you wrote
above all makes sense.
Did you compare the AR with the MA approach?
Regards,
Andor


|