Tik-61.146 Digital Signal Processing and Filtering
(DISKO)
Answers to Exercise 3. Mon, 2.10.2000: 17-20
Zero-pole diagram. Transfer function. Inverse -transform. Stability
considerations. Minimum and maximum-phase transfer functions.
Start from the point (1,0), that is,
.
Let
grow from 0 to
on the unit circle
.
is an even function (you can test symmetry
when
goes from 0 to
). The magnitude response can be
calculated or estimated roughly from
where are lengths of ``zero vectors'' and
lengths of
``pole vectors''. From the equation it is seen that
zeros near (or on) the circle decrease the magnitude,
poles (inside the unit circle) increase it. All poles inside
the unit circle means that filter is causal and stable.
The magnitude is often expressed in desibels (dB).
Matlab uses in its plots desibels of
:
Three filters:
Let us use Matlab to aid in solving this exercise. Compare these with the problem 8 in exercise round 2.
Using Matlab:
num = [1 -1.6 1]; den = [1 -1.2 0.52];
[z,p,k] = tf2zp(num,den);
Zeros are at
and poles at
.
zplane(num,den) plots pole-zero-diagram, see the
figure 5.
Calculating magnitude reponse using Matlab
conv([1 -1.6 1],[1 -1.6 1]) for numerator and
conv([1 -1.2 0.52],[0.52 -1.2 1]) for denumerator
Using Matlab
cos1omega = cos([0:pi/256:pi]);
cos2omega = cos(2*[0:pi/256:pi]);
numvalues = sqrt(2*cos2omega - 6.4*cos1omega +4.56);
denvalues = sqrt(1.04*cos2omega - 3.648*cos1omega +2.7104);
values = numvalues./denvalues;
figure, subplot(211), plot([0:pi/256:pi], values); grid;
subplot(212), plot([0:pi/256:pi], 20*log10(values)); grid; ylabel('dB');
Magnitude
and phase reponse
directly using
Signal Processing Toolbox of Matlab
freqz(num,den).
See the Figure 5.
Using Matlab:
[h,t]=impz(num,den);
stem(t,h);
See the Figure 6.
Let us begin by reviewing some properties we need in this exercise:
![]() |
(2) |
First we have to solve the poles and zeros:
Zeros:
Now we may answer to the questions about stability and causality:
Note, that in this case we can't have a filter that is both causal and stable.
![]() |
When we calculate the impulse response we have to do an inverse
-transformation for the transfer function
. To do this we
express the
as a partial fraction expansion as then we may
apply the formula of the sum of a geometric series (1).
Using the poles and zeros we may write the transfer function as follows:
In a partial fraction expansion the degree of the nominator
polynomial has to be smaller than the degree of the denominator
polynomial. To achieve this, we by divide both by and do the
expansion in reference to
(
):
We solve and
by letting
and
Now we may write the expansion
Thus, the inverse transform is
and finally
where zeros
and poles
and
.
We want that the maximum magnitude is 1. From the
magnitude response (figure 4)
we see that
is in its maximum, when
,
for example
.
Filters are often normalized to unity for seeing better their properties instead of maximum magnitude.
In a common case scaling factor is
,
now
. Comb filter realization without the scaling factor K
is shown in figure
.
The part of the coefficient can be implemented
as follows:
Division by two can be done using a bit shift. Shift operation (one bit to the right) is denoted here by symbol:
When we add the coefficient
to the
realization, we can combine the multiplications by
into one:
Now the poles can be either complex or real.
Then we check the condition for the second coefficient . Now
Then the right hand side:
Stability triangle is the triangle the derived conditions form in the -plane. In the figure 9 is a visualization of the stability triangle.
This results that the zeros must have the following symmetry: