If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Allpass filters that oscillate !
7 posts
• Page 1 of 1
Allpass filters that oscillate !
Hi Adam, Spogg and the gang,
I'm glad you're enjoying my classic spring reverb, and as Adam discovered, it can become unruly in a hurry, just like the physical springers.
The phenomenon occurs in the allpass section of the delay line, where several allpass filters are cascaded in the classic hookup proposed by Manfred Schroeder in 1962.
An allpass filter by design has unity gain across the design bandwidth in this case, audio.
So what's the point of a filter with a flat passband ? They are used for phase correction in telephone systems, broadcast, etc.
Their phase can shift from either -180 to 0 or 0 to +180 degrees for a 1 pole filter, depending on the hookup. Phase shift creates delay that is frequency sensitive. Cascading several of them with differing delays creates a very complex phase profile and delay profile, ideal for 'smearing' the 'rattle' decay that emanates from the primary delay network. That's why you see them placed after the primary delay elements in a typical reverb.
The feedback gain has to be kept well below .98 to prevent oscillation at certain frequencies that ADD due to the various phase shifts of the multiple allpass filters. Anything above .5 and you have to be careful.
As you may imagine. by the same token, other frequencies CANCEL for the same reason.
My Allpass demonstrator shows this, comparing 1 allpass element with 4 elements, cascaded.
Have fun with another Dead Simple demonstrator !
ROXY
I'm glad you're enjoying my classic spring reverb, and as Adam discovered, it can become unruly in a hurry, just like the physical springers.
The phenomenon occurs in the allpass section of the delay line, where several allpass filters are cascaded in the classic hookup proposed by Manfred Schroeder in 1962.
An allpass filter by design has unity gain across the design bandwidth in this case, audio.
So what's the point of a filter with a flat passband ? They are used for phase correction in telephone systems, broadcast, etc.
Their phase can shift from either -180 to 0 or 0 to +180 degrees for a 1 pole filter, depending on the hookup. Phase shift creates delay that is frequency sensitive. Cascading several of them with differing delays creates a very complex phase profile and delay profile, ideal for 'smearing' the 'rattle' decay that emanates from the primary delay network. That's why you see them placed after the primary delay elements in a typical reverb.
The feedback gain has to be kept well below .98 to prevent oscillation at certain frequencies that ADD due to the various phase shifts of the multiple allpass filters. Anything above .5 and you have to be careful.
As you may imagine. by the same token, other frequencies CANCEL for the same reason.
My Allpass demonstrator shows this, comparing 1 allpass element with 4 elements, cascaded.
Have fun with another Dead Simple demonstrator !
ROXY
- Attachments
-
- ROXY's Allpass Demo.fsm
- Filters that oscillate? Say it isn't so !
- (752.46 KiB) Downloaded 1017 times
-
rocknrollkat - Posts: 213
- Joined: Mon Jan 04, 2016 7:04 pm
- Location: Oakland Gardens, New York City, U.S.A.
Allpass filters don't oscillate !
Roxy, unfortunately your allpass implementation is off by one or two samples, refer to the attachment. I have also included a correct allpass chain for reference. As you can see, the correcponding transfer function is flat, as it should be.
Would that explain Adam's instability finding?
Would that explain Adam's instability finding?
- Attachments
-
- Allpass Demo Check.fsm
- (65 KiB) Downloaded 1012 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Allpass filters don't oscillate !
martinvicanek wrote:Roxy, unfortunately your allpass implementation is off by one or two samples, refer to the attachment. I have also included a correct allpass chain for reference. As you can see, the correcponding transfer function is flat, as it should be.
Would that explain Adam's instability finding?
Hi Martin,
Thank you so much for taking the time to get involved in this project.
The allpass filter I'm using is taken from 'freeverb', I did not design it.
I became aware of the nonlinearity when I built my demonstrator, I just accepted it since most analog systems are not dead on, I figured this was the correct approximation.
Terrific demnostrator that you built !
Your allpass works as promised.
I'm not clear when you say 'samples' in this context.
It may indeed explain Adam's instability findings. I'm aware of this and that's why I indicated to be very gentle with the levels.
I will build a reverb demonstrator with your allpass filter and keep you posted.
This could change everything.
Thanks again,
ROXY
-
rocknrollkat - Posts: 213
- Joined: Mon Jan 04, 2016 7:04 pm
- Location: Oakland Gardens, New York City, U.S.A.
Re: Allpass filters don't oscillate !
rocknrollkat wrote:martinvicanek wrote:Roxy, unfortunately your allpass implementation is off by one or two samples, refer to the attachment. I have also included a correct allpass chain for reference. As you can see, the correcponding transfer function is flat, as it should be.
Would that explain Adam's instability finding?
Hi Martin,
Step 1, I added your delay line pack to my demonstrator, for a side by side comparison.
It's a starting point.
Here's the hookup.
Now I'll build a reverb with your allpass and mine, and check for instabiltiy.
It's 7:15 A.M. here in NYC, bitter cold, the kitchen pipes are frozen....
ROXY
- Attachments
-
- ROXY's Allpass Demo-2 - Martin-ROXY.fsm
- Side by side allpass comparison.
- (753.51 KiB) Downloaded 993 times
-
rocknrollkat - Posts: 213
- Joined: Mon Jan 04, 2016 7:04 pm
- Location: Oakland Gardens, New York City, U.S.A.
Re: Allpass filters don't oscillate !
[color=#FF00FF]Roxy, unfortunately your allpass implementation is off by one or two samples, refer to the attachment. I have also included a correct allpass chain for reference. As you can see, the correcponding transfer function is flat, as it should be.
Would that explain Adam's instability finding?[/quote][/quote]
Now I'll build a reverb with your allpass and mine, and check for instabiltiy.[/color]
Hi Gang,
I just completed my demonstrator comparing Martin's allpass network with the Freeverb allpass network.
Freeverb limits feedback internally at 50%.
The reason now becomes apparent, as Martin suggests, the Freeverb allpass is unstable !
Check out my demonstrator, altering Freeverb's feedback changes its response from NO response to incredible oscillation !
Martin's allpass is essentially transparent, it doesn't care WHAT feedback level it sees, it just works.
So hats off to Martin, and many thanks for this corrected allpass network !
ROXY
Would that explain Adam's instability finding?[/quote][/quote]
Now I'll build a reverb with your allpass and mine, and check for instabiltiy.[/color]
Hi Gang,
I just completed my demonstrator comparing Martin's allpass network with the Freeverb allpass network.
Freeverb limits feedback internally at 50%.
The reason now becomes apparent, as Martin suggests, the Freeverb allpass is unstable !
Check out my demonstrator, altering Freeverb's feedback changes its response from NO response to incredible oscillation !
Martin's allpass is essentially transparent, it doesn't care WHAT feedback level it sees, it just works.
So hats off to Martin, and many thanks for this corrected allpass network !
ROXY
- Attachments
-
- ROXY's allpass comparison demonstrator.fsm
- Martin's corrected allpass network is correct !
- (208.4 KiB) Downloaded 1008 times
-
rocknrollkat - Posts: 213
- Joined: Mon Jan 04, 2016 7:04 pm
- Location: Oakland Gardens, New York City, U.S.A.
Re: Allpass filters that oscillate !
There may be different versions of the Freeverb on the forum. I am posting the one that has worked for me all those years. It is an amazing device, given its simplicity. Schroeder was a clever guy to propose the essential algorithm, and some smart folks got the tuning right in the nineties .
- Attachments
-
- FreeVerb_optimized.fsm
- (55.77 KiB) Downloaded 1075 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Allpass filters that oscillate !
martinvicanek wrote:There may be different versions of the Freeverb on the forum. I am posting the one that has worked for me all those years. It is an amazing device, given its simplicity. Schroeder was a clever guy to propose the essential algorithm, and some smart folks got the tuning right in the nineties .
There could be different versions, there are several papers that discuss the Freeverb. I havn't read them in their entirety, but I'd be surprised if nobody caught this.
Looking at your optimized version, I see that the allpass filters are written in code by Trogg and yourself.
I'd have to assume that Trogg caught the problem, wrote a filter in code and you modded it.
I'm only guessing here....
The original Schroeder papers proposed 3 delay lines in parallel with different timings, and 5 allpass filters for smoothing the 'rattle' response.
Yup, amazingly simple.
I'm appalled that nobody has picked up on Freeverb's 'room size' misnomer, it is in fact feedback percent, and has no bearing on varying room size, which I have measured as fixed at approx. 25 ft. source to wall.
The allpass that you posted earlier this morning is correct.
ROXY
-
rocknrollkat - Posts: 213
- Joined: Mon Jan 04, 2016 7:04 pm
- Location: Oakland Gardens, New York City, U.S.A.
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: Google [Bot] and 29 guests