StoZ Transfer Function Conversion
The application STOZXFR.EXE was initially conceived as a tool for adjusting the poles and zeros of a z-domain transfer function in order to obtain a frequency response with either a desired magnitude response, a desired phase characteristic, or a desired delay characteristic. Because of the interaction between magnitude and phase it is not possible to achieve arbitrary magnitude and arbitrary phase simultaneously. The starting point could be a filter designed by DISPRO, or any z-domain transfer function, up to order 10. STOZXFR was then expanded to include the conversion of an s-domain transfer function to a z-domain transfer function. By adjusting the poles and/or zeros of the resulting z-domain transfer function, a closer match can be obtained to the s-domain frequency response.
In DISPRO the conversion from s-plane
biquads to z-plane biquads is done with the bilinear-z mapping. If s = σ + jω
represents the complex variable for the analog transfer function, and s' the
complex variable for the warped analog transfer function, then s = 2/T tanh(s'T/2),
where T = 1/FS with FS the sampling frequency. To obtain a good
approximation to the analog filter FS/2 should be much greater than any of the
poles of the analog filter. When s and s' are real-valued,
then tanh(x) differs little from x for x ≤
.25, which corresponds to σ ≤
FS /2. Thus, real-valued poles and zeros are not materially affected by the
bilinear-z mapping. For s = jω we have ω = tan(ω'T/2) which shows what we know,
namely that this mapping warps the frequency axis, converting the infinite range
in the s plane to the finite range of ±FS /2 in the s' and z planes. This
bilinear-z mapping is most appropriately applied to standard filter designs,
simply because the classical filters with pass and stop bands depend upon corner
frequency specifications; the pole and zero values for the analog prototypes
are a function of these corner frequencies. In this case, pre-warping of the
corner frequencies works very well in achieving a z-plane design which
corresponds accurately to the s-plane prototype, as in DISPRO.
Installation for Windows® 7
After making some modifications and compiling with Visual BASIC 5 the current version of STOZXFR.EXE now runs in Win7, both 32-bit and 64-bit. In order to run STOZXFR.EXE in Win7 you will have to perform a few extra steps in addition to downloading the files. Details are provided on the StoZ Download page.
[This is the personal web site of Dr. John O'Donnell]