I'm trying to understand how to implement a high-pass filter using, quote:

a cascasded biquad direct form II IIR filter

with a cut-off of 8kHz.

DSP is a complete new field for me, and the terminologies are alien to me.

From reading the web, I roughly understand that:

  1. A digital filter is roughly a function (a transfer function to be specific). Most common form of such function that I'd probably encounter are $H(z) = \frac{B(z)}{A(z)}$

  2. A biquad filter is such when the order of $B(z)$ and $A(z)$ are 2. Typically, normalization is applied so that the constant term of $A(z)$ is 1.

  3. cascading means feeding the output of previous output of the filter, to the input of the next iteration.

What I don't understand so far are:

  1. In what domain do such filter operate? Time or Frequency domain?

  2. Many other details I can't think of, but will pop up and confuse me when I notice my knowledge in such area is missing.


1 Answer 1


Answer to question 1 is very short: it operates in both. Filtering in the time domain will affect the frequency domain, and vice-versa.
If you meant to ask about implementation, the answer is similar: it can be implemented in both domains.

However for IIR filters the vast majority of times you’d want to operate in the time domain. Frequency domain processing comes with a set of things that one needs to be very careful about such as time-to-frequency domain computation, correct buffering, windowing and zero-padding, processing delay considerations, frequency-to-time domain computation to name a few.

Time-domain filtering is much easier and in the case of IIR filters the method of choice 99% of the time. I suggest you search this website, there are plenty of similar questions and answers on time-domain vs frequency-domain filtering.

I can’t answer question 2) because, well, there’s no question. When one does come to mind, please first use the search functionality to make sure it hasn’t been asked (and answered) before.

  • $\begingroup$ Can you confirm my 3 understandings as right or wrong? Appreciated. $\endgroup$
    – DannyNiu
    Commented Nov 25, 2023 at 8:06
  • $\begingroup$ All 3 are correct! To be 100% clear, for 3., cascaded means the filters are implemented in series, meaning the output of filter $i-1$ is fed as input to filter $i$ $\endgroup$
    – Jdip
    Commented Nov 25, 2023 at 8:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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