Hi John,
Apologies in advance for the lengthy post.
I wrote a software program that makes extensive use of PEQ filters for sub EQ in the modal region. In order for the user's final measurements to match software predictions after running the software and entering calculated filter parameters into the hardware, the hardware must of course do what the software calculates that it's doing. In the case of miniDSP hardware, when one imports a file of biquad coefficients, this is easily taken care of.
But there is also the case of hardware that requires the user to enter the PEQ center frequency, boost or cut value in dB, and the Q manually for each PEQ. This includes the Behringer iNuke amps and DCX2496 electronic crossover, and the miniDSP hardware when one does not use the method of biquad filter coefficient import. In the case of the Q of PEQ filters, I've run into differences in the definition of Q that have led at times to discrepancies between actual measured performance and performance predicted by the software. But since I don't own any of these hardware items, I can't measure them.
When I first wrote the software, but before it was released, I used the definition below for Q, which I'll call Qp, the "pole Q". The analog domain transfer function I originally used, shown below, is simplified to have a center frequency of 1 rad/sec to avoid clutter. So my original transfer function was:
H(s) = (s^2 + (A0/Qp)*s + 1) / (s^2 + (1/Qp)*s + 1)
Of course, the center frequency gain in dB is 20*log10(A0). My first beta tester was using a Hypex PSC2.400 sub amp. In its
PDF manual, it says the following regarding the Q of its PEQ:
Quote:
Hypex PSC2.400 manual wrote:
Dip/peak filter. For peaks, Q is defined by the poles. For dips, Q is defined by the zeros. Thus the same filter with opposite gains will cancel.
This "perfect cancellation" symmetry property of otherwise identical PEQs having opposite gains seemed a desirable one, so I did some web searches to see if this approach was common. I found
this PDF document from THAT Corp, in which equations 1 and 2 show the exact same convention for Q as is used by Hypex. Based on these searches, I naively assumed this definition of Q, which I'll call "the Hypex definition", was a de facto standard of sorts.
At any rate, I changed how PEQs were implemented, to use the "zero Q" (Qz) and the "pole Q" (Qp) as follows, to match what Hypex was doing:
H(s) = (s^2 + (1/Qz)*s + 1) / (s^2 + (1/Qp)*s + 1)
The Q I use, which I'll call the "Hypex Q" or Qh, along with A0, defines Qp and Qz according to the Hypex definition discussed above as follows:
For A0 >= 1, Qp = Qh and Qz = Qh / A0
For A0 < 1, Qz = Qh and Qp = A0 * Qh
This gives the desired symmetry property and also resulted in the beta tester's final data matching the software prediction well. All was well until the user bought a miniDSP about a year later. He originally entered the filter data not by biquad import, but by manual entry into the PEQ blocks of the software. When he did this, the filter responses shown in the miniDSP UI did not match those computed using the Hypex definition of Q. I did some more searching, including HTS.
I found two articles by Robert Bristow-Johnson,
one in a PDF file, and
another that he calls his "cookbook". He uses yet another definition of Q, which I'll call Qb or "the Bristow-Johnson Q definition", defined by expressing the transfer function as follows:
H(s) = (s^2 + s*(Ab/Qb) + 1) / (s^2 + s/(Ab*Qb) + 1)
This definition also has the boost/cut symmetry of the Hypex definition. With a bit of algebra, the Hypex Q (Qh) can be related to the Bristow-Johnson Q (Qb) by the following formulas:
For A0 >= 1, Qb = Qh / sqrt(A0)
For A0 < 1, Qb = Qh * sqrt(A0)
Also, Ab = sqrt(A0)
In both cases, the Bristow-Johnson Q is lower than the Hypex Q for the same filter.
So it seems there are at least three definitions of Q in actual use, listed as follows:
1) Let "Q" be the pole Q (Qp) and allow asymmetry between the boost/cut versions of otherwise identical PEQs
2) Let "Q" be the Hypex Q (Qh), giving symmetry between the boost/cut versions of otherwise identical PEQs
3) Let "Q" be the Bristow-Johnson Q (Qb), giving symmetry between the boost/cut versions of otherwise identical PEQs, but a different, and lower, numerical value than Qh for the same filter
I'm pretty sure that some users have sent you measured data, and you've done some calculations on them. What I'm most interested in, if you have it, is the following hardware:
1) miniDSP when manual entry of PEQ parameters is used (not biquad coefficients)
2) Behringer iNuke
3) Behringer DCX2496
My question is, "Which Q definition does the hardware above use for manual entry of Q? Pole Q? Hypex definition? Bristow-Johnson definition? Or some other of an infinite number of other possibilities?"
Thanks in advance,
Andy C