Reply by Jon Harris February 7, 20052005-02-07
"robert bristow-johnson" <rbj@audioimagination.com> wrote in message
news:BE299294.448F%rbj@audioimagination.com...
> in article 1107562092.243811.38420@z14g2000cwz.googlegroups.com, AdamMil at > adamm@san.rr.com wrote on 02/04/2005 19:08: > > > I changed the EQ from bandpass-in-parallel to peaking-in-series and it > > appears to be working. Now I'm back to the original problem of tuning > > it. Are there any guidelines for choosing the Q value for a given > > frequency spread? (Again, it's a 10-band equalizer doubling from > > 31.25hz to 16khz.) > > this appears to be one band per octave. is that so? > > if it is so, i would recommend starting with the bandwidth, BW, set to 1 > octave. the bandwidth parameter is a direct function of Q (and a little > dependent on the center frequency, f0, due to frequency warping of the > bilinear xform). > > it won't be exactly flat, but a decent goal would be to set BW or Q so that > if all levels of the graphic EQ were raised by the same dB amount, that the > resulting frequency response would be flat. in this case it won't be flat, > but it *will* be approximately flat to two points for each band (if the BW > in octaves is equal to the octave spread of neighboring f0). because of > overlap of bands, the gain at the band centers will be a little larger than > the gain setting of the peak, so maybe setting the BW to be slightly less > than 1 octave would be better. that could use a little experimentation.
RB-J has hit on some of the areas of difficulty with graphic EQs composite frequency response matching what the sliders show. It's a trade-off. Consider the case of 2 neighboring filters being boosted the same amount: if the filters are narrow enough so the resulting boost is about the same as the each band, there will be a significant dip between the bands. If they are wide enough to completely eliminate the dip, the composite boost will be significantly larger than the individual band settings. But now that DSP is replacing static filters for graphic EQs, there have been some advancements in this area--basically tweaking the filter boost and width/Q dynamically so that the composite shape better matches the slider settings. Even if these "smart adjustments" aren't made, most digital EQs show a composite frequency graph so the user can at least tweak their settings to achieve the composite curve they are looking for.
Reply by robert bristow-johnson February 5, 20052005-02-05
in article 1107562092.243811.38420@z14g2000cwz.googlegroups.com, AdamMil at
adamm@san.rr.com wrote on 02/04/2005 19:08:

> I changed the EQ from bandpass-in-parallel to peaking-in-series and it > appears to be working. Now I'm back to the original problem of tuning > it. Are there any guidelines for choosing the Q value for a given > frequency spread? (Again, it's a 10-band equalizer doubling from > 31.25hz to 16khz.)
this appears to be one band per octave. is that so? if it is so, i would recommend starting with the bandwidth, BW, set to 1 octave. the bandwidth parameter is a direct function of Q (and a little dependent on the center frequency, f0, due to frequency warping of the bilinear xform). it won't be exactly flat, but a decent goal would be to set BW or Q so that if all levels of the graphic EQ were raised by the same dB amount, that the resulting frequency response would be flat. in this case it won't be flat, but it *will* be approximately flat to two points for each band (if the BW in octaves is equal to the octave spread of neighboring f0). because of overlap of bands, the gain at the band centers will be a little larger than the gain setting of the peak, so maybe setting the BW to be slightly less than 1 octave would be better. that could use a little experimentation. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by Richard Owlett February 5, 20052005-02-05
Jon Harris wrote:

> Also, I just remembered there is an app note that discusses graphic EQs in > detail: > http://www.rane.com/note101.html > I think that may address many of your questions. >
I think these RaneNotes ( http://www.rane.com/rnumber.html ) rate a mention in FAQ's some where. Not explicitly DSP but point out things us newbies should be at least aware of.
Reply by AdamMil February 5, 20052005-02-05
Jon, Mark,

> Also, I just remembered there is an app note that discusses > graphic EQs in detail: > http://www.rane.com/note101.html > I think that may address many of your questions.
Ahh, thanks. That's a very good and accessible document. It certainly does answer a lot of questions. Like what the definition of "Q", and the goals to strive for in EQ tuning... I was just tweaking by trial-and-error before, but now I can tweak with confidence! ;-)
> > For the width, find the line in the cookbook that says "(case:
BW)".
> > That's what you want to use. Set the bandwidth based on the filter > > spacing. For example, since your filters are each 1 octave apart, > > set BW = 1.
That works very well, thanks.
> > "Mark" <makolber@yahoo.com> wrote: > >> I think you want to choose the bandwidthds to be a consstnat % > >> of the center freq. As you go higher in frequency, each filter > >> gets wider, i.e a constant Q. This way you have say 4 (or some > >> number of ) filters per each octave. The Q and spacing should > >> be choosen so that when you have all the filters set for unity > >> gain, the overall response is flat without excesisve ripple.
Thanks Mark, I see what you're saying. After reading that document (http://www.rane.com/note101.html), it's all making sense! Thank you guys, you've been very helpful! -- Adam
Reply by Jon Harris February 5, 20052005-02-05
Also, I just remembered there is an app note that discusses graphic EQs in 
detail:
http://www.rane.com/note101.html
I think that may address many of your questions.

"Jon Harris" <goldentully@hotmail.com> wrote in message 
news:36j673F52qkqeU1@individual.net...
> You are dead on with the first part there. However, for unity gain, the > overall response is going to be perfectly flat no matter what the bandwidth is > with the peaking filters we have been discussing. > > For the width, find the line in the cookbook that says "(case: BW)". That's > what you want to use. Set the bandwidth based on the filter spacing. For > example, since your filters are each 1 octave apart, set BW = 1. > > "Mark" <makolber@yahoo.com> wrote in message > news:1107582715.020793.18510@g14g2000cwa.googlegroups.com... >>I think you want to choose the bandwidthds to be a consstnat % of the >> center freq. As you go higher in frequency, each filter gets wider, >> i.e a constant Q. This way you have say 4 (or some number of ) filters >> per each octave. The Q and spacing should be choosen so that when you >> have all the filters set for unity gain, the overall response is flat >> without excesisve ripple. >> >> Mark
Reply by Jon Harris February 5, 20052005-02-05
You are dead on with the first part there.  However, for unity gain, the overall 
response is going to be perfectly flat no matter what the bandwidth is with the 
peaking filters we have been discussing.

For the width, find the line in the cookbook that says "(case: BW)".  That's 
what you want to use.  Set the bandwidth based on the filter spacing.  For 
example, since your filters are each 1 octave apart, set BW = 1.

"Mark" <makolber@yahoo.com> wrote in message 
news:1107582715.020793.18510@g14g2000cwa.googlegroups.com...
>I think you want to choose the bandwidthds to be a consstnat % of the > center freq. As you go higher in frequency, each filter gets wider, > i.e a constant Q. This way you have say 4 (or some number of ) filters > per each octave. The Q and spacing should be choosen so that when you > have all the filters set for unity gain, the overall response is flat > without excesisve ripple. > > Mark >
Reply by Mark February 5, 20052005-02-05
I think you want to choose the bandwidthds to be a consstnat % of the
center freq.  As you go higher in frequency, each filter gets wider,
i.e a constant Q.  This way you have say 4 (or some number of ) filters
per each octave.  The Q and spacing should be choosen so that when you
have all the filters set for unity gain, the overall response is flat
without excesisve ripple.

Mark

Reply by AdamMil February 4, 20052005-02-04
> > Hmm.. in series, eh? > > > > To successfully combine them in series, I need to use filters > > that pass frequencies outside their "band" through unchanged, > > right? > > What you want to do is use the peaking EQ from the cookbook, > rather than the bandpass. It works exactly as you've described.
Hi Jon, Thank you for your advice! I changed the EQ from bandpass-in-parallel to peaking-in-series and it appears to be working. Now I'm back to the original problem of tuning it. Are there any guidelines for choosing the Q value for a given frequency spread? (Again, it's a 10-band equalizer doubling from 31.25hz to 16khz.) At first, each band was about the same size and when a constant gain was applied to all of them, they each produced a small spike. But the low-frequency bands were so close together that the spikes overlapped and amplified greatly, and the high-frequency bands were so far apart that there were huge gaps between them. So I tried dividing Q by a value that increased linearly with frequency (so it increased exponentially from one band to the next), and it seemed to help. The low bands didn't have as much overlap and the high bands were wide and without big gaps, but I'm sure it's still poorly tuned.
> BTW, I think what you are trying to do is usually called a > graphic equalizer rather than a parametric equalizer.
Ahh, sorry if I used incorrect terminology. I'm actually trying to create some generalized equalizer code (N bands, configurable filter type, frequency, Q/shape/slope, etc), and this particular 10-band equalizer is an instance of the generalized equalizer. So whatever that's called... ;-) Anyway, thanks again. I'm much closer now! -- Adam
Reply by Jon Harris February 4, 20052005-02-04
"Adam M." <adam@adammil.net> wrote in message
news:slrnd07b93.47l.adam@adam.adammil.net...
> >> First, my assumption is that the way to create a multiband EQ is to > >> use one filter for each band, so a 10-band equalizer would have 10 > >> different filters. And I'm assuming that I should run the input > >> stream through each band's filter in parallel and then mix it all > >> back together. Will this work? > > It will work, but I wouldn't do it this way - think of the phase > > cancellations. > Unfortunately, I'm new to DSP, so I can't really imagine the phase > cancellations or their effects. > > You said you wouldn't do it that way -- how would you do it?
Run the filters in series--the output of one filter becomes the input to the next, etc..
Reply by Jerry Avins February 4, 20052005-02-04
Adam M. wrote:

  ...

> Unfortunately, I'm new to DSP, so I can't really imagine the phase > cancellations or their effects.
... Digital or analog makes no difference. Suppose one filter reduces the amplitude of a frequency somewhat and retards its phase 90 degrees. Suppose also that the next one in the line reduces the amplitude of the same frequency by the same amount and advances its phase 90 degrees. Add the two filter outputs and POOF!. The frequency is gone, kaput, canceled. ... Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;