[pulseaudio-discuss] Biquad LR4 for module-lfe-lp
Justin Chudgar
justin at justinzane.com
Fri Mar 29 15:36:09 PDT 2013
https://github.com/justinzane/pulseaudio.git
Alexander:
Now that I have a possibly working rewind implementation, Iwanted to make sure
that I understand your guidance on doing a correct LR4. Following is what I
currently think I need to do:
- split channels into 3 sets: lowpass, highpass, and allpass
- calculate the respective biquad coefficients using a Q=0.5, with one set of
coefficients for both stages of the lp/hp/ap cascades -- that is,
[3][a0,a1,a2,b0,b1,b2]
- use two separate data buffersfor each channel, for the first and second stages
respectively -- that is,
[numchannels][2][ [y0,y1,y2,w0,w1,w2]
Another question I have is whether float or double are more appropriate for the
actual calculations. Reducing my implementation from double to float seems wise
to me for speed and space reasons on 32bit platforms, but I'm not sure that
loss of precision in an IIR filter is acceptable.
If you review the actual code, I know it is not done to the style standards. I
am going to clean it up once I've made sure that it is fundamentally correct.
Thanks for your patience while I am learning.
Justin
More information about the pulseaudio-discuss
mailing list