# Butterworth band-pass filter transfer function

I have some complex data in the frequency domain and want to multiply by an appropriate function to get complex data in the frequency domain that is appopriately filtered.

I think such a function should be, in terms of frequency:

$$1 - \frac{1}{\sqrt{1 + (\frac{fW}{f^2 - f_0 ^2})^{2n}}}$$

where W is the width of the frequency band to pass, and $$f_0$$ is the center frequency.

Is the above correct, or what would be the correct function to accomplish this?

• that looks to me more like the magnitude of a band-reject filter, not a bandpass filter. do you want the actual transfer function (with powers pf $s$)? there's a bit more to do, to get this. – robert bristow-johnson Jun 12 '20 at 16:12
• I am admittedly not too familiar with signal processing, although I don't believe I am looking for one with powers of s. I am basically looking for some function that when multiplied by complex data in the frequency domain, yields new complex data in the frequency domain that has been filtered. – theta Jun 12 '20 at 16:14

## 1 Answer

okay, the magnitude frequency response for a general $$N$$th-order Butterworth lowpass filter is:

$$\Big|H_\mathrm{LP}(f)\Big|^2 = \frac{1}{1 + \left(\frac{f^2}{W^2} \right)^N}$$

for bandpass filtering, centered at frequency $$f_0$$, this substitution is made to the LPF:

$$f \leftarrow \frac{f}{f_0} - \frac{f_0}{f}$$

so then it comes out as:

$$\Big|H_\mathrm{BP}(f)\Big|^2 = \frac{1}{1 + \left(\frac{\left(\frac{f}{f_0} - \frac{f_0}{f}\right)^2}{W^2} \right)^N}$$

blast that out and you'll have the frequency response for an $$2N$$th-order Butterworth bandpass filter.