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?

  • $\begingroup$ 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. $\endgroup$ – robert bristow-johnson Jun 12 '20 at 16:12
  • $\begingroup$ 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. $\endgroup$ – theta Jun 12 '20 at 16:14

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.