# Project: Spectrum – Filter Design

## Frequency Response

As I said in the previous post, I want my filters to perform in the same way as the MSGEQ7. The frequency response of this chip is given in it’s datasheet. The 7 frequency band responses of the MSGEQ7

From the datasheet I can see that, to replicate this response, I will need 7 bandpass filters at 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz and 16kHz. Each filter will need a quality factor of 6 (this basically sets the bandwidth of the filter).

To create these band pass filters I will use a Multiple-Feedback Bandpass filter circuit. Multiple-Feedback Bandpass Filter

To help me choose component values for my filters I used an online calculator. This resulted in the following values.

Frequency R1 R2 R3 C1 C2
63Hz 4.7k‎Ω 1.1k‎Ω 150k‎Ω 0.33uF 0.15uF
160Hz 6.2k‎Ω 1.3k‎Ω 180k‎Ω 0.1uF 0.047uF
400Hz 5.1k‎Ω 1.2k‎Ω 160k‎Ω 0.047uF 0.022uF
1kHz 4.3k‎Ω 1.2k‎Ω 180k‎Ω 0.022uF 0.0068uF
2.5kHz 5.6k‎Ω 1.3k‎Ω 180k‎Ω 0.0068uF 0.0033uF
6.25kHz 4.7k‎Ω 1.1k‎Ω 150k‎Ω 0.0033uF 0.0015uF
16kHz 6.2k‎Ω 1.3k‎Ω 180k‎Ω 0.001uF 470pF

However, I’m not going to trust the calculator without validating the design. The first thing I need to do is calculate the frequency response of an arbitrary Multiple-Feedback Bandpass filter. My derivation of the transfer function of the filter

Using Matlab I simulated the frequency response of the 63Hz filter using the equation I derived above: The frequency response that I derived, simulated in Matlab

I then created the circuit in LTSpice and simulated the frequency response of the filter directly: The frequency response of the filter, simulated in LTSpice The circuit model in LTSpice

As you can see, the two frequency responses are the same and so I am happy that my equation accurately describes the frequency response of the real circuit.

Using Matlab, I simulated the 7 circuits simultaneously using the transfer function I derived. The simulated frequency response of the 7 bandpass filters

This matches well with the frequency response of the MSGEQ7 shown above and so I am happy with this set of filters.

## Input Impedance

I also need to know what the input impedance of each filter is so that I can verify that when I put 7 of the filters in parallel, the input impedance will be significantly greater than the output impedance of my amplifier stage. My derivation of the input impedance in terms of the component values and gain

Using Matlab I simulated the input impedance of the 63Hz filter using the equation I derived above: The input impedance according to my equation, simulated in Matlab

I then used my LTSpice model to simulate the input impedance of the filter directly: The input impedance of the filter, simulated in LTSpice

As you can see, the two input impedances are the same and so I am happy that my equation accurately describes the input impedance of the real circuit.

I then simulated the input impedance of all 7 filters at once: The 7 input impedances, and the resulting parallel impedance of all 7 filters. Parallel impedance of all 7 filters

This plot shows that the lowest parallel impedance is about 677Ω and occurs at about 6.5kHz. This is a couple of orders of magnitude greater than that of my amplifier stage which I expect to be in the single digits.

## Summary

This validation has shown that the frequency response of the filters is correct and that the input impedance of all 7 filters in parallel is sufficiently high. Therefore I am happy with this design.