Theoretical extension of all-pass filtering into longer delay times

Started by Taylor, December 03, 2010, 03:04:27 PM

Previous topic - Next topic

Taylor

Cryptic title, I know.

I have for some time wondered about the idea of extending the phaser concept into longer delay times - in other words, instead of having a frequency-dependent delay which never extends past nano seconds, what if we had so many APF stages that the delay became in the hundreds of milliseconds?

Forget about real life implementation here, that will spoil the thought experiment.  ;)

We can easily imagine what a multi-band delay sounds like - a crossover circuit with maybe 2 or 3 frequency bands, which get delayed separately. However, what I'm talking about would be like an infinite-band delay, so it wouldn't simply be where the percussive attacks and the note fundamentals repeat at different rates, but all of the frequencies are smeared out in time.

Again, setting aside real life implementation for a moment, is the concept sound? Or am I wrong in thinking that a huge number of APF stages would ever amount to this "infinite-band frequency-dependent delay"?

Hides-His-Eyes

Part of me thinks that a change in phase of 2pi comes around to nothing, and part of me thinks that you don't have to think that way for a signal that isn't a sine wave...

Falstad that shit :)

Taylor

Unfortunately, Falstad gets pretty laggy on my computer once you get up to something like 10 APF stages. I've talked to the designers of Plogue Bidule about adding analog component simulation - if they did, that would do the job I think.

As you say, I think that with a real instrument signal, successive 360 shifts would actually amount to something different from less than 360 degrees. But honestly I'm not sure.

Hides-His-Eyes

Is there a good mathematical description of an all pass filter?

Rob Strand

QuoteIs there a good mathematical description of an all pass filter?

A(s) = +/- p(-s) / p(s);   

where s = j.w, w = 2.pi.f and p(s) is a polymomial.

A typical phaser constructs A(s) from a cascade of first order-all pass filters.  Here each all pass has p(s) = 1 + a1.s, and the cascaded allpass will have p(s) = (1+a1.s)**n, n = number of stages.

You can also cascade second order all-pass. A each second order all pass has p(s) = 1 + a1.s + a2.s^2.
The a1 and a2 coefficients determine the characteristic frequency of the filter, and in the 2nd order case the
filter Q.

All-pass filters have group delay not time delay, not the same thing.

A lot of the sound modification on phasers, flangers etc is due to pitch shift causeby modulating the filter frequency.    A large number of phaser stages starts sound more like a flanger.  Also if the amount of filter frequency modulation is kept the same you end up with something sounding like a flanger with the width jacked up - ie. the  pitch is blurred by a large amount.



Send:     . .- .-. - .... / - --- / --. --- .-. -
According to the water analogy of electricity, transistor leakage is caused by holes.

amptramp

You may be interested in wideband 90 degree phase shift networks used in single-sideband transmitters like the HA5WH network in:

http://fermi.la.asu.edu/w9cf/articles/phase/node4.html

because more stages mean you may need to boost the bandwidth.  This has to be considered one approach, but from early times it was reckoned that shifting the higher frequencies more than the bass frequencies was of benefit, or the sound would become "muddy".  However, this may be a case of the old marketing adage: if you can't fix it, feature it.  There is an article in the March 1957 Radio Electronics showing a single-stage phase shifter used as a vibrato in the Thomas organs of the day.  Thomas later introduced a delayed vibrato where the effect gradually increased in phase shift over a period of several seconds.

Shifting all frequencies by a given phase rather than the somewhat tuned phase shift may be interesting - or it may be a total bust.  Anyone done this?

amptramp

This is the image from the previous post:



The values are:

R1 - R6 = 12 K
C1 = 0.044 uF
C2 = 0.033 uF
C3 = 0.02 uF
C4 = 0.01 uF
C5 = 5600 pF
C6 = 4700 pF

The outputs can be sent to a panning stage that selects output a or output b.  Several stages of these are cascaded to produce a wideband phaser.

oldschoolanalog

Mystery lounge. No tables, chairs or waiters here. In fact, we're all quite alone.

Taylor

Hmm. First try at simming amptramp's posted schem:

Freq analysis. Goto http://www.falstad.com/afilter/ and paste the following into file>import:
$ 1 5.0E-6 5 50 5.0 50
% 0 28853.998118144256
c 592 320 656 256 0 4.7E-9 0.0
c 528 320 592 256 0 5.6E-9 0.0
c 464 320 528 256 0 1.0E-8 0.0
c 400 320 464 256 0 2.0E-8 0.0
c 336 320 400 256 0 3.3E-8 0.0
c 272 320 336 256 0 4.4E-8 0.0
r 272 320 336 320 0 12000.0
r 592 320 656 320 0 12000.0
r 336 320 400 320 0 12000.0
r 400 320 464 320 0 12000.0
r 528 320 592 320 0 12000.0
r 464 320 528 320 0 12000.0
w 272 320 272 256 0
w 272 192 272 128 0
r 464 256 528 256 0 12000.0
r 528 256 592 256 0 12000.0
r 400 256 464 256 0 12000.0
r 336 256 400 256 0 12000.0
r 592 256 656 256 0 12000.0
r 272 256 336 256 0 12000.0
c 272 256 336 192 0 4.4E-8 0.0
c 336 256 400 192 0 3.3E-8 0.0
c 400 256 464 192 0 2.0E-8 0.0
c 464 256 528 192 0 1.0E-8 0.0
c 528 256 592 192 0 5.6E-9 0.0
c 592 256 656 192 0 4.7E-9 0.0
r 464 192 528 192 0 12000.0
r 528 192 592 192 0 12000.0
r 400 192 464 192 0 12000.0
r 336 192 400 192 0 12000.0
r 592 192 656 192 0 12000.0
r 272 192 336 192 0 12000.0
c 272 192 336 128 0 4.4E-8 0.0
c 336 192 400 128 0 3.3E-8 0.0
c 400 192 464 128 0 2.0E-8 0.0
c 464 192 528 128 0 1.0E-8 0.0
c 528 192 592 128 0 5.6E-9 0.0
c 592 192 656 128 0 4.7E-9 0.0
r 464 128 528 128 0 12000.0
r 528 128 592 128 0 12000.0
r 400 128 464 128 0 12000.0
r 336 128 400 128 0 12000.0
r 592 128 656 128 0 12000.0
r 272 128 336 128 0 12000.0
c 272 128 336 64 0 4.4E-8 0.0
c 336 128 400 64 0 3.3E-8 0.0
c 400 128 464 64 0 2.0E-8 0.0
c 464 128 528 64 0 1.0E-8 0.0
c 528 128 592 64 0 5.6E-9 0.0
c 592 128 656 64 0 4.7E-9 0.0
r 656 320 656 400 0 100000.0
r 688 320 688 400 0 100000.0
r 720 320 720 400 0 100000.0
r 752 320 752 400 0 100000.0
w 656 256 720 256 0
w 720 256 720 320 0
w 688 320 688 192 0
w 688 192 656 192 0
w 656 128 752 128 0
w 752 128 752 320 0
w 688 400 688 416 0
a 512 432 448 432 1 15.0 -15.0 1000000.0
a 512 560 448 560 1 15.0 -15.0 1000000.0
w 688 416 688 448 0
w 688 448 512 448 0
w 656 400 656 416 0
w 656 416 512 416 0
w 720 400 720 544 0
w 720 544 512 544 0
w 512 576 752 576 0
w 752 576 752 400 0
r 512 416 512 352 0 100000.0
g 512 352 544 352 0
r 512 480 448 480 0 100000.0
w 512 480 512 448 0
w 448 480 448 432 0
r 512 544 512 496 0 100000.0
g 512 496 544 496 0
r 512 608 448 608 0 100000.0
w 512 608 512 576 0
w 448 608 448 560 0
w 336 64 352 64 0
w 352 64 352 336 0
w 352 336 336 336 0
w 336 336 336 320 0
w 400 64 416 64 0
w 416 64 416 336 0
w 416 336 400 336 0
w 400 336 400 320 0
w 464 64 480 64 0
w 480 64 480 336 0
w 480 336 464 336 0
w 464 336 464 320 0
w 528 64 544 64 0
w 544 64 544 336 0
w 544 336 528 336 0
w 528 336 528 320 0
w 592 64 608 64 0
w 608 64 608 336 0
w 608 336 592 336 0
w 592 336 592 320 0
w 656 64 672 64 0
w 672 64 672 320 0
w 672 320 656 320 0
170 272 128 272 32 2 20.0 4000.0 5.0 0.1
174 400 432 352 560 0 1000.0 0.9950000000000001 Resistance
w 448 432 400 432 0
w 448 560 400 560 0
O 352 496 288 496 0
g 272 320 272 384 0


Not sure what I should be looking for here.

Taylor

Quote from: oldschoolanalog on December 03, 2010, 09:17:54 PM
This might be of some interest:
http://www.diystompboxes.com/smfforum/index.php?topic=25168.0
;)

If I understand that correctly (not sure I do) that's meant to have the same delay across the guitar's spectrum, right? So to get a delay that varies across the instrument's frequency range, I guess I could just ignore all the stuff about matching.  ;)

So, just making some very rough estimating here, if we take 8 APFs=.5ms maximum delay, 1600 would be needed for 100ms. The Spin FV1 can do an allpass in 2 instructions, and has 128 instructions per cycle, so with really simple code we could only get around 60 APFs. At that point it would likely sound, as noted by Rob Strand, like a flanger.

I bet an FPGA could do 1600 allpasses, but I don't know anything about them.

Strategy

Hey Taylor - you should check out the documentation for the JH tau phaser (see my build thread) - that has so many stages of phasing it causes a slight time/pitch shift approximating flanger type effects. I can't pretend to understand the science behind it, but it kind of helped me understand how enough all pass/phase shifting can get into delay territory...If I'm understanding your original post right...

- Strategy "all I know is, extreme phasing sounds awesome when it's almost flanging" Dickow
-----------------------------------------------------
www.strategymusic.com
www.community-library.net
https://soundcloud.com/strategydickow
https://twitter.com/STRATEGY_PaulD

amptramp

I should note that the circuit I have shown above is not an all-pass.  It is a filter designed to separate audio into two outputs which are phase-shifted at 90 degrees with respect to each other for input into a single-sideband transmitter modulator stage.  One of the advantages of this design is that it does not require precision components.  10% capacitors and resistors are good enough to maintain 60 db of opposite sideband suppression in the 300 - 3000 Hz range.

BTW, nice catch, oldschoolanalog.  I had no idea that a fixed delay using op amps would be as simple as that.

R.G.

The I-Q or Hilbert transform all-pass network is one that shifts one output by 90 degrees with respect to the other over a wide frequency band. It does not do this the way you may think.

Instead it shifts one output by an amount of phase that increases linearly with frequency over a wide range. The second output is shifted in the same direction, but the shift starts at a later frequency than the first one, so that the second output is always shifted 90 degrees less at any frequency than the first one. Both outputs have a continuously increasing phase shift with increasing frequency with respect to the input signal, but the two have a constant 90 degree offset relative to one another over the frequency range of interest.

Thus both will have notches and humps if added back to the un-shifted dry signal, but at slightly different frequencies.
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.