Zero through flanging with a single BBD is here

Started by Chico, September 08, 2004, 08:34:03 AM

Previous topic - Next topic

Chico

Check out //www.circuitmuse.com and click on the link entitled A Discussion on how to implement Zero Through Flanging with a Single BBD.

I am currently designing a flanger and want to implement through zero flanging.  For a very specific reason, I need to implement two separately controllable delay lines.  However, as I was thinking through all of the issues that will likely arise, and considering all of the ways to implement this concept, I came up with this idea for a simple, single BBD through zero flanger.

The key of the article is how to implement a fixed delay without using BBDs and their associated clocks and not how to design a flanger.  As such, the concept can be adapted to your favorite flanger design.

At any rate, the design is untested and is currently theoretical.  I would appreciate any feedback, comments, suggestions, etc.  Also, the delay calculations are on the last page, you'll have to scroll down to see them.  As you will note, this is very much a work in progress.  I thought I would get some feedback before deciding if it were worth pursuing any further.

Best regards

Tom

Arn C.

Hey Tom!
   I find this very interesting.  I just downloaded the pdf and intend on reading it shortly.  You can count me in on this one.   If I come up with anything I will post it.

Peace!
Arn C.

JonC

This is the approach taken in the Storm  Tide flanger
http://home.debitel.net/user/jhaible/jh_storm_tide_flanger.html
, though with 4 allpass stages rather than 7[/url]

Mark Hammer

First off, interesting idea and a credit to your initiative in working on that problem.

Phase-related and time-related delay are different.  From that stems many things.  I'm not suggesting that the proposed design would not sound *more* like TZF than a standard BF-2 type circuit, or that it would not sound interesting in some way, but rather that it would not sound identical to TZF.

Why?  As I understand it, the "group delay" refers to phase and not time.  Although many folks will talk about phase and time as if they were interchangeable, they aren't the same thing when talking about large passbands, even though phase relationships for individual frequencies can be expressed in terms of time.  

The same amount of phase shift at each of a variety of frequencies is functionally equivalent to different amounts of time delay.  So, to make a constant 10khz tone anti-phase to itself for cancellation purposes, I could: a) simply invert it, b) phase shift it via allpass sections by 180 degrees, or c) delay it by 50usec (1/20,000th of a second, or half a cycle at 10khz).  To do the same thing to a 100hz constant tone, I could do A or B, but I'd need to delay it by 5msec (i.e., 100 times longer) to produce cancellation.

As flangers approach zero delay, the phase relationship between the delayed and "real-time" signal are not equal across the passband.  Conversely, applying a constant *phase-shift* across the passband would not mimic a single delay time imposed across that same passband.

As I say, though, it may well produce some interesting and musically useful sounds that are not attainable in any other manner, so I would be the last person to simply dismiss it because it isn't "true TZF".  Again, no cigar, but I salute you.  Well done.

puretube

ahem... sorry folks: I have to stay out of this discussion :wink:

(though I hinted to thru-zero phasing between the lines a while ago
on similar topics...)

Mark Hammer

Honestly, Ton, you have just about the loudest "silence" of anyone I know.   :lol:  :wink:

puretube

well, You are a close listener, and able to hear between the semitones and the pauses...  8)

Chico

Mark, I think I get what you are saying.  Thanks once again for your advice.

The goal here is not to get "authentic" tape flanging, or even a perfect through zero flange effect.  

I think of group delay as the range of delays within the frequency response of the pass band.  If (and that is a BIG IF) I did my calculations correctly, at least some frequencies between 0-15khz should be delayed by 2 ms.

The idea here, is a cheap, DIY friendly way to generate some delay (hopefully in some reasonable range of frequencies of interest) where the delayed and modulated signal can sweep past the unmodulated signal, and where, a typical DIY'er could mod an existing flanger to add some new color to their sound.  

Thus the idea is that if one could twiddle with the passband corner and component values to maximize the delay time and frequency range of delay in a portion of the guitars spectrum where a lot of guitar energy is expected, some through zero effect could be achieved.

Puretube, can you give a hint as to which topic you are referring to?  I saw a thread on thru zero phasing, but from what I gleaned there, the idea was two phasers in parallel.  I suspect there is more going on here.

stm

BAD NEWS!   :(

I felt curiosity on how a 2.17 ms delay could be obtained with only a seventh-order all-pass filter having at the same time 15 kHz bandwidth. I have experience designing filters of this kind due to my previous job on solid-state AM transmitters, so I simulated the circuit proposed using MicroCap-7.

The result:  circuit shown on the paper exhibits an almost 0.1 ms delay which is flat up to a 5 kHz bandwidth. (the circuit is all-pass, so 15 kHz have nearly no attenuation, but the delay just doesn't follow up with the lower frequencies).

I have been thinking before on how to make BBD-less delay and how to avoid a second BBD for through-zero flanging (started thinking on this about a month ago upon another thread on this forum), and the best I've come up with so far is a 6th order all-pass made of just 4 op-amps that has 0.25 ms delay flat up to 5 kHz.  I think this frequency is OK for guitars, since speakers have a very fast rolloff above this point.  Also, it is possible for a BBD like the SAD-1024 and MN3009 to go this low in terms of delay.

Below is the simulated circuit so you can check I have the values right (and that I am not cheating  8) ):



And then we have the graphics (AC simulation):



Note that 100 us = 0.1 ms!

I await your comments.

Vsat

Chico,
Nice writeup!
Tried a similar experiment with my modified A/DA flanger clone last year (this particular unit is capable of reaching delay times as small as 85 uS). For an approximate wideband linear phase network I used one half of a Dome filter that was built for use in an audio frequency shifter. The results were  rather fascinating. The thru-zero point is somewhat smeared out compared to a true time delay, but gives the effect of "thru-zero" progressively moving across the audio spectrum, with a different portion of the spectrum being "nulled" at any given time. Different than real TZF but VERY NICE - much more pronounced effect than the simpler Eventide approach provides. Unfortunately, takes lots of components - but the good thing  is it sounds good even without one percent R's and C's.
Regards, Mike

puretube


Vsat

Hey... Harald Bode rocks....! The fx guru if there ever was one...

Required Bode patent reading:

US Patent No. 4399326  and 3800088

(and others...)

Describes the Bode Infinite Phaser (a barberpole phaser) and other audio processors making use of freq shifters/Dome filters.

Maybe Hilbert Transformer + Dome Filter =  Dilbert Filter?!?
Regards, Mike

Claus H

Quote from: VsatHey... Harald Bode rocks....! The fx guru if there ever was one...

Required Bode patent reading:

US Patent No. 4399326  and 3800088

(and others...)

Describes the Bode Infinite Phaser (a barberpole phaser) and other audio processors making use of freq shifters/Dome filters.

Maybe Hilbert Transformer + Dome Filter =  Dilbert Filter?!?
Regards, Mike

Patents Sick stuff.. but Cool.. The fx guru I agree!

If he still around he will be 95 years old on the 19 October  
Claus H
"Ya' know, these days kids seem to be getting younger and younger." â€" David Foster

Chico

Mike, I am glad to hear that you had success with this concept.  I sort of stumbled across this a day or so ago, and quickly wrote it up before I forgot about it.  Glad that y'all are on the ball.

I am also glad to hear that the concept works for short delays with the appropriate flanger, as it is obvious now that my calculations were in error.

Puretube.  Thanks for running the simulation.  Somewhere, my math went bonkers.  With your comments, I think I see where.  Please let me know if this sounds right.

For each stage, I computed a group delay as 4*R*C where R and C are the resistor and cap connected to the + of the op-amp.

When I did my computations, I think I computed each group delay using resistance in kohms, not ohms.  I must have been looking at my schematic and somehow overlooked the units.  That threw my calculations off by 1,000.  

Then, I misinterpreted my results and in doing so, I missed and important next step.  My total group delay should have been 2.17, not .00217, which I misinterpretted as my delay time.  

The next step that I MISSED :twisted: , was to divide the normalized group delay by my frequency, i.e., 15,000.  That results in a max delay of 0.14ms.   :oops:

Does the above analysis sound more in line with your experience?

Sorry to all for my blunder.


Puretube and Mike, I hear what you are saying about the Dome filter, now.  The funny thing is, I was thinking of that circuit in a completely different context, and did not see the connection to the Flanger until I saw your posts.  I was off in la la land thinking of the Dome filter strictly in terms of another project I have cooking, making an envelope follower from dome filter quadrature outputs.  My impression of this circuit was that it provided 2 outputs 90 degrees apart.   Sort of akin to a Hilbert transform.  I thought I could full wave rectify the quadrature outputs, connect the peaks and have twice the resolution of a full wave rectified signal.    But that is off subject.

Anyways, thanks again.

Best regards

Tom


Best regards

Tom

puretube


Paul Perry (Frostwave)

Here's why you will always need a BBD (or a digital memory etc) to get a noticeablle delay:
If you want to delay a signal by say 10 milliseconds, then SOMEWHERE in your system, there has to be 10 milliseconds of waveform saved. Now EEs sometimes fail to appreciate this, if they are just looking at a sine wave, because you can say "Oh, there is a phase delay of 15,000 degrees" or something & you think, well that is the same as if a signal of that frequency is delayed so many milliseconds.
But nothing for free in this world :cry:

SeanCostello

Who's Hurvitz? I know Schroeder well. Does Hurvitz have a first name?

I made a VST plugin recently for a workshop, that simulates the Eventide Instant Flanger (I'm not releasing it yet, as it needs to be optimized, plus Eventide has their own commercial plugins). The allpass stages do a nice job at creating through-zero effects. The flanger seems to go through zero somewhere in the middle of your head, and the stereo image does kind of a figure 8. Whether or not the effect is a true approximation of through-zero flanging, it does sound more interesting than the standard flanger.

The trick I used was that the allpass coefficient was in the range of -0.72 to -0.85 for the allpass stages (remember that I am working in the z-plane here, not s-plane, but the ideas are transferable). This does not present a constant delay at all frequencies, but it does place the notches into an interesting location, at least to my ears.

Sean Costello

Chico

I should have known from the get go that results which look too good to be true... probably are.  That said, from the replies to my original post, I sense that I am on the right track, just of by degrees of magnitude.

At any rate, I knew that I could count on y'all to set me in the right direction.  Sometimes it takes an exercise like this to get things to cement in my brain.  Time to hit some books.

Best regards

Tom

stm

Chico:

Regarding to your reply on the previous page, now your calculations seem right (those around 100 us).

I am posting below my optimized circuit for generating a flat delay of 6th order with only 4 opamps.  Using the 2nd order topology, I found that gain was less than 1, so I tweaked the standard 1st order stage to provide both phase shifting and gain at the same time, keeping overall gain at unity.  This is the explanation to the two odd-valued resistors on the 1st order phasers (5k6 and 3k6).



And now to the performance plots (notice overall gain change is less than 0.5 dB):



Please let me know if someone finds this useful.

Regards to all,

STM

puretube