I was thinking, if a realtime system is one in which the processing time is shorter than the sampling period, how does a feedback filter such as a biquad perform the computation without waiting for, say, in the case of the biquad, two additional samples?


1 Answer 1


You are confusing "processing time" with "latency".

Real-time filters are able to generate output samples at the same rate as they receive inputs. They would however induce latency, meaning that the bulk of the energy generated for an input appears later in time with respect to that input.

Consider for example the following input/output:

time  : 0 1 2 3 4 5 6 7
input : 1 2 3 2 1 0 0 0
output: 0 0 1 2 3 2 1 0

The output is generated at the same rate as the input is received, so the system can perform in real-time. However, there is a latency of 2 samples in the output when comparing with the input.

Whenever the expression of the filter relies on past samples which have not yet been received (at the start of an input sequence), initial conditions are assumed (often assuming that those previous values were zeros).

  • $\begingroup$ This was very helpful, I did not understand the distinction before but now it's crystal clear (: $\endgroup$
    – panthyon
    Commented Sep 15, 2014 at 1:29

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.