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: