# How is a realtime BiQuad/IIR possible?

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?

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).

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