Audio Equalizer

The schematic shows a way to make a graphic audio equalizer. The schematic shows three potentiometers that are used to adjust the gain within a specific band. In an actual application there might be more bands than 3. Each potentiometer has an associated resonant circuit tied to its wiper. Only R2 is shown connected in the schematic.

Equalizer CircuitEqualizer Circuit

The op-amp maintains zero voltage drop across the pots so that the settings for each band do not interact.

The indicated resonant circuit consists of C1 and the simulated inductor realized by A2, C2, R6 and R7. As illustrated on the Simulated Inductor page, the op-amp circuit simulates a grounded inductor with series resistance R6+R7 and inductance R6*R7*C2.

At the resonant frequency of the resonant circuit the wiper of the associated pot sees a resistance of R6+R7 to ground.

If the wiper of the pot is all the way CCW (down on the schematic) the gain at the resonant frequency is attenuated by a factor of (R6+R7)/(R6+R7+R1).

If the wiper is all the way CW the gain at the resonant frequency is amplified by a factor of (1 + R1/(R6+R7)) which is the reciprocal of the attenuation noted.

If the pot is centered the associated resonant circuit has no effect on the gain.

A CCICAP input circuit that simulates a single stage of the equalizer is listed here.


.title Single Band Equalizer, Q = .707
.par fo 2.k
'.par wo { 2 PI X fo X }
'.par Q .707
.ac 25 10 { fo 20. / } { fo 20. X }
.plot ac png eout
.plot ac png eout >

.ckt
v ein 1 0 1.
r r4 1 2 50.k

' output stage
ioa a1 2 3 8 0
r r5 8 3 { r4 }

' boost or cut in dB
'.par bst 12.
' r6 + r7 sets boost / cut
.par r67 { 10. 12. 20. / CHS ^ P P 1. XY - XY r4 X XY / }

' set for maximum boost
'.par set 0.99
'.par r2 1.k

' resonant circuit
r r2a 2 4 { 1.k .99 X }
r r2b 4 3 { 1.k 1 .99 - X }
.par leq { r67 r4 + .707 X 2. PI X fo X / }
c c1 4 5 { 1 2. PI X fo X / 2. PI X fo X / leq / }
r r6 5 6 { r67 2 / }
r r7 6 0 { r6 }
c c2 7 6 { leq r6 / r7 / }
ioa a2 5 7 7 0

vm eout 8 0
.end

.go

' maximum cut
'.par set .01
.altel r2a { 1.k .01 X }
.altel r2b { 1.k 1 .01 - X }

.go

.stop

The response for maximum boost (12 dB) and cut are shown here:

Equalizer Response - Maximum BoostEqualizer Response - Maximum Boost

Equalizer Response - Maximum CutEqualizer Response - Maximum Cut

A more comprehensive model is shown here (Note: requires CCICAP-Pro). Expanding on the above CCICAP input file here we have a nine band 1/3 octave equalizer. Several specifications have been parameterized to make the CCICAP input file easier to read. Note that the parameter wo is recalculated for each resonant circuit block to realize the 1/3 octave steps in the equalizer.

.title 9 1/3 Octave Equalizer Stages Q = .707
.par fo 500.
.par wo { 2 PI X fo X }
.par Q .707
' boost or cut in dB
.par bst 12.
.ac 200 10 { fo 20. / } { fo 40. X }
.plot ac png eout
.plot ac png eout >

.ckt
v ein 1 0 1.
r r4 1 2 50.k
' r6 + r7 sets boost / cut
.par r67 { 10. bst 20. / CHS ^ P P 1. XY - XY r4 X XY / }
.par set 0.99
.par r2 1.k

r r10a 2 10 { r2 set X }
r r10b 10 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c10 10 11 { 1 wo / wo / leq / }
r r11 11 12 { r67 2 / }
r r12 12 0 { r11 }
c c11 13 12 { leq r11 / r12 / }
ioa a10 11 13 13 0

.par wo { 2. 1. 3. / ^ wo X }

r r20a 2 20 { r2 set X }
r r20b 20 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c20 20 21 { 1 wo / wo / leq / }
r r21 21 22 { r67 2 / }
r r22 22 0 { r21 }
c c21 23 22 { leq r21 / r22 / }
ioa a20 21 23 23 0

.par wo { 2. 1. 3. / ^ wo X }

r r30a 2 30 { r2 set X }
r r30b 30 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c30 30 31 { 1 wo / wo / leq / }
r r31 31 32 { r67 2 / }
r r32 32 0 { r31 }
c c31 33 32 { leq r31 / r32 / }
ioa a30 31 33 33 0

.par wo { 2. 1. 3. / ^ wo X }

r r40a 2 40 { r2 set X }
r r40b 40 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c40 40 41 { 1 wo / wo / leq / }
r r41 41 42 { r67 2 / }
r r42 42 0 { r41 }
c c41 43 42 { leq r41 / r42 / }
ioa a40 41 43 43 0

.par wo { 2. 1. 3. / ^ wo X }

r r50a 2 50 { r2 set X }
r r50b 50 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c50 50 51 { 1 wo / wo / leq / }
r r51 51 52 { r67 2 / }
r r52 52 0 { r51 }
c c51 53 52 { leq r51 / r52 / }
ioa a50 51 53 53 0

.par wo { 2. 1. 3. / ^ wo X }

r r60a 2 60 { r2 set X }
r r60b 60 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c60 60 61 { 1 wo / wo / leq / }
r r61 61 62 { r67 2 / }
r r62 62 0 { r61 }
c c61 63 62 { leq r61 / r62 / }
ioa a60 61 63 63 0

.par wo { 2. 1. 3. / ^ wo X }

r r70a 2 70 { r2 set X }
r r70b 70 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c70 70 71 { 1 wo / wo / leq / }
r r71 71 72 { r67 2 / }
r r72 72 0 { r71 }
c c71 73 72 { leq r71 / r72 / }
ioa a70 71 73 73 0

.par wo { 2. 1. 3. / ^ wo X }

r r80a 2 80 { r2 set X }
r r80b 80 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c80 80 81 { 1 wo / wo / leq / }
r r81 81 82 { r67 2 / }
r r82 82 0 { r81 }
c c81 83 82 { leq r81 / r82 / }
ioa a80 81 83 83 0

.par wo { 2. 1. 3. / ^ wo X }

r r90a 2 90 { r2 set X }
r r90b 90 3 { r2 1 set - X }
.par leq { r67 r4 + Q X wo / }
c c90 90 91 { 1 wo / wo / leq / }
r r91 91 92 { r67 2 / }
r r92 92 0 { r91 }
c c91 93 92 { leq r91 / r92 / }
ioa a90 91 93 93 0

ioa a1 2 3 4 0
r r5 4 3 { r4 }
vm eout 4 0
.end

.go

.par set 0.5
.altel r50a { r2 set X }
.altel r50b { r2 1 set - X }

.go

.stop

Here are the two responses from the above run. The plot on the left shows all 9 bands set to maximum boost. The plot on the right shows the same situation but with band 5 set to no boost or cut.

Response with all bands to max boost.Response with all bands to max boost.

Response with band 5 set to 0 dBResponse with band 5 set to 0 dB