The unit delay operator
First of all, we must introduce the unit delay operator, denoted by the symbol
z-1
When applied to a sequence of digital values, this operator gives the previous value in the sequence. It therefore in effect introduces a delay of one sampling interval.
Applying the operator z-1 to an input value (say xn) gives the previous input (xn-1):
z-1 xn = xn-1
- Suppose we have an input sequence
-
x0 = 5
x1 = -2
x2 = 0
x3 = 7
x4 = 10
- Then
-
z-1 x1 = x0 = 5
z-1 x2 = x1 = -2
z-1 x3 = x2 = 0
and so on. Note that z-1 x0 would be x-1 which is unknown (and usually taken to be zero, as we have already seen).
Similarly, applying the z-1 operator to an output gives the previous output:
z-1 yn = yn-1
Applying the delay operator z-1 twice produces a delay of two sampling intervals:
z-1 (z-1 xn) = z-1 xn-1 = xn-2
We adopt the (fairly logical) convention
z-1 z-1 = z-2
i.e. the operator z-2 represents a delay of two sampling intervals:
z-2 xn = xn-2
This notation can be extended to delays of three or more sampling intervals, the appropriate power of z-1 being used.
Let us now use this notation in the description of a recursive digital filter. Consider, for example, a general second-order filter, given in its symmetrical form by the expression
b0yn + b1yn-1 + b2yn-2 = a0xn + a1xn-1 + a2xn-2
We will make use of the following identities:
yn-1 = z-1 yn
yn-2 = z-2 yn
xn-1 = z-1 xn
xn-2 = z-2 xn
Substituting these expressions into the digital filter gives
(b0 + b1z-1 + b2z-2) yn = (a0 + a1z-1 + a2z-2) xn
Rearranging this to give a direct relationship between the output and input for the filter, we get
yn / xn = (a0 + a1z-1 + a2z-2) / (b0 + b1z-1 + b2z-2)
This is the general form of the transfer function for a second-order recursive (IIR) filter.
For a first-order filter, the terms in z-2 are omitted. For filters of order higher than 2, further terms involving higher powers ofz-1 are added to both the numerator and denominator of the transfer function.
A non-recursive (FIR) filter has a simpler transfer function which does not contain any denominator terms. The coefficient b0 is regarded as being equal to 1, and all the other b coefficients are zero. The transfer function of a second-order FIR filter can therefore be expressed in the general form
yn / xn = a0 + a1z-1 + a2z-2
Transfer function examples
-
The three-term average filter, defined by the expression
yn = 1/3 (xn + xn-1 + xn-2)
can be written using the z-1 operator notation as
yn = 1/3 (xn + z-1xn + z-2xn)
= 1/3 (1 + z-1 + z-2) xn
The transfer function for the filter is therefore
yn / xn = 1/3 (1 + z-1 + z-2)
-
The general form of the transfer function for a first-order recursive filter can be written
yn / xn = (a0 + a1z-1) / (b0 + b1z-1)
Consider, for example, the simple first-order recursive filter
yn = xn + yn-1
which we discussed earlier. To derive the transfer function for this filter, we rewrite the filter expression using the z-1 operator:
(1 - z-1) yn = xn
Rearranging gives the filter transfer function as
yn / xn = 1 / (1 - z-1)
-
As a further example, consider the second-order IIR filter
yn = xn + 2xn-1 + xn-2 - 2yn-1 + yn-2
Collecting output terms on the left and input terms on the right to give the "symmetrical" form of the filter expression, we get
yn + 2yn-1 - yn-2 = xn + 2xn-1 + xn-2
Expressing this in terms of the z-1 operator gives
(1 + 2z-1 - z-2) yn = (1 + 2z-1 + z-2) xn
and so the transfer function is
yn / xn = (1 + 2z-1 + z-2) / (1 + 2z-1 - z-2)
No comments:
Post a Comment