angle
in Matlab/Mathscript.
The angle also works for a vector of complex values,
e.g. samples of a frequency response taken at different frequencies.
The angle command returns a phase between [-pi/2, pi/2],
which is known as wrapped phase.
One could compute the unwrapped phase by applying the
phase command to a vector of complex values.
Here is a simple example illustrating unwrapped phase. Consider an ideal delay. The transfer function is H[z] = z-1. The frequency response is H[ej w] = e-j w. The phase is -w. If we were to plot the phase response as arctan( e-j w ), then we would see jumps of discontunity at ..., -3 pi/2, -pi/2, pi/2, 3 pi/2, ... instead of a straight line.
In the discrete-time domain, you can think of the arcs in the block diagrams as containing a number (or really a stream of numbers). The units of numbers on the arcs do not matter.
The cascade form can be found by factoring the transfer function into a product of first-order transfer functions. The parallel form can be found by apply partial fractions decomposition on the transfer function.
Please use the new transfer function in solving this problem.
-1
1 + z
H(z) = ----------------------
-1 -2
1 + 1.8 z + 0.82 z
The new transfer function has a zero at z = -1 and
poles are at -0.9 + j 0.1 and -0.9 - j 0.1.
In Matlab/Mathscript, compute the magnitude of a complex
number using abs.
This function also works for a vector of values.
Please see handout J for the derivation of the pole-zero relationship for a first-order all-pass filter.
Interesting questions (although not required for this problem): how would one design a third-order all-pass filer? how would one design a fourth-order all-pass filter?
bevans@ece.utexas.edu