On Tue, Mar 19, 2013 at 2:15 PM, Tim Goetze <tim(a)quitte.de> wrote:
[Fons Adriaensen]
Exactly the same with the form I proposed, w, a, b
need to be computed
just once, not for every gain change. In fact only w depends on the
sample rate, a and b are fixed constants.
Ah yes, sorry, I see that now.
If that extra operation comes around to bite hard enough, I'll be sure
to chain two 1st-order lowpass filters.
You guys are splitting hairs... kind of misses the forest for the trees.
Here's my nit to pick: two identical 1st-order lowpass filters in series
are only equivalent to a 2nd-order lowpass filter when the quality factor
is 0.5. So that's not the same thing.
The best way to avoid "zipper noise" is not to create it in the first
place. Ramps not good enough for ya? Why not? Any "slow enough" ramp
will do. Your problem might be that you're trying to ramp the volume too
fast. Adding a filter just slows down the response anyway.
I think you should figure out a different shape of ramp that doesn't have
discontinuities in the first derivative, such as:
0.5-0.5*cos(pi*n/N)
where N is the number of samples in the ramp
If simple guesses like that are not good enough, you'll have to figure out
how to make a bandlimited step function that cuts out the problematic
frequencies.
Chuck