Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

PC Based Computer music servers, crossovers, and equalization

group delay equalization
group delay 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
Reply
 
Thread Tools Search this Thread
Old 26th October 2015, 02:22 AM   #11
bwaslo is offline bwaslo  United States
Old guy with soldering iron
diyAudio Member
 
bwaslo's Avatar
 
Join Date: May 2006
Location: Portland, Oregon!
group delay equalization
Quote:
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???
I just think of it as low frequencies having more samples per cycle and if you have to keep HF behaving, you'd need to have taps placed all the way through. That might not be accurate, either, though. I'm certainly no expert on FIR, more or less just a user (and a big fan - there's nothing like having omnipotence over waveform shaping!).
__________________
[W9MJE] Horn spreadsheet SynergyCalc/; SmallSyns SmallSyns;
Crossover design Xsim; Depot diffusor super-easy diffusors
  Reply With Quote
Old 26th October 2015, 05:26 PM   #12
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: Michigan
I've been looking into FIR filters in a little more detail. Although you can just flatten magnitude and phase using lots of taps, I'd like to look at a "lighter" use of FIR filtering for phase linearization of the higher frequencies only. I will explain with an example below.

The first attachment shows a model of a loudspeaker frequency response. This has a 4th order HP function at 30Hz to simulate a vented box, and a steep crossover at 1kHz. The resulting group delay for the system is shown in the second attachment. The GD is characterized by a rise in the low bass region, a constant but elevated region in the woofer passband, a peak at the 1kHz crossover frequency, and then a return to near zero in the tweeter passband. This general shape is typical of a loudspeaker system.

What I would like to do is to "remove" the peak at the crossover point and bring up the group delay in the tweeter's passband to the same level as the woofer. I will not attempt to modify the GD below 200Hz. We need a filter that can create the group delay EQ curve as shown by the line in the third attachment. This "removes" delay from the system at the peak around the crossover point and "adds" delay above. The result would be "flat group delay" for the loudspeaker above about 200Hz. This is the same things as linear phase in that same frequency region. At the same time we do not want to change the magnitude of the system, which has been made sufficiently flat using IIR filters.

So, how to do this? You cannot generate this phase/group-delay correction using any number of IIR filters because the group delay must be increased at higher frequencies. Instead an FIR filter is needed.

The process of generating FIR filter coefficients for constant-amplitude phase modulation seems a little different from that of FIR magnitude filtering. If I understand the process correctly, one can first calculate the phase response that corresponds to the EQ filter group delay response that we want. This can be done by integrating upwards with a phase of 0 degrees below where the GD leaves zero, and using the definition of group delay as -d(phi)/d(omega). The amplitude response for all frequencies of our EQ filter is simple set to 1 (0dB). Next we generate the impulse response of this system. The system must be causal, so in this case we would need to shift the impulse response "later" in time - this is the same as moving the group delay of the filter "up" until there are no negative values and we could have done this to the desired filter group delay earlier. We then window/truncate the impulse response where it has sufficiently died down. This gives us our FIR filter coefficients. I think. Like I said I am still learning about the process of generating FIR filters for phase-only manipulation.

What seems attractive about this is that the filter's impulse response should be short. This is because there is nothing happening at low frequencies, and high frequency components die out faster. This means that the length of the FIR filter will not be long, perhaps a couple thousand taps at the most, and a few hundred at the least. This would make the FIR filtering calculations "light", keeping latency and computational requirements low. This is important to me.

So, this looks possible, and I need to do some modeling and simulation of everything to test out my theory. If someone with more FIR knowledge can chime in to verify or refute what I have outlined above I would appreciate it.
Attached Images
File Type: png sys-FR.PNG (46.1 KB, 146 views)
File Type: png sys-GD.PNG (30.9 KB, 145 views)
File Type: png EQ_FILTER_GD.PNG (28.3 KB, 145 views)
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 26th October 2015, 06:26 PM   #13
bwaslo is offline bwaslo  United States
Old guy with soldering iron
diyAudio Member
 
bwaslo's Avatar
 
Join Date: May 2006
Location: Portland, Oregon!
group delay equalization
Im not the guy with lots of experience you asked for, but unless you're into it for the intellectual challenge, imo you're overthinking it. All I did was first iir the response (the OpenDRC/miniSPARC does both fir and iir) flat and then get an FRD file of the complex FR of the speaker. Remove overall delay so that phase slope was nearest zero overall, but always below zero. Then take the file to RePhase, pull the phase response flat to zero, generate the taps file, export, then import into OpenDRC. Literally took about an hour. (Though the speaker was already close to linearish in phase, except in the bass because of the reflex cabinet and high slope crossover on the subs).

For what its worth, the audible change I'm most confident of was in the bass. Might be expectation bias (that's where phase is said to be audible) or might be because that was where most of the phase changes were done -above 300Hz or so everything was already within about 30 degrees before eqing). Also some response magnitudes had been changed, too. No DBT, just the impression of more solid kick like from an object instead of from resonators.
__________________
[W9MJE] Horn spreadsheet SynergyCalc/; SmallSyns SmallSyns;
Crossover design Xsim; Depot diffusor super-easy diffusors
  Reply With Quote
Old 26th October 2015, 06:35 PM   #14
bwaslo is offline bwaslo  United States
Old guy with soldering iron
diyAudio Member
 
bwaslo's Avatar
 
Join Date: May 2006
Location: Portland, Oregon!
group delay equalization
Quote:
Literally took about an hour.
I should qualify that a bit. EQing was about an hour, but figuring how to get rid of a very low level, but annoying, whine from the OpenDRC took a few days (if anyone is having that issue, the fix is to put about 1mH in line on the red power wire between the dsp board and the dac board. Use a low dcr iron cored crossover type inductor)
__________________
[W9MJE] Horn spreadsheet SynergyCalc/; SmallSyns SmallSyns;
Crossover design Xsim; Depot diffusor super-easy diffusors
  Reply With Quote
Old 26th October 2015, 07:07 PM   #15
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: Michigan
Quote:
Originally Posted by bwaslo View Post
Im not the guy with lots of experience you asked for, but unless you're into it for the intellectual challenge, imo you're overthinking it.
Yes, I am in it for the intellectual challenge! 100% in, in fact.

Learning the how and why, and doing it myself, is what motivates me to get up in the morning. This is why I DIY.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 26th October 2015, 10:12 PM   #16
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: Michigan
This plot should show my approach a little more clearly. The un-equalized system group delay is shown in dark blue. I can equalize the group delay to the flat (linear phase above 150Hz) dashed blue line if I add group delay equal to the tan line.

To do this I will calculate the phase that corresponds to the tan line using the definition of group delay and integrating up from zero. I will then set amplitude =1 for all frequencies. I now have (amplitude, phase) pairs for all frequencies. Using the iDFT I can generate the impulse response, which may or may not be windowed. This gives the FIR filter coefficients.

I can then calculate the FFT filter frequency and phase response while I vary the number of taps to see how few I can get away with before ringing sets in, etc.
Attached Images
File Type: png GD-ideas.PNG (36.5 KB, 109 views)
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins

Last edited by CharlieLaub; 26th October 2015 at 10:14 PM.
  Reply With Quote
Old 26th October 2015, 11:06 PM   #17
GDO is offline GDO
diyAudio Member
 
GDO's Avatar
 
Join Date: Jul 2009
Flattening gd >150hz will do any good to the sound? What about the gd <150?
  Reply With Quote
Old 26th October 2015, 11:27 PM   #18
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: Michigan
Quote:
Originally Posted by GDO View Post
Flattening gd >150hz will do any good to the sound?
Yes, it helps with transients, etc.
Quote:
What about the gd <150?
The brain is not very sensitive (at all) to large group delay there. It is more and more difficult to "fix" at lower frequencies, and this is also where it is getting large, so I do not plan on flattening this part of the group delay response at this time.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 26th October 2015, 11:42 PM   #19
GDO is offline GDO
diyAudio Member
 
GDO's Avatar
 
Join Date: Jul 2009
Imho, flattening a peaking gd won't do any good because will create preresponse issues: no free lunch here so better forgetting about those monstruous high order elliptic minphase stuff.

Don't agree with gd not being a problem in itself. Correcting the gd of the acoustic high pass filter of a loudspeaker(almost flat to DC) the Michael Gerzon way sounds actually very good to my ears, and works better with a closed box than with a BR. The only issue is latency, but for home hifi use and even for video with players like JRIVER in fact it is not.
  Reply With Quote
Old 27th October 2015, 12:34 AM   #20
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: Michigan
Quote:
Originally Posted by GDO View Post
Imho, flattening a peaking gd won't do any good because will create preresponse issues:
The filter will just add more or less latency (if you like that term). I don't anticipate any pre-ringing, but I plan to check for that. I don't exactly know what to expect when I vary the number of coefficients.

Quote:
no free lunch here so better forgetting about those monstruous high order elliptic minphase stuff.
No I plan to use them whether I correct the group delay, or not. I have already done so in a previous loudspeaker project.

Quote:
Don't agree with gd not being a problem in itself. Correcting the gd of the acoustic high pass filter of a loudspeaker(almost flat to DC) the Michael Gerzon way sounds actually very good to my ears, and works better with a closed box than with a BR. The only issue is latency, but for home hifi use and even for video with players like JRIVER in fact it is not.
In that case I invite you to stick to your Michael Gerzon method.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote

Reply


group delay equalizationHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

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


New To Site? Need Help?

All times are GMT. The time now is 11:55 PM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio
Wiki