The response of the HM100Z0 midrange unit has a 2dB trough in it, centred at around 1kHz, and extending between around 500Hz and 2kHz. This can be more or less removed by using a biquad filter of the form:

,

which has the functional form of unity plus a bandpass
filter.
The gain at the centre frequency w_{0}
is a/b, and the width
of the bandpass increases with b.
If the coefficient of the second term is made variable, the amount of boost
at the bandpass centre frequency is variable, which is a useful feature.

The simplest implementation of the equalisation, and the one I settled for, is to use a bandpass filter circuit, and then to sum the output of this with its input. I used the following bandpass circuit:

The transfer function of this is

where .

If C_{1}=C_{2}=C,
and R_{1}=R_{2}=R_{3}=R,
then

where and .

Hence and .

At w=w_{0},
the transfer function is ,
so the gain of the circuit needs to be adjusted accordingly.

If w_{0}=2 pi x
1kHz, and C=22nF, this gives the following component values:

R_{1} = R_{2} = R_{3} = 10.23 kohms
R_{4} = 7.015 kohms
R_{5} = 15.092 kohms

I used 10 kohms for R_{1}, R_{2} and R_{3},
8.2 kohms in parallel with 15 kohms for R_{4},
and 15 kohms for R_{5}.
This choice of R_{1} - R_{3} detunes
the centre frequency by 1.8%, but I didn't find this changed the modelled
response of the driver much.

To adjust the size of the response peak at
w_{0},
the bandpass circuit was followed by an attenuator and a buffer,
so that a fraction of its output could be added to its input:

The buffer is necessary to make sure that changing R_{a}
and R_{b} does not change the output level outside the
midrange. The output must, of course, be followed by a high-impedance
input. The whole circuit then looks like this:

I initially implemented R_{a} and R_{b} as a
10K linear potentiometer, but I later adjusted the circuit to
give as near as possible to a 2dB boost at 1kHz, and substituted
fixed resistors.