[Stk] tuning all pass filters with changes in sampling rate

Perry Cook prc at cs.princeton.edu
Mon Jun 26 15:16:11 PDT 2017


Great question.  In the case of all pass filters, I at first felt your intuition correct.

But as I think of it, maybe not.  My reasoning:

I’ve most often used all pass with large delay line for reverb and other delay
effects.  (Schroeder type) Reverbs usually use some comb filters and some 
all pass.  I always view these delays as round-trip times between simulated
walls.  So the time is important, thus the delay length (as a number of samples)
must change with sample rate, to keep the time delay the same.

For the comb filters, the decay time is important, so the coefficient needs to
change with sample rate to keep the T60 correct.

For the all-pass filters, maybe we should change them as well, to keep the
transient response more constant across different sample rates.  An all pass
shows up as reciprocal pairs of poles/zeros spaced around the unit circle.
Changing the delay line length changes the number and positions of those,
but they always equally divide the unit circle.  One could posit different 
arguments that the distance(s) from the unit circle should or should not change.

One argument:   product of all pole radii = constant      (keep coefficient same)

Other argument: individual pole radii = constant   (change coefficient)


Julius specifically called to pipe in here

PRC


> On Jun 25, 2017, at 9:02 AM, Gary Worsham <gary.worsham at gmail.com> wrote:
> 
> Single pole IIR filters can easily be adjusted to a new sampling rate while preserving frequency response since the coefficient includes the sampling rate as part of its formula.
> 
> However, in sound effects use (my experience anyway) all pass filters are used for phase shifter (e.g. Pink Floyd) and as a component in most reverbs.  These structures tend to be more ad-hoc in their design intention - by which I mean that after a bit of experience, most people would know what to expect from an 800 Hz low pass vs. a 2.5 kHz low pass, but as far as what to expect from these other things, I think mostly we just wing it and see what happens.
> 
> All-pass tuning (frequency of max phase shift) is related to the length of the all-pass delay, and for delays longer than one sample, this shift is mirrored and copied throughout the spectrum.  So I can adjust the all-pass delay sample length proportionally with the ratio of new/old sample rate and it should preserve the delay time.
> 
> Next question is about the all-pass coefficient.  Generally I think "how often does the signal go through the coefficient"?  If you adjust the delay length to equalize the time, then my gut feeling is to keep the all-pass coefficients the same regardless of sampling rate.
> 
> However that is simply a wild guess, so thought I'd check in the the DSP gods.
> 
> Thanks,
> 
> GW
> 
> _______________________________________________
> Stk mailing list
> Stk at ccrma.stanford.edu
> https://cm-mail.stanford.edu/mailman/listinfo/stk




More information about the Stk mailing list