
Home  Forums  Rules  Articles  diyAudio Store  Blogs  Gallery  Wiki  Register  Donations  FAQ  Calendar  Search  Today's Posts  Mark Forums Read  Search 
PC Based Computer music servers, crossovers, and equalization 

Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving 

Thread Tools  Search this Thread 
23rd October 2015, 04:29 PM  #1 
diyAudio Member

group delay equalization
I am interested in designing a group delay equalizer. I have found some journal articles on the subject from authors Quelhas and Okoniewski (for example, see here) that seem to outline a starting point for the placement of the poles of multiple allpass sections. An optimization algorithm is sometimes applied to minimize the delay ripple. I'd like to learn more about this process before I jump in and try it myself.
If the pole locations are just an estimate, can this be made more crudely? Since optimization is being used anyway, how "close" does the starting point need to be to the solution? The motivation for doing this is that I would like to start using some higher order elliptic filter based crossovers that I have developed. One consequence of the high order is high Q sections that result in group delay peaking. This can be ameliorated by group delay equalization, and this has spurred me on to look in to this topic in more detail. If it works out for me I might create an ACD extension for doing GD EQ. I would probably set up the problem in Excel and then use the nonlinear optimization that is part of the built in Solver addin to complete the design. Last edited by CharlieLaub; 23rd October 2015 at 04:33 PM. 
23rd October 2015, 04:59 PM  #2 
Old guy with soldering iron
diyAudio Member

If you aren't averse to dsp EQ, try the minidsp openDRC (or miniSharc) along with the free Rephase program. Given a measured dB+phase response of your speaker, group delay eq is almost trivially easy to do then. No equations or math, just move sliders to adjust phase at each frequency range. Works great.
__________________
[W9MJE] Horn spreadsheet SynergyCalc/; SmallSyns SmallSyns; Crossover design Xsim; Depot diffusor supereasy diffusors 
23rd October 2015, 05:10 PM  #3  
diyAudio Member

Quote:
I stumbled on this MathWorks/MATLAB routine that let's the user specify some arbritrary group delay target function and then fits N delay stages to it. Manpage for the routine is here: Arbitrary group delay filter specification object  MATLAB fdesign.arbgrpdelay So it seems doable. This is the route that I want to try first. I will be trying to optimize the Q and corner frequency of each allpass stage to minimize the group delay difference across the driver's passband, or something like that. I'd just like to get the big picture regarding this approach, see what the pitfalls may be, etc. If anyone has experience with the fdesign.arbgrpdelay routine I would love to hear about it. Last edited by CharlieLaub; 23rd October 2015 at 05:13 PM. 

25th October 2015, 08:14 PM  #4  
diyAudio Member

Linear Phase equalization
No one has anything to add about IIR (all pass) delay equalization?
I guess this is not very nomenclature, so perhaps I should state the problem in more familiar terms: Quote:


25th October 2015, 09:50 PM  #5 
diyAudio Member
Join Date: Oct 2008

Gobind Daryanani's book has a nice exposition on the subject. The book is
Principles of active network synthesis and design Akitika Preamp and Power Amp Kits 
25th October 2015, 09:59 PM  #6 
Old guy with soldering iron
diyAudio Member

Charlie,
I think you'll have a big job to get elliptical filtered stuff to linear phase via IIR. Not completely impossible, but it won't be exactly easy. Unless your speakers are minimum phase, it might not even be doable. Why do you rule out FIR, btw? (I didn't mean Dirac, RePhase is free and manually controlled not automated).
__________________
[W9MJE] Horn spreadsheet SynergyCalc/; SmallSyns SmallSyns; Crossover design Xsim; Depot diffusor supereasy diffusors 
25th October 2015, 11:36 PM  #7 
diyAudio Member

Thanks! I have that on my shelf. The section is only 3 pages, but I suppose it is useful in showing that delay EQ via optimization is possible.

25th October 2015, 11:40 PM  #8  
diyAudio Member

Quote:
You are correct  I will need to implement delay EQ on the system delay that includes the phase response of each driver. I can know this very easily via my modeling program, ACD, or a system measurement. Anyway, I will investigate further and then post about it. 

26th October 2015, 12:32 AM  #9 
diyAudio Member

I applied a couple of allpass filters to the lowpass stage of the ellipticderived crossover filters that I am currently modeling. I could pretty easily get the group delay below the crossover point to flatten, with ripple, using only a couple of filters.
On the other hand, doing the same thing to the highpass side of the crossover seems very difficult to impossible. This is because of the shape of the delay that an allpass filter can create. It's sort of like the amplitude response of a lowpass filter  there is some constant value at DC and then near the "corner frequency" can peak but then falls away to zero. This shape works well when you want to equalize the lowpass section because the delay of the crossover system is typically starting low and then peaking at the crossover point before dropping back down to near zero in the highpass side of the filter. Unless I can find a way to do both high and low pass with IIR allpass and digital delay I may need to consider embracing FIR for this. I have no idea if my hardware is fast enough for FIR processing, however, I might be able to used a mixed approach with IIR for the lower frequencies and FIR for the higher frequencies. I seem to recall the FIR calculations for low frequencies requires more taps than for higher frequencies. Is that correct? Or you need more taps for increased frequency resolution, and so at low frequencies or for steep changes in the frequency of phase response, you need a lot of taps. Is that statement a little more accurate??? Last edited by CharlieLaub; 26th October 2015 at 12:44 AM. 
26th October 2015, 01:11 AM  #10 
diyAudio Member

So, now I am looking at rePhase's graphical "phase equalizer" (online, I haven't actually downloaded it yet). I should be able to use rePhase to "equalize" the group delay (not the frequency magnitude), reducing the peak and bringing up the region above 1kHz. Since this is rather smooth I might be able to get away with a relatively low number of taps. I already wrote some code to implement a circular buffer for IIR delay and I might be able to adapt that for FIR work or I could just break down and use some existing code, etc.
As an example, the group delay of my 7th order ellipticfilterbased crossover, and the group delay of a 7th order Butterworth crossover, is shown in the attachments. 
Thread Tools  Search this Thread 


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Group Delay  pargon  Subwoofers  5  29th January 2010 07:37 PM 
Group Delay Question  69stingray  MultiWay  12  1st November 2005 11:27 AM 
Question about the group delay of this:  BAM  MultiWay  1  23rd November 2003 05:07 PM 
Group Delay............When Is Too Much Too Much?  OMNIFEX  MultiWay  0  14th March 2003 07:30 AM 
Group Delay?  Ignite  MultiWay  6  13th November 2001 05:52 AM 
New To Site?  Need Help? 