Transfer Functions

Transfer Functions

In this post, we introduce the idea of transfer functions in the context of signal processing. In particular, we distinguish between the case of continuous-time signals (such as an analogue circuit board) and discrete-time signals used in DSP.

Continuous Systems

Laplace transform

The Laplace transform of a function f(t)f(t) is given by:
F(s)=L(f(t))=0f(t)estdt F(s) = \mathcal{L}(f(t)) = \int_0^{\infty} f(t) e^{-st}dt
Note that the argument ss is a complex number.

Transfer function (in Laplace domain)

Suppose we have a system which maps the continuous time-based signal x(t)x(t) to the output signal y(t)y(t). (An example could be an analogue circuit which acts on an audio signal.)

Then the transfer function is given by:

H(s)=Y(s)X(s) H(s) = \frac{Y(s)}{X(s)}
where X(s)=L(x(t))X(s) = \mathcal{L}(x(t)) and Y(s)=L(y(t))Y(s) = \mathcal{L}(y(t)).

Frequency response

We can use the transfer function to evaluate the response of the system to a given frequency. Suppose we have a frequency ω\omega (radians per second), then we denote G(ω)G(\omega) as the response or gain. The function G(ω)G(\omega) is given by:
G(ω)=H(iω) G(\omega) = |H(i\omega)|

Discrete systems

We now consider a digital system in which the input signal is sampled with a constant time interval TT.

FIR filter

A discrete FIR filter (Finite Impulse Response) acts on a signal which is sampled digitally at regular time intervals.

Such a filter takes the input x[n]x[n] where nZn \in \mathcal{Z} and produces an output y[n]y[n]. We shall only consider causal filters where the response depends only on the current and previous input samples.

A general filter NNth order filter can be written as:
y[n]=i=0Nbix[ni] y[n] = \sum_{i=0}^N b_i x[n-i]

The output from a NNth order FIR depends only on the current input sample and the previous NN input samples.

IIR filter

A general discrete IIR (infinite impulse response) filter can be written as:

y[n]=1a0(i=0Pbkx[ni]i=1Qaky[ni]) y[n] = \frac{1}{a_0} \left( \sum_{i=0}^P b_k x[n-i] – \sum_{i=1}^Q a_k y[n-i] \right)

Z-transform

Given a discrete signal x[n]x[n], nZn \in \mathcal{Z}, the Z-transform, is given by:
X(z)=Z(x)=n=0x[n]zn X(z) = \mathcal{Z(x)} = \sum_{n=0}^{\infty} x[n]z^{-n}

Transfer function in the Z-domain

Given a discrete system with input signal x[n]x[n] and output y[n]y[n], the transfer function in the Z-domain is :

H(z)=Y(z)X(z) H(z) = \frac{Y(z)}{X(z)}
where X(z)X(z) is the Z-transform of the input signal and Y(z)Y(z) is the Z-transform of the output.

For the case of the IIR filter above, we have:
H(z)=k=0Pbkzkk=0Qakzk H(z) = \frac{\sum_{k=0}^P b_kz^{-k}}{\sum_{k=0}^Q a_k z^{-k}}

Frequency response

As for the continuous case, we can use the transfer function to evaluate the response of the system to a given input frequency. Suppose we have a frequency ω\omega (radians per second), then the response G(ω)G(\omega) is given by:

G(ω)=H(eiωT) G(\omega) = | H(e^{i\omega T}) |
where TT is the sampling interval (in seconds).