CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
IIR DIGITAL FILTER DESIGN USING
AN LP APPROXIMATION
A graduate project submitted in partial
satisfaction of the requirement for
the degree of Master of Science in
Electrical Engineering
by
Bahram Roshanian
January 1987
The Graduate Project of Bahram Roshanian is approved:
Prof. R y H. Pett1t
Prof. R. Horgan
California State University, Northridge
ii
ACKNOWLEDGEMENTS
The author wishes to express his gratitude to
Professor John Adams for his continuous support during
the author's pursuit of this Master of Science degree.
iii
il
Table of Contents
Page
Preface
ii
List of Figures.
vi
Abstract
ix
Chapter
1.
Introduction
1
2.
Optimization
3
3.
4.
2.1
Error Criteria
4
2.2
Minimum P-error Criterion
6
2.3
Gradient Method of Optimization
7
2.4
Fletcher-Powell Method
8
2.5
Stability Constraint
14
Program for Synthesis of IIR Digital
Filters
. . . . . . .
. . .
15
3.1
Initial Specifications
17
3.2
Functions to Be Minimized
19
3.3
Description of Input Parameters .
22
3.4
Type of Output
24
3.5
Dimension Restriction
24
Development of Auxiliary Computer Programs
26
4.1
PRNTPLT
26
4.2
CALPLOT
28
4.3
INDAT
29
4.4
Procedures
. . . . . . .
iv
29
.
Page
Chapter
5.
6.
Examples
. . . .
32
5.1
Example 1
32
5.2
Example 2
34
5.3
Example 3
51
5.4
Example 4
51
. . .
. . .
Conclusion.
Bibliography
93
95
Appendices
A.
Auxiliary Program PRNTPLT Coded in FORTRAN.
96
B.
Auxiliary Program CALPLOT Coded in FORTRAN.
102
c.
Auxiliary Program INDAT Coded in FORTRAN
108
D.
Auxiliary Programs MENU, MENUM, RUN, PLOT,
and PRINT Coded in FORTRAN . . . . . .
E.
F.
.
113
Sample Computer Listing of the User
Prompts and Output of the Computer
Program for Example 1
. . . . . .
119
User Manual for IIR Digital Filter Design
Program .
134
v
Figures
Figure
Page
3.1
The Program with Its Subroutines . . .
16
4.1
Diagram of the File Routine Options of
the Programs . . . . . . . . . . . .
31
5.1 .
User Response and Input Data, Example 1
35
5.2 .
Computer Output Listing, Example 1
38
5.3 .
Magnitude Versus Frequency Plotted on the
Printer, Example 1 . . . . . . .
43
Gain in dB Versus Frequency Plotted on the
Printer, Example 1 . . . . . . . . . . . .
44
Phase Versus Frequency Plotted on the
Printer, Example 1 .
. . . .
45
Group Delay Versus Frequency Plotted on
the Printer, Example 1 . .
46
Magnitude Versus Frequency Plotted on the
CAL-COMP Plotter, Example 1
. . .
47
Gain in dB Versus Frequency Plotted on
the CAL-COMP Plotter, Example 1
48
Phase Versus Frequency Plotted on the
CAL-COMP Plotter, Example 1
49
Group Delay Versus Frequency Plotted on
the CAL-COMP Plotter, Example 1
50
5.11.
User Response and Input Data, Example 2
52
5.12.
Computer Output Listing, Example 2
54
5.13.
Magnitude Versus Frequency Plotted on the
Printer, Example 2 . . . . . . .
57
Gain in dB Versus Frequency Plotted on the
Printer, Example 2 . . . . . . . . .
58
5.4
5.5 .
5.6 .
5.7 .
5.8 .
5.9 .
5.10.
5.14.
vi
(Figures, Cont'd.)
Figure
5.15.
Page
Phase Versus Frequency Plotted on the
Printer, Example 2 . . . . .
59
Group Delay Versus Frequency Plotted on
the Printer, Example 2 . .
60
Magnitude Versus Frequency Plotted on the
CAL-COMP Plotter, Example 2
. . .
61
Gain in dB Versus Frequency Plotted on
the CAL-COMP Plotter, Example 2
62
Phase Versus Frequency Plotted on the
CAL-COMP Plotter, Example 2
63
Group Delay Versus Frequency Plotted on
the CAL-COMP Plotter, Example 1
64
5.21.
User Response and Input Data, Example 3
65
5.22.
Computer Output Listing, Example 3
67
5.23.
Magnitude Versus Frequency Plotted on the
Printer, Example 3 . . . . . . .
70
Gain in dB Versus Frequency Plotted on the
Printer, Example 3 . . . . . . . . .
71
Phase Versus Frequency Plotted on the
Printer, Example 3 .
72
Group Delay Versus Frequency Plotted on
the Printer, Example 3 . .
• • .
73
Magnitude Versus Frequency Plotted on the
CAL-COMP Plotter, Example 3
74
Gain in dB Versus Frequency Plotted on
the CAL-COMP Plotter, Example 3
75
Phase Versus Frequency Plotted on the
CAL-COMP Plotter, Example 3
76
Group Delay Versus Frequency Plotted on
the CAL-COMP Plotter, Example 3 . . .
77
User Response and Input Data, Example 4
79
5.16.
5.17.
5.18.
5.19.
5.20.
5.24.
5.25.
5.26.
5.27.
5.28.
5.29.
5.30.
5.31.
vii
(Figures, Cont'd.)
Figure
Page
5.32.
Computer Output Listing, Example 4
81
5.33.
Magnitude Versus Frequency Plotted on the
Printer, Example 4 . . . . . . .
85
Gain in dB Versus Frequency Plotted on the
Printer, Example 4 . . . . . . . . . . . .
86
Phase Versus Frequency Plotted on the
Printer, Example 4 .
87
Group Delay Versus Frequency Plotted on
the Printer, Example 4 . .
88
Magnitude Versus Frequency Plotted on the
CAL-COMP Plotter, Example 4
. . .
89
Gain in dB Versus Frequency Plotted on
the CAL-COMP Plotter, Example 4
90
Phase Versus Frequency Plotted on the
CAL-COMP Plotter, Example 4 . . .
91
Group Delay Versus Frequency Plotted on
the CAL-COMP Plotter, Example 4
92
5.34.
5.35.
5.36.
5.37.
5.38.
5.39.
5.40.
viii
ABSTRACT
IIR DIGITAL FILTER DESIGN USING
AN LP APPROXIMATION
by
Bahram Roshanian
Master of Science in Electrical Engineering
The synthesis of Infinite Impulse Response (IIR) digital filters generally involves the use of a computer
algorithm to solve sets of linear and nonlinear equations.
There are a number of computer-aided techniques for approximating an arbitrarily prescribed frequency characteristic.
Using a minimum p-error criterion, the computer program
by A. G. Deczky successfully solves the minimization
problem utilizing the Fletcher-Powell algorithm.
Several auxiliary programs were developed to
implement the main program.
Procedures were developed to
facilitate the program execution by the user as well as
a procedure that permits the data to be entered
interactively rather than using an input file.
ix
Two
additional computer programs were developed which
permit the output of the main program, which is given
in terms of coefficients of the Z-transform of the IIR
digital filter, to be plotted on the CAL-COMP plotter as
well as the printer.
Different methods of optimization are discussed and
a detailed explanation of the Fletcher-Powell algorithm
is given.
A description of the parameters used in the
main program is presented along with a discussion of the
functions of its subroutines.
The developments of
auxiliary computer algorithms are discussed.
Finally,
four IIR digital filter design examples are presented
along with plots of magnitude, gain in dB, and phase and
group delay versus frequency.
All are plotted on the
CAL-COMP plotter as well as the printer.
A user manual
is presented in appendix F to assist the user during the
program execution.
X
Q
CHAPTER 1
1.0
Introduction
The traditional approach to the synthesis of an IIR
digital filter involves transforming .an appropriate
analog filter into a digital filter.
This approach,
however, does not prove to be useful, in general, since
there is no analytical procedure to synthesize either an
analog or digital filter with an arbitrarily prescribed
frequency response.
To perform the synthesis of IIR
digital filters, computer algorithms have been developed
that approximate an arbitrary frequency response by
solving sets of nonlinear equations.
The advantage of
these algorithms is that there are many methods of
approximation that can be used.
In this report a computer algorithm by A. G. Deczky
is discussed that uses the minimum p-error criterion and
the Fletcher-Powell method to approximate the coefficients
of the Z-transform of an IIR digital filter.
The initial
approximations are given in terms of radii and angles of
poles and zeros, as well as a desired frequency response.
The output of the computer program consists of the
coefficients of the filter transfer function, which
correspond to the minimum p-error criterion.
Several
auxiliary computer programs are also presented in this
1
'
2
report that were developed to facilitate the use of the
IIR filter design program.
These programs can plot the
frequency response of the digital filter in terms of
magnitude, gain in dB, phase and group delay versus frequency.
The text is divided into six chapters and six
appendices.
In Chapter 2 the concept of optimization is
discussed and a detailed discussion of the FletcherPowell method is presented.
Chapter 3 presents a discus-
sion of the program by A. G. Deczky.
The initial
specifications, functions to be minimized·, input
parameters, types of outputs and dimension restrictions
are also discussed.
The auxiliary computer programs are
presented in Chapter 4 along with a discussion of their
functions.
Chapter 5 contains four design examples to
demonstrate the capabilities of the computer algorithms
presented in this report.
Concluding remarks are presented in Chapter 6.
Appendices A through D contain the listings of the
computer programs developed.
Appendix E contains the
computer listing of the user prompts pertaining to the
first example.
Appendix F contains a user manual for
the computer programs presented herein.
p •
CHAPTER 2
2.0
Optimization
The concept of optimization is to minimize the scalar
function U where
U:: U(cp)
subject to the inequality constraint,
2.
g(cp)
0
and the equality constraint,
h (cp ) = 0
where ¢ is a vector of K independent variables or
parameters.
¢
=
In general we might have m inequality and s equality
constraints.
g (Q> )
=
h(r~)
=
hs(<P)
3
4
The feasible region R is
R::
{<f>/g(cf>) f::
O,h(cf>)=O}
A proper minimum of U located by a vector
..,
"" on
<1>
the
response hypersurface generated by U(<f>) is such that
v
U :: U(cp) < U(cf>)
for any feasible
..,
<1>
close but not equal to </>.
tive is to find a feasible
v
U( cf>)
<1>,
=
Our objec-
if it exists, such that
min U( <f>)
There are several different algorithms that can be
used to attain the minimum of a multivariable function.
Below is a list of some of the most widely used
algorithms.
1.
Minimax approximation
2.
One-dimensional search method of
3.
2.1
Elimination method
2.2
Interpolation method
Direct search method of minimization
3.1
4.
minim~zation
Simplex method
Gradient method of optimization
4.1
Steepest descent
4.2
Conjugate direction
4.3
Conjugate gradient method
4.4
Fletcher-Powell method
2.1
Error Criteria
The design of a recursive digital filter to have an
arbitrarily prescribed frequency response may be
5
regarded as a classical approximation problem.
approximation
probl~m
U(~),
valued function,
U(
~ ;~)
The
states that for a given real
defined on a set,
~'
let
be a real valued approximating function,
depending continuously on
~£~
and on n parameters,
~-
Given a distance function, e, determine the n parameters
v
~eE
such that
v
e(~,~)
i
e(~,~),
for all ~£E
The distance function is defined as
e(~ ,~) ::
W(tlJ)
[U(~ ,~)
-
S(~)]
where
W(~)
is the weighting function,
~
is an independent variable, and
~
represents the adjustable variable.
For recursive digital filters, the transfer
function, H(Z), is a function of n parameters (the filter
coefficients) ordered in a vector,
variable,
,, is
(~:
~'
0
~-
is the digital frequency,
<~<n).
The independent
~=wT,
The frequency response of the filter
may be expressed as a real-valued function of
i.e.,
(U(~,~)),
becomes S (
~).
and the set,
~and
while the desired frequency response
w,
6
2.2
Minimum P-error Criterion
For the distance function, e, we may define a norm.
for the continuous case, and,
iEI
1iiJ.S.
00
for the discrete case, where
e( <f>) -
en(<t>)
ei(<f>):? e(<f>,t/Ji)
and
I~
{1,2, ... ,n}
Thus I is an index set relating to discrete values of
on an interval [\,
~ul
which is closed and finite.
For well behaved functions
max I e(<t>,~) l=lim{. 1
[ <f>1 , <f>u]
+oo <p il <P 1
J~Uie( h.~) Pd~} l/p
~ 1
maxlei(<f>)l=lim{IIei(<t>)IP}
p+oo i
11 P
Suppose that we formulate an objective function as
or
U=
I I ei(<f>)IP
iE:I
~
7
The minimization of U is called the least pth
approximation.
For the discrete case, a minimum is
called a best approximation with respect to
defined in I.
norm.
Now
lie
II co
is called Chebyshev, or uniform
Minimization with respect to
as minimax approximation.
lie lip
lie
II co
is referred to
The least pth approximation
tends to the minimax approximation as p+co.
The computer algorithm uses the least pth approximation method for its error criterion.
The reason for
this choice is that this method has been extensively
studied.
Furthermore, the problem of finding the
approximation with respect to
best.
lie lip reduces to minimi-
zation of a function of n variables, as in the FletcherPowell method.
Finally, the two most popular error
criteria, namely the minimax and the minimum square, are
included as special cases of this distance function.
2.3
Gradient Method of Optimization
The gradient method of optimization makes use of
the derivatives of the function to find the minimum.
The basic concept of the gradient method is contained
in the following two theorems.
In the first theorem, assume that f(x) and its first
n derivatives are continuous.
Then f(x) has a relative
maximum or minimum at x if and only if n is even, where
n is the order of the first nonvanishing derivative
8
at x 0
•
fn(x 0
)
The
<
function~(x)
has a maximum at x 0 if
0 and a minimum if fn(x 0
)
>
0.
In the second theorem, it is assumed that a
sufficient condition for
at point
~o
=
where VU
positive definite,
U(~)
to have a relative minimum
0 is that the hessian matrix be
where
vu -
..a!L
d¢2
is a vector containing the first partial derivatives of
the objective function called the gradient vector,
and
H -
is a symmetrical K X
K matrix containing second partial
derivatives called a hessian matrix.
2.4
Fletcher-Powell Method
The Fletcher-Powell method is a gradient method.
In order to describe the method, some definitions must
be given.
9
The unimodal function is one having a unique optimum
in the feasible region.
A function,
U(~),
is called a quadratic function if
each term contains either sequence of one variable or
U(~)
the product of two different variables.
is expressed
in matrix notation as
U(<I>)
=+~TD~ + cT~ +
B
where, D is a K X K constant matrix,
C is a constant vector with K components, and,
B is a constant.
In this case it is easily shown that
VU
=
D~
+ C
H = D
If D is nonsingular, the optimum point is unique and can
be found in a finite number of operations.
The quadratic convergence is used to describe properties of the optimization method which guarantee to
find the minimum of a quadratic function in a finite
number of steps.
The Fletcher-Powell method is constructed in such a
way that if the function to be optimized is quadratic
in n variables, then the Fletcher-Powell iteration
scheme converges to the optimal solution in exactly
n iterations.
It also gives reasonably good results for
functions which are not quadratics.
The method uses certain information which is
@
•
10
generated at each iteration to construct the hessian
matrix of the function.
If the function is quadratic
and unimodal, the hessian matrix is constructed in
exactly n iterations.
For more complicated or different
functions, the Fletcher-Powell method generates an
approximation to the hessian matrix in the neighborhood
of the optimum.
In order to illustrate the basic idea of the computational procedure, consider a quadratic function of n
variables.
Assume U is unimodal, therefore, VU
point.
= 0 at the optimum
If we solve for the optimal point ¢*
VU
=
C + 2D ¢ ,
¢
* = - -21-
D -
lc
For the general case, we do not have a quadratic
function.
C and D.
Hence, we do not have enough information about
However, if we knew VU at several points, we
might be able to put together approximations that would
enable us to do what was done above.
This is what the
Fletcher-Powell method attempts to do.
The procedure involves three steps as follows.
1.
Compute the gradient VU at some point.
2.
Determine a direction, rs, along which to make
a desired move.
3.
Make the move along this direction to some new
point.
This procedure is repeated until the gradient
11
at some point becomes sufficiently small.
The direction of the move in the Fletcher-Powell
method is
rs = -HsiJU(<j>s)
The point <Ps+1 is determined from
<Is
<Ps+1 =
+ Asr s
AS= min U(<Ps + Asrs)
A
AS is so chosen to minimize U(<Ps + Asrs), and it is the
step size in the direction of rs and is given by
s
As=
2i-1o, i=l,2, ....
L
i=1
AO
6
and
>
=
0
0; 1% of <j>o
If the following equation is used to generate the sequence
of matrices, Hs, s = 1,2, .... ,
Hs+1 = Hs + As + Bs
If the iteration process is to converge in n steps,
then
=
_1_ n-1
2
-
1 over the above equation,
If we sum from s = 0 to n
n-1
n-1
L Bs
+
=
L
L Hs
As
L Hs+1 =
s=O
s=O
s=O
s=O
n-1
n-1
Simplify
Hn -
Ho =
n-1
L As +
s=O
n-1
L Bs
s=O
12
Since we require
1
2
n-1
n-1
n-2
n-1 = 2Ho + 2 [ As + 2 [ Bs
s=O
s=O
What would be the desired outcome here is to construct the sequence Bs so that as the calculation proceeds,
the effect of Ho, the initial matrix, is cancelled out.
Ho is initially the unit matrix.
n-1
[ Bs = Ho
s=O
then
n-1
__1__ n-1
[ As = 2
s=O
The initial estimate of n-1 is Ho.
As can be seen from the equations above, as the
number of iterative steps in the Fletcher-Powell process
increases, the attempt is made to improve the initial
estimate of n-1 and approach a more accurate representation.
To approximate a second-order representation using
only first-order information, the gradient at two
different points is calculated.
The vector, Ys, is then used to generate the matrices,
As and Bs, by means of
13
-HsYsYsTHs
=
YsTHsYs
The following is a summary of the Fletcher-Powell
method:
1.
Assuming a minimization algorithm, start with a
positive definite matrix, Ho, and some initial point,
~o.
For convenience, Ho can be chosen to be the identity
matrix, I.
2.
The general iteration step begins here.
is designated the iteration (S
=
0,1,2 .... ).
This
Calculate
vu<~s).
the gradient vector,
3.
Calculate a direction in which to move.
4.
In order to move in the direction, rs, it is
necessary to calculate a step size.
chosen so as to minimize
U(~
s
As=
~ 2i-1c;,
Therefore, As is
s + A srs).
o>O; 1% of ~o
i=l
As
=
min
A
5.
Calculate
6.
Calculate
U(~
s +Asr 8
)
14
7.
Calculate the two matrices, As and Bs.
8.
Calculate the next approximation in the sequence
of H matrices.
9.
Terminate the calculation if
u<~s) - UC~s+1)
If U(~s) - U(~s+1)
>
~.
i
~
return to step 2, using Hs+1
as the new Hs.
The algorithm can be shown to converge with no
particular difficulty.
2.5
Stability Constraint
Stability is a very important factor in the design of
IIR digital filters, that is, only stable filters are of
interest.
Therefore, the search is restricted to inside
the stable region, that is, to the subspace
(AePs:rpi<1, for all i).
This is done by restricting the
step size in any direction such that the new point is
inside the stable region.
If a chosen step size is
greater than the distance to the stability boundary in
the given direction, it is successively halved until the
new point lies inside the stable region.
This algorithm will converge if there is a local
minimum of the distance function inside the stable region,
Ps, away from the boundary.
@
CHAPTER 3
3.0
Program for Synthesis of
IIR
Digital•~ilters
•
This program performs the synthesis of recursive.
digital filters using a minimum p-error criterion and
the Fletcher-Powell method for function minimization.
The program contains all necessary subroutines for
input and output.
All machine dependent quantities
(I/O device codes, machine constants, etc.) are specified
by the IlMATCH, RlMATCH and DlMATCH subroutines.
These
three subroutines contain values for a number of computing
systems.
To configure the program for CDC 6000/7000
series, the desired sets of data were activated by
removing the comment symbol from column number one in
the data statements designated for the CDC system.
The program has one main subroutine and seven
subroutines that are used by the main subroutine.
There
are also two functions that are used by the program.
A diagram of the main program with its subroutines is
shown in figure 3.1.
A description of the functions of
the subroutines is outlined below.
COSYFP is the main subroutine for amplitude and/or
group delay synthesis.
INCOCA reads in filter coefficients for group delay
15
•
@
16
MAIN PROGRAM
J
COSYFP
I
I
~
liNCOCA
..., 2DGSPEC
r
1
3FUNCT
2
3
~
...
4xNXMI
...,
....
/
5FMFP
6FACTOR
....
'7FREDRIC
Figure 3.1
The Program with Its Subroutines
-
•
17
equalization.
DGSPEC calculates the group delay of the nonequalized filter.
FUNCT calculates the function to be minimized from
X as a function of frequency.
XNXMI calculates initial approximation to X(N),
X(N-2).
FMFP finds the local minimum of a function of
several variables by the Fletcher-Powell method.
FACTOR recalculates quadratic factors as well as
poles and zeros from the parameter vector X.
FREDRIC computes the frequency response.
The program also includes two functions that are
used to compute the desired magnitude and group delay.
They are named FS and DGS.
3.1
Initial Specifications
The initial specifications of the filter are
contained in argument vector X.
On
inp~t
it specifies
the initial position of poles and zeros, while on output
it gives their position at the attained minimum of F
(the function to be minimized, depending on the type of
synthesis required).
polar coordinates.
Zeros and poles are specified in
First, the real zeros are specified,
then the zeros on the unit circle, and then the complex
zeros.
Next the real poles are specified, followed by
the complex poles.
18
Real zeros and poles are specified by their radii.
Complex zeros and poles are specified by their angles,
expressed as a frequency (Rad/2TI X sampling frequency),
followed by their radii, in pairs.
Zeros on the unit
circle are specified by their angles.
The reason for choosing polar coordinates is that the
influence of a single pole (or zero) is readily visualized
and the derivatives of amplitude and group delay are
easily derived.
The expression for magnitude and group delay are:
a(A,~) =
N
T(A,
~)=
~
N
ii=lj
[1-2r 0 iCOS(~-~oi)+r 0 i2]1/2
[1-2rpiCOS(~-~pi)+rpi2]1/2
X
[l-2roiCOS(~+~oi)+roi2]1/2
[l-2rpiCOS(¢+~pi)+rpi2]1/2
Ko _
l-rp 1·COS(~-~p 1·)
~
i=l l-2rpiCOS(~-~pi)+rpi2
l-r 0 iCOS(~-~oi>
+
l-2rpiCOS(~+~pi)+rpi2
+
l-r 0 iCOS(~+~ 0 i)
where, rpi• rpo are the radius of the ith pole and zero,
respectively, and,
~pi•
~oi
are the
~ngle
of the ith pole and zero,
respectively.
Ko
is a positive normalizing constant.
As can be seen from these formulas, the form of the
19
transfer function used is the cascade form.
The first
reason for choosing the cascade form is that the physical
structure of the filter has a large influence on error
caused by the quantization effect and the finite
coefficient size.
Second, the stability of the cascade
filter is easily tested, whereas in the direct form, this
requires lengthy calculations.
Finally, the frequency
response of the cascade filter takes on a particularly
simple functional form, permitting easy calculations of
the first derivatives.
H(z) =
Ko
I
N
Hi(z) =
i=ll
3.2
Ko
z2 + aliz + a2i
N
I i=ll z2 + bliz + b2i
Functions to Be Minimized
The program minimizes one of the following functions:
NP
~ WH(J) * {X(N)*H(X,J)-FS(J)} ** IP
J=l
Fl =
NP
F2 =
~ WH(J) * {DG(X, J)-DGS(J)-X(N)} ** IQ
J=l
NP
F3
~ WH(J) * { X(N-l)*H(X,J)-FS(J) } ** IP
ALFA
~T=l
NP
+ (1-ALFA)
~ WG(J)* { DG(X,J)-DGS(J)-X(N) } ** IQ
J=l
Fl is used for magnitude approximation.
F2 is used for group delay approximation.
F3 is used for combined magnitude and group delay
approximation.
20
X is the argument vector and contains the zeros and
poles in polar coordinates.
J corresponds to frequency.
FS is the desired magnitude function at the frequency
points corresponding to J.
DGS is the desired group delay function at the
frequency points corresponding to J.
ALFA is a weighting coefficient between 0 and 1 for
the magnitude in the case of combined approximation.
WH(J) is a weighting function for the group delay
at the frequency J.
WG(J) is a weighting function for the group delay at
the frequency J.
H(X,J) is the magnitude of the filter which is a
function of the argument vector X and ·the frequency J.
DG(X,J) is the group delay of the filter which is
a function of the argument vector X and frequency J.
IP, IQ are indices for magnitude and group delay
error respectively.
They should be positive and even.
The above functions are computed on a number, NK,
of intervals.
These intervals are specified by their end
points, FIK(I) and FIK(I=2), and their number I,
I=2, NK.
The number of points on each of these intervals
is designated by NPK(I), I=l, NK.
The frequency points,
J, are assigned to each interval, depending on the
parameter WEIGHT (I) as follows:
21
WEIGHT
1
J corresponds to frequency
(FIK(I+1)-FIK(I))*(J-J-1)/NPK(I)+FIK(I)
Equispaced
(FIK(I+1)-FIK(I))*SIN (J-J0-1)*
2
(PI/2)/NPK(I) + FIK(I)
Sine half cycle
(FIK(I)-FIK(I+1))*COS (J-J0-1)*
3
(PI/2)/NPK(I) + FIK(I+1)
Cosine half cycle
0.5(FIK(I)-FIK(I+1))*COS (J-J0-1)*
4
PI/NPK(I) + 0.5*(FIK(I)+FIK(I+1))
Cosine full cycle
where
I-1
JO =
l:
NPK ( K)
K=1
In NPK(K) = 0, no frequency points are assigned to that
interval.
The real weight functions, WH(J) and '..;·:..;
(J),
are
constant over any given interval, I, and are specified
by the function, WHK(I) and WGK(I) .
.
WH(J+JO) = WHK(I)
J = 1, NPK(I)
WG(J+JO) = WGK(I)
The indices IP and IQ are specified by the input
parameters IP(II) and IQ(II), II= 1, IPK.
22
3.3
Description of Input
Parameters
In this section a list of input parameters of the
program is presented along with descriptions of each of
the parameters.
MODE is the type of approximation, where =1 is
magnitude only, =2 is group delay only, =3 is group
delay equalization, and =4 is magnitude and group delay.
NZR is the number of real zeros.
NZU is the number of zeros on the unit circle.
NZC is the number of complex zeros.
NPR is the number of real poles.
NPC is the number of complex poles.
X is the initial parameter vector.
NK is the number of intervals.
NPK(I) is the number of points on the interval,
FIK(I)-FIK(I+l).
WEIGHT(I) is the spacing points, NPK(I), on the
ith interval.
WHK(I) is the relative weighting of the ith
interval for group delay.
FIK(I) is the starting point of the ith interval.
IPK is the number of successive indices of approximation.
IP(II) is the successive indices of approximation
for magnitude.
23
iw9ii) is the successive indices of approximation
for group delay.
INV is the number of total cycles if there is no
convergence.
Fl is the lower frequency limit for the frequency
response.
F2 is the upper frequency limit for the frequency
response.
FSAMPLE is the sampling frequency.
IZ is the number of points for the frequency
response.
(If IZ=O, no response is calculated.)
AFLA is the relative weighting of the magnitude;
relative weighting of group delay is 1-ALFA (MODE 4 only).
LONG is the logical parameter for type of output,
where =.TRUE. is for long output and =.FALSE. is for
short output.
LIMIT is the number of iterations per cycle before
restarting with the steepest descent.
ESP is the error parameter for FMFP subroutine,
typically lo-3.
DEB is for debugging the printout; set =.TRUE. for
printout,
DEBFP is for debugging the printout from FMFP; set
=.TRUE. for printout.
24
3.4
Type of Output
The program essentially computes an argument vector,
X, and a gradient vector, G, corresponding to the
minimum of the functions Fl, F2 or F3.
Based on X, the
zeros and poles as well as the coefficients of the
cascade realization of the filter are computed.
If
desired, the frequency response of the filter is also
computed.
The program computes the frequency points in
Rad/(2n) X sampling frequency.
In the programs that
were developed, however, the frequency points are
computed in radians or cycles per sample.
The program permits two types of outputs to be
printed.
The first type is printed in 72-column format
and consists of either a short output, summarizing the
results of the minimization (LONG=.FALSE.), or a long
output also giving the progress of minimization
(LONG=.TRUE.).
The second type of output is strictly for debugging
purposes.
It produces extensive intermediate results in
72-column format to monitor the progress of the entire
program.
3.5
Dimension Restrictions
The number of parameters in X is restricted to 40.
The number of filter sections is restricted to 20.
total number of points over which F is computed is
restricted to 201.
The total number of points for
The
25
frequency response is also restricted to 201.
The
number of successive indices, IP, IQ, is restricted to 10.
The number of intervals, FIK, is restricted to 10.
These numbers can be changed by modifying the appropriate
COMMON or DIMENSION statements.
CHAPTER 4
4.0
Development of Auxiliary
Computer Programs
Two auxiliary computer programs were developed to
plot the magnitude, gain in dB, phase and group delay of
the filter on the printer, as well as the CAL-COMP
plotter.
A computer program was developed that permits
the input data to be entered interactively.
Finally,
several. computer procedures were developed to facilitate
the program execution and to allow for different combinations of the programs to be run.
The remaining sections
of this chapter contain descriptions of these programs.
The computer listing of these programs can be found in
appendices A through D.
4.1
PRNTPLT
This program plots the magnitude, gain in dB, and
phase and group delay versus frequency on the printer.
The filter coefficients calculated by the main program
are written on a file (FRQDAT), which is used by PRNTPLT
as an input file.
The program calculates the frequency response of
the filter using frequency scaling in radians or cycles
per sample.
Upper and lower frequency limits are
entered by the user at the time of the program
26
27
execution.
The user can plot as many cycles as desired
by specifying the frequency limits.
The first graph plotted by the program is magnitude
versus frequency.
The program asks whether to plot the
magnitude or not.
If the answer is no, the program goes
to the next plot.
If the answer is yes, the program asks
the user to specify the upper and lower limits of the
magnitude of the frequency response to be plotted.
The
user can specify any range between 0 and any positive
number, usually 1.
The program then plots the magnitude
on the printer using a 135-column format.
The second graph plotted by the program is gain in
dB.
As before, the user has the option of plotting this
graph or going on to the next graph.
If the answer is
yes, the minimum gain in dB is calculated and displayed
on the screen.
The user has the option of changing the
minimum gain in dB to be plotted.
Next the maximum gain
in dB is calculated and plotted on the screen.
The user
has the option of changing it to any value desired as
the maximum gain in dB to be plotted.
The program takes
the maximum and minimum and scales the graph accordingly.
The third graph plotted by the program is the phase,
and, as before, the user has the option of plotting it.
If the answer to the question is yes, the maximum and
minimum phases are calculated and displayed on the
28
screen.
The user can change the maximum and minimum
phase to be plotted to any value desired.
Finally, the program plots the group delay of the
filter versus frequency, and, as before, the user can
specify whether to plot the graph or not.
is no, the program is terminated.
If the answer
Otherwise, the program
calculates the maximum and minimum group delay and
displays them on the screen.
If desired, the user can
change these values.
In all of the four plots above, a 135-column format
is used, and for each point of the graph, the corresponding frequency is also printed on the same line.
A listing of the program coded in FORTRAN is found
in appendix A.
4.2
CALPLOT
This program was developed to plot the frequency
response of the filter on the CAL-COMP plotter.
This
program plots the four graphs mentioned previously and
the procedures are the same as in the program, PRNTPLT.
The user has the option of choosing the frequency
scaling, either in radians or cycles per sample.
The
user can also specify the range of magnitude, gain in
dB, phase and group delay to be plotted, as well as the
frequency.
At the end, the user has to specify whether
or not to transfer the plots to the CAL-COMP plotter.
The graphs are plotted on a 7-by-9-inch axis.
,, .
29
Frequency is plotted on the 9-inch axis, and magnitude,
gain in dB, phase and group delay are plotted on the
7-inch axis.
The maximum number of points that the
program can plot is 1,000, but the user can specify any
number of points to be plotted at the beginning of the
program execution.
A listing of the program coded in FORTRAN is found
in appendix B.
4.3
INDAT
This program was developed to let the user interactively enter the input data at the terminal.
The
program asks the user to enter data, one at a time.
The
data are then written on a file (FIDAT) which is used as
an input file by the main program (IIRSYNT).
A listing of the program coded in FORTRAN is found
in appendix C.
4.4
Procedures
Six procedures were developed to facilitate the
program execution.
These procedures also permit the user
to run the·programs in different combinations.
Following is the list of procedures with explanations of
their functions.
Figure 4.1 shows a diagram of the
routing options of the programs.
1.
MENUM allows the user to decide whether to enter
the data at the terminal or to use an existing file
(FIDAT) as the input file.
If the first option is
30
chosen, the procedure INPT is executed, otherwise the
procedure MENU is executed.
2.
MENU allows the user to decide whether to run
the main program only, or to run the main program and
plot the results on the CAL-COMP plotter or on the
printer.
3.
INPT allows the user to enter the data at the
terminal by executing the program INDAT and then go to
the MENU procedure.
4.
RUN executes the main program (IIRSYNT) only.
5.
PRINT executes the main program (IIRSYNT) and
saves the results on a file (FRQDAT).
It then executes
PRNTPLT to plot the results on the printer.
6.
PLOT executes the main program (IIRSYNT)
and saves the results on a file (FRQDAT).
It then
executes CALPLOT to plot the results on the CAL-COMP
plotter.
Listings of the procedures coded in FORTRAN are
found in appendix D.
31
MENUM
INPT
INDAT
MENU
1
RUN
PRINT
PLOT
IIRSYNT
IIRSYNT
IIRSYNT
PRNTPLT
CALPLT
Figure 4.1
Diagram of the File Routing Options
of the Program
CHAPTER 5
5.0
Examples
Four examples are presented in this chapter.
These examples consist of the synthesis of digital
filters by the computer program.
Examples are given with
a complete listing of the computer printouts.
The
printouts consist of the input sequences, followed by the
complete outputs as specified by the input sequences.
For each example, four different plots are given, each
plotted on the printer and the CAL-COMP plotter by the
auxiliary program.
5.1
Example 1
This example illustrates the synthesis of a recursive
low pass filter of order 4.
mation only.
It is a magnitude approxi-
The magnitude is to approximate 1 in the
interval 0 to 3 and 0 in the interval 3.4 to 4.
The
initial approximation is given as 2 zeros on the unit
circle, specified by the parameters 3.6 and 3.8, plus 2
complex poles, specified by the parameters 1.5, 0.8
and 2.4, 0.8.
In the initial argument vector, only the
zeros and poles with positive angles are specified; the
complex conjugate ones are understood.
There are three
intervals specified by the input parameters.
These are
from 0 to 3, from 3 to 3.4 and from 3.4 to 4, with the
32
33
second interval being a "don't care" interval, hence
NPK(2)
0.
The frequency in the program is specified in
terms of radians/2n X sampling frequency.
In this example,
the sampling frequency is 8, therefore, the frequency
limits are from 0 to 4 which corresponds to 0 to 17
radians.
In auxiliary programs, however, the frequency
scaling is changed to either cycles or radians per
sample.
(In all of the examples presented in this
chapter, the frequency scaling is cycles per sample.)
The number of successive indices of approximation
is 1.
It equals 2 for magnitude and 0 for group delay.
The program converged after 51 iterations and 222 function
evaluations.
At the output computed, argument vector and
gradient vector are given, along with zeros and poles of
the filter in terms of their angles and radius.
The
frequency response of the filter is also calculated
and presented at the output of the programs.
The auxiliary programs, PRINTPLT and CALPLOT, plot
the frequency response of the filter on the printer and
CAL-COMP plotter respectively.
On the printer, the
program uses a 135-column format to plot the magnitude,
gain in dB, phase and group delay versus frequency.
to 1,000 points can be plotted on the printer.
example 45 points are plotted.
between a range of 0 to 1.
between a range of 0 to -50.
Up
In this
The magnitude is plotted
The gain in dB is plotted
The phase is plotted
34
between a range of -2.0 to +2.0.
The group delay is
plotted between a range of 0 to 11.
The program, CALPLOT,
plots the frequency response on the CAL-COMP plotter.
It
uses a 7-inch vertical axis and a 9-inch horizontal axis
which pertains to frequency.
In this example, the magnitude is plotted between a
range of 0 to 1.
and -84.
2.
The group delay is plotted between 0
The phase is plotted between a range of -2 to
The group delay is plotted between a range of 0 to 11.
The frequency limits in this, and all other, examples is
from 0 to 0.5 cycles per sample.
A listing of the user prompts pertaining to the input
parameters is given in figure 5.1.
output of the program.
Figure 5.2 lists the
Figures 5.3 through 5.6 give the
plots that were plotted by the auxiliary program, PRNTPLT.
Figures 5.7 through 5.10 give the plots that were plotted
by the auxiliary program, CALPLOT.
5.2
Example 2
This example illustrates the group delay equalization
of a recursive low pass filter.
The coefficients of the
filter to be equalized are used as input.
The filter has
5 complex poles, specified by the input parameters, (0.5,
0.8), (1.0, 0.8), (1.5, 0.8), (2.0, 0.8) and (2.5, 0.8).
There is one interval specified by the input parameters,
from 0 to 3.1.
The frequency interval is between 0 to 4
with a xampling frequency of 8.
The number of
success~ve
35
TYPE OF
?
~PPROXlM~TION
NUMBER OF
?
?
1
RE~L
ZEROS
?
0
NUMBER OF ZEROS ON UNil CIRCLE
?
NUMBER OF COMPLEX ZEROS
?
RE~L
POLES
?
0
NUMBER OF COMPLEX POLES
?
R~IIIUS
OF COMPLEX POLE NO.
1
OF COMPLEX POLE NO. 1
0.8
~NGLE
?
OF ZERO ON UNIT CTRCL.E NO. 2
3.8
~NGLE
?
1. 6
?
OF ZERO ON UNIT CIRCLE NO.
3.6
~NGLE
?
?
::!
~NGLE
?
?
0
NUMBER OF
?
?
::!
OF COMPLEX F'OLE NO. 2
2. 4
RADIUS OF COMPLEX F'OLE NO. ::!
?
o.8
VALUE OF 1\0
?
NUMBER OF
?
?
1. 0
INTERV~LS
?
3
.,NUMREF:
41
OF F'OINTS ON IN TEf~Vfll.
NUMBER OF POINTS ON IN HT:'.'fll
?
..,
0
Figure 5.1
User Response and Input Data, Example 1
36
NUMBER OF POINTS ON INTERVAL
?
3
41
SPACING OF POINTS ON THE INTEt;VI\L 1
?
2
SPliCING OF POINTS ON THE INTERVAL
?
SF'fiC I NG OF POINTS ON THE
?
')
1
INTEI~'JAL
3
3
RELATIVE WEIGHTING FOR MAGNITUDE FOR INTEF:'JAL
?
10.
RELI"'TII.IE WEIGHTING FOR MAGNITUDE FOR INTEF;'JAl.. 2
?
o.
RELI"'TIVE WEIGHTING FOF\ MAGNITUDE FOF; I NTt:F:'JfiL 3
?
1•
RELATIVE WEIGHTING FOR GROUP DELAY FOF: IN !TFWAL
?
0.
RELI"'TIVE WEIGHTING FOR GFWLJF' DELAY FOR INTEF\VAL :'
?
0.
RELI"'TII.IE WEIGHTING FOR GF:OUP DELAY FOR INTEF\VAL 3
?
0.
STARTING POINT OF THE AF'F'ROX I MA TI ON INTEF:'JAL
?
o.o
(Fi~Ire
5.1, Continued)
1
37
ST1'1RTING POINT OF THE AF'F'ROXIMI'ITION INTERVAL :::
?
3.0
ST1'1RTING POINT OF THE I'IF'F'ROXII'II'ITION INTERVI'Il.. 3
?
3.4
STARTING POINT OF THE APPROXIMATION INTERVAL 4
?
4.0
NUMBER OF SUCCESSIVE INDICES OF AF'F'ROX TMl'l T I ON
?
?
1
SUCCESSIVE 1ND1C[S OF APPROX.
FOR MAGNITUDE FOR INDICES NO.
SUCCESSIVE INDICES OF AF'PROX.
FOR GROUP DELAY FOR INDICES NO.
?
0
NUMBER OF TOTAL CYCLES IF_ NO CONVERGENCE
?
LOWER FREQUENCY LIMIT FOR THE FREQUENCY RESPONSE
?
7
o.o
UPPER FREQUENCY LIMIT FOR THE FREQUENCY RESDPONCE
?
?
?
SAMPLING FREQUENCY ?
8.0
NUMBER OF POINTS OF THE FREQUENCY RESPONCE
7
l. 0
LOGICAL PARAMETER FOR TYPE OF OUTPUT
?
7
tt
UlGICAL f-'ARAMETER FOR DEBtiGGfNG F'RTNTOLIT
?
?
41
RELATIVE WEIGHTING OF THE MAGNITUDE
?
?
F.
LOGICAL PARAMETER FOR DEBUGGING PRINTOUT FROM FMFP
?
7
4.0
F
FILE ROUTING OPTIONS
1. RUN THE MAIN PROGRAM ONLY.
;::, PLOT THE RESULTS ON THE PRINTER
3. PLOT THE RESULTS ON THE PLOTTE8.
(Figure 5.1, Continued)
7
38
2
1
KO
,92072789E-01
F=
.20112E+01
NO OF FUNCT
INITI~L
~RG.
IER= 0
~ND
ITER~TIONS=
GR~DIENT
1 I=
• 90000000E+OO
21=
.95000000Et00
31=
.40000000Et00
41=
.80000000E+OO
51=
.60000000Et00
X< 61=
.SOOOOOOOE+OO
X< 71=
.92072789[-01
.2011E+01
ITERATION
.1843E+Ol
ITEF:ATION
.9440Et00
ITER~TION
,9437Et00
ITER~TION
.2332Et00
ITERATION
.1010E+OO
ITERATION
.7643E-01
ITERATION
1TEr-.:r'l TT ON
. 4 705E -01
.3228E-01
ITERATION
.2243E-01
ITER~TION
• 2086E-01
ITEF\~TION
.1842E-01
ITERATION
.1837E-01
ITEf':ATION
.1837E-01
ITERr'ITTON
.1297E-Ol
ITERATION
.1224E-Ol
ITERi'1TION
.8327E-02
ITH:~TION
.3662E-02
TTF.Rr'ITION
• 3360E -02
ITERATION
.3196E-02
ITERATION
.2971E-02
ITER~TION
.2678E-02
ITER~TION
.2319E-02
ITERATION
.2184E-02
ITERATION
.1917E-O~
ITERATION
.1562E-02
ITERATION
X(
X<
X<
X<
X<
DLDF
DLDF
DLDF
OLDF
DLDF
OLDF
OUtF
DLDF
OLDF
DLDF
DLDF
OLDF
· OLDF
OUtF
OLDF
OLDF
OLDF
OUIF
OL!IF
OLDF
OLDF
OLDF
OUtF
OUIF
DLDF
OL[IF
OLDF
OLDF
F=
NO
G(
G<
G<
G<
G<
1 I=
21=
31=
41=
51=
-. 48376091Et00
-.21596836Et00
-.14348534Et01
.44140781Et01
-.41605787Et01
G<
6>~
-.15939709~+01
G<
71= -.215359526<12
NO.
NO.
2
NO.
3
NO.
4
NO.
5
NO.
6
NO.
7
NO.
8
NO.
9
NO. 10
NO. 11
NO. 12
NO. 13
NO. 14
NO. l.~i
NO. 16
NO. 17
NO. 18
NO. l 9
NO. 20
NO. 21
NO. ~~
NO. 23
NO. 24
NO. ~5
NO, 26
ITER~TION NCl.
:7
ITERATION NO. 28
.13~9E-O~
.1184E-02
.ll.205E-02
0
2
EV~LU~TIONS=
VECTOR
NO OF
IER= 1
NO
OF ITERATIONS= 28
OF FUNCT EVALUATIONS= 135
=
X<
1l
X<
21 =
XC
3 l=
4 I=
!'i I=
6 I=
X<
X<
X<
.94482965E+OO
.97297943E+OO
.730331711:+00
.43478941E+OO
.76833340E+OO
,87459426E+OO
G<
G<
G<
G<
I~
.97::!17532E-02
2 I=
.41645419E-02
.l.1039778E-Ol
. 101:':·8747E-Ol
-.ll807122E-01
.16553809[-01
1
3 l=
4
I=
G<
5l=
(3(
6) =
Figure 5.2
Computer Output Listing, Example 1
39
OLDF
OL!IF
OLDF
OLDF
OL[tF
OUtF
OL[tF •
OUtF
OLDF
OLDF
OUtF
OL!IF
OLDF
OL!IF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OL!IF
OLDF
F=
X< 7>=
.33871918E+OO
.1121E-02
ITERATION
ITERATION
• 1116E-02
.1114E-02
ITERATION
.1058E-02
ITERATION
.1029E-02
ITERATION
.9017E-03
ITERATION
.8606E-03
ITERATION
.7345E-03
ITERATION
.6242E-03
ITERATION
.579~E-03
ITERATION
,4478E-03
ITERATION
.3386E-03
ITERATION
.3094E-03
ITERATION
.2412E-03
ITERATION
.2207E-03
ITERATION
.1816E-03
ITERATION
ITERATION
.1605E-03
ITERATION
.1526E-03
.1437E-03
ITERATION
.1418E-03
ITERATION
.1396E-03
ITERATION
.1373E-03
ITERATION
o1368E-03
ITERATION
.13667E-03
X<
X<
X<
X<
X<
X<
X<
1>=
2>=
3>=
4>=
51=
6>=
7>=
NO.
NO.
NO.
NO.
NO,
NO,
NO.
NO.
NO,
NO,
NO.
NO,
NO.
NO.
NO,
NO,
NO,
NO.
NO.
NO,
NO.
NO.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
NO OF ITERATIONS= 23
IER= 0
NO OF FUNCT EVALUATIONS=
G< 7>= -.13068070E-01
NO •
~~~
= .48476131E-03
G< 2 >= .22409965E-03
.59028992E-03
G< 3 >=
G< 4 > = .66624764E-03
G < 5 >= -· . 86597881 [ -03
.11979773E-02
G< 6 > =
G! 7>= -.77854236E-03
.35930987E+OO
.93806486E+OO
.80905145E+OO
.51227601E+OO
.78073316E+OO
.88877459E+OO
.44060326E+OO
G< 1 >
SYNTHESIS OF DIGITAL FILTER WITH SPEC. MAGNITUDE AND/OR GROUP DELAY
THE ERROR CRITERION USED IS MINIMUM 2 FOR THE MAGNITUDE AND
MINIMUM 0 FOR THE GROUP DELAY
F=
.13667E-03
IEF>= 0
NO OF ITERATIONS= 51
NO OF FUNCT EVALUATIONS= 222
COMPUTED ARG. VECTOR AND GRADIENT
X<
X<
XC
X<
X(
X(
X(
1);
:~)
=
3)=
4)=
5>=
6)=
7>=
, 8~~.830987E+OO
,93806486E+OO
• 0<19051 45E+OO
.5t227601E+OO
,78073316E+OO
.88877459E+OO
. 440603:~6E+OO
z
G(
.48476l3l.E-03
.22409965E-03
.590:::'8992E-03
G < 3>=
.66624764E-03
G< 4)=
G< ~:;) = -.86597881E-03
G ( 6)=
. 11979773E-o:~
G< 7)= -.77854236E-03
1);
G < 2>=
PLANE ZEROS
(Figure 5.2, Continued)
40
ANGLE/2F'UFS
RADIUS
.lOOOOOOOE+Ol
.tOOOOOOOE+Ol
.3437239~E+Ol
.37522595E+Ol
Z F'UINE POLES
I'INGLE/2F'I*FS
RI'IDIUS
.32362058E+01
.31229326E+01
CONST=
.51227601E+OO
.88877459E+OO
.44060326E+OO
NUMERATOR COEFFICIENTS
A1
1'10
• 1 OOOOOOOE +0 1
.10000000E+01
.18078036[+01
.19622599E+01
.lOOOOOOOE+Ol
.1000.0000E+01
DENOMINATOR COEFFICIENTS
BO
B1
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
:s4566720E+OO
.13722313E+01
(Figure 5.2, Continued)
B2
.26::!42671E+OO
.78992028E+OO
41
FREQUENCY RF:SF'ONSE
FREQUENCY
.OOOOE+OO
.lOOOEtOO
.2000E+OO
.3000E+OO
.4000Et00
.5000E+OO
.6000E+OO
.7000Et00
.8000Et00
.9000Et00
.lOOOE+Ol
.llOOE+Ol
• 1 :!OOE+O 1
.1300Et01
.1400Et01
.1500E+Ol
.1600E+Ol
, 1700E+O 1
.1800Et01
~1900E+01
• ~.~OOOE+Ol
.2100E+Ol
.2200E+Ol
MAGNITUDE
.997:!2E+OO
.99725E+OO
.99732E+OO
.99745E+OO
.99762E+OO
,99784E+OO
.99811E+OO
.99843E+OO
,99879E+OO
.99920E+OO
.99964E+OO
.10001E+Ol
.10006E+Ol
.10011E+Ol
.10017E+Ol
.10022E+Ol
.10027E+Ol
.10031E+Ol
.10033E+Ol
.10035E+Ol
.l0034E+Ol
.10029E+Ol
.10021E+Ol
LOSS IN
F'HASE
[IB
.24149E-Ol
.:?3933E-Ol
,QQOOOE+OO
-.32716E-Ol
.:~3~85E-Ol
-.65~j49E-Ol
.2::?07E-Ol
.20700E-Ol
.18769E-Ol
.l64:!l.E-0.1
.13664E-01
.10514E-Ol
.69929E-02
.31316E-02
-.to:51E-o:
-.54148E-o:
-,99514E-02
-.14517E-Ol
-.18954E-Ol
-.23050E-01
-.26525E-01
-,29017E-Ol
-.30068E-01
-. 29115[-·()l
-.25507E-0.1
-.18577E-C>l
-.98615E-Ol
-.13204E+OO
-.16594E+OO
-.20046Et00
-.23573E+OO
-.27192E+OO
-.30919E+OO
-.34773E+OO
-.38775Et00
-.42949E+OO
-.47322E+OO
-.519:!4E+OO
-.56792E+OO
-.61969Et00
-.67503E+OO
-,73455E+OO
-.79896E+OO
-.86914E+OO
-.94617E+OO
-.10314Et01
(Figure 5.2, Continued)
GROUF' DELAY
.41631E+OO
.41705E+OO
. 419~~7E+OO
.42301Et00
.42833Et00
.43529E+OO
.44401Et00
,45461E+OO
.46728Et00
.48221E+OO
.49966Et00
.51995E+OO
.54346E+OO
.57065E+OO
.60209E+OO
.63849E+OO
.68072E+OO
.72987E+OQ
.78732E+OO
.85480E+OO
.93460[+00
.10298E+Ol
.11444E+Ol
42
.2300E+Ol
.10009E+Ol
-.78149E-02
-.11266E+Ol
.2400E+Ol
.99923E+OO
.67192E-02
-.12341E+01
.2:SOOE+01
.99729E+OO
.23555E-Ol
-.13571E+Ol
.2600E+Ol
-.15005E+Ol
.99561E+OO
.38222E-01
,2700E+Ol
.14694E+Ol
.40793E-01
.99531E+OO
,2800E+01
.12547[+01
.99828E+OO
.14940E-01
,2900E+Ol
,96591E+OO
-.41319E-Ol
.10048E+01
,3000E+01
.63231E-01
.53242E+OO
.99275E+OO
.3100E+01
.16391E+01
- .15256E+OO
.82803E+OO
.3200E+01
.42460[+00
,74405E+01
-.93577E+OO
.3300E+01
.13670E+OO
.17285E+02
- .14908E+01
.3400E+Ol
.19400E-01
.34244E+02
• 12806E+01
.3500E+01
.16121E-01
.35852E+02
.10000E+Ol
,3600E+01
.l7612E-01
.35084E+02
.76499E+OO
.3700E+O.t
.67928E-02
.43359E+02
.55599E+OO
.3800E+Ol
.44bb7E+02
.58431E-02
.36290E+OO
,3900E+Ol
. 1 7923E+OO
.15049E-01
.36450E+02
,4000E+01
.1B359E-01
.34723E+O:'
.~450:!E-1:.
NUMBER OF POINTS OF FREQUENCY RESPONSE
? 45
FREQUENCY SCALING O=RADIANS/SAMF'LE,1=CYCLES/SAMPLE
?
1
ENTEr; LOWEF; FRECHJENCY LIMIT ( CYCLES/~-:AMF'LE)
?
o.o
ENTER UF·F·n; FREQUENCY LIMIT <CYCL.ES/SAMF'L.E)
?
o.5
DO YOU WANT TO PLOT MAG. US. FREQ.,YES=1,ND=O
?
1
SF'ECIFY TI-lE F\ANGE OF MAGNITUDE YDLI WI\NT TO F'LOT
UF'F'EF; LIMIT
? 1.0
LOWER LIMIT
(Figure 5.2, Continued)
.12845E+01
.14591[+01
.16832E+Ol
.1984-:'E+Ol
.24177E+01
.31114E+Ol
• 4384::>E+01
.69388E+01
.10252E+02
.87494F+Ol
.56227E+Ol
.40070E+Ol
.32249E+01
.27990E+Ol
.25435E+Ol
.23070[+01
. :?3005E Hl 1
.22727[101
,••• ''.' •• '' ,, '''' ''''' '' •• '' '''''''''''-f..'.'.' -f.IJ.' '''' '' ''.''' •• ''. ''''''.'. ,,,, ••• ,,, •,, ' ••••••••• '' '''''' ''' ............''*' ••••
1\ttf·LITUC•E
''' '*''' *'' **'' ''' •n '*' **' *'' '* *' '* *' '' '' ''' ''' o:' ' ' ' ' ' ' ' **** *'' **''''' ***'' **'''' ***''' '''' **'**** *** *** ***' '*** ** ******* ******* *
FRQ
GAIN
.oo
.OOOOOOOEtOO
.IIJ6JHE-Oi
• :!27:!:7:!:7£-01
• H09091E-01
I 4:i454!.!.E-OI
• ~6B!BIBE-Ol
.681818:!£-01
. 79~4S4:0£-01
, 9090909E-Ol
• 1 0:?2727Et00
.1136364Etoo
.1250000Et00
,1363636Et00
,1477273EtOO
, 1 :i90909E tOO
,1704:i4SEtOO
,IBIBIB~EtOO
,1931BIBEtOO
, 204545SEt00
,21~9091Et00
• 2272727£+00
,2JS&J64Et00
.2500000Et00
,261J636Et00
,2727:!73Et00
. :2840909£ tOO
, 29:.4!.4SEiOO
.3068182Et00
,JIBIBIBEtOO
, J29:i4~SEt00
• H09091E tOO
• JS22727Et00
• 3036J6<Et00
, 37S0000Et00
, 3B&J636Et00
• J977273Et00
, 4090909Et00
• 4204:i4!iEtOO
.4J181B:!Et00
, 4431BI8Et00
, 454S4=>:;E tOO
,46:i9091EtOO
.4772727£+00
, 4086364Et00
, SOOOOOOE tOO
.:!5
.so
. 75
1.00
--- ------------------------
I 997:!240Et00 I
.997244:iEtOO .
~99730S9Et00 •
.99740B3Etoo.
,997S!.14EtOO •
, 9977349E tOO,
0 9979~8~£ i 00 I
,9982:!14EtOO,
,99BS2:?BEtoo •
,99SB611EtOO,
,9992344EtOO.
, 9996399Et00,
,IOOOOOOEtOI.
,IOOOOOOEtOI.
,IOOOOOOEtOI •
• IOOOOOOEIOI.
.IOOOOOOEtOI,
,IOOOOOOEtOI,
,IOOOOOOEtOI,
,IOOOOOOEIOI,
,IOOOOOOEtOI,
,IOOOOOOEtOI,
, I OOOOOOEt 0 I ,
,IOOOOOOEtOI.
,IOOOOOOEtOI.
,IOOOOOOEtOI •
,999BB04EtOO.
,9981827EtOO,
,996446SEtoo.
, 99:S:!574Et00.
,99S7143EtOO,
, $1993020£ tOO,
,IOOOOOOEtOI.
.9927491EtOO.
, B:i=>S6S9E. 00,
,49B9JJ1EtOO.
,1941Bl0EtOO •
. 487=>098£-01 .
,6199731£-0::?.J
,J9JJ719£-0lo I
t 1<439299£-0lo.
, 3:?3893"'£-0:H
• 787::!=>87£-02.'
.1~61:i::!7E-Ol.
.t83:i926E-Ot.
••
..•
I
*
Figure 3. ::l
Magnitude Versus Frequency Plotted on the Printer, Example 1
~
w
44
..
..
..
.
.
..
..
..
.
.
..
..
.
..
..
..
.
..:
.
0
%
0
0
................
0
••••••••
0
0
0
•
•
•
•
•
•
•
•
•
0.
0
••••
0
0
""
.
.:
.:
.. .:
"'
:
:
:
.
..
0..
E
0
0
.
:!:
•O
:
•O
:::
......,
•C
•w
g
%
<
0
ll
~
:::
•
0
••
0
0
0
•••
0
••
0
••
---------NN~OOOO
~?~?~~?~~?~~~~~~
wwwwwwwwwwwwwwww
r•~~--m~~m~~~oooo
,.,.,,..,11.,,...o,.,-o--ooooo
~~-o•-oo~om..,•oooo
"" 'CII l"t "" Ooo Oo '1 'CII •
""' N CD 0 0
0
0
-o-•nr•-oro. •moo.I()NOOOO
..
,.,,.,N_O'o~I1NCD'CII-OOOO
~~~~~~~~~~~~~~~~
o--------ooooooo
~~~~?~?~?~~~~22~
~wwwwwwwwwwwwwww
~
~
ro
X
"'"~
..
.
-
-::
-
:
:
.
.
..
..
...:
a.;
-l
....
(])
....,
=
.....,
$-.
;::1.
a.;
.
.
<
.
.
.
..:
-l
.
..
. .::
!
..:
.
:
:
."'
········-························· ..••.••••••
o,..""' _.., m r~ '""~ o-""' • o .0,.,0.1('1
o -or~ o- '"~- m ... or.. -a o,.,""' o •
o~""'o ... m-~o-""'Mo.or..o-~
0
-o
C"l Oo .., -
!D .. 0
,. .... 0
,., "
0
0M""'O•m-l('lo-NM~-o0""'0.0
o-N•~..omo-oo-«M•~"
~~~~~~~~~~~~~~~~
00000
00000
WIWWWW
00000
00000
00000
00000
ooooo
00000
~~~'!~
0000
~~2~
wwww
~~~~
_,... ... ,..
o- 0 _,..
0 0 0 ... -
-
-
-
... 0
~~~~~~~c;-~~c;>~~
WWWWWWWWWWW\o.JW
0
0
0
0
0
0
~
.<) . . . . . .
"
,.., -
,.
«< ~l 0 • - , . ,
o- 1'1 0 0 .., .,
oooo-o-o-•ooooo o o m o- no- o
0
0
,., ,._ 0. N
0
•1
o - • o-
,..., .0 0
r1 tO M
oooono-"oo,.,Mo
ooo--,.,•~"~-oo-o--o
...
0.
000
000
.
www
~~
~~0
..
.Ot40.
_,...,
~~o
..
~m
1"1 ('f C'l
0
••
0
••
0
••
000000000
~~~~~~~~~
wwwwwwwww
~~:~;~:g~~
-all .. 0",.., o.o r•
o-r• -o o,..,""'
(Do- 0 ,., ~ ~'}...,""'
!D .... .-.
..0
o .... n ... l(l.o,...mo-
"""'"',.,,.,"",..,..,,.,
.........
"0
r•r•riNI"'I
00000
w
WWI.oiWW
-
~
""'CD.O•l-
-o-o-.oo
~ ~H~~
:.:..
=~
ww
w
•Z
co
:=-
~"
~
~
~
::-.
0
.....,
c.:
0..
:::;
·r-'
;:::..,
'"""'
C)
:::
(!)
cr
Q)
....
'"({J
""'
:::;
rr:
CQ
"d
-~
w
0
(!)
....,
....,
•O
0
0
co
C.'
"C
>
·=
:""
oo
m~
Ln
•w
•<
•=>
00
" _,
" _,
=
0
~
..,
. .,
0
0
m"
.c
....,
•<
.•g:s
....
(!)
=
=
ro
...;
·.-i
'-'
" " ' ' I U l I U I I I I f I I I I I Iff I I I I U I I I I I I I I I I I I I I I I I . . . . I I I f I I I I f I I I I I l l I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I f I I I I U I I I I I I I f I I l l I f I I 11111111
f'u.-.sE
I U I U l t I I I I t l l l l l t l l f l l f f I U I I t I f I f t t1 I I I I I I I I I I I I I 11 I f 1 I I I l l I I I I I I I I I I I I I I I I I I I I I I I I I l l I I I I I I I l l 1111 I l l I I I I I I f I I I l l l t f l l f l t l l l l I
Ff.IEQ
f'ttiiSE
-2.00
0000000[ t 00
II J ]6364[ -01
• '2272727£-01
,34090Uf-Ol
I
I
4::54~4:.~[-01
.::5681818[-01
1681818::!£-01
I
79:54:.4~£-0J
• 9091)909£-0l
ol0:!27;!7ft00
llll6l04£t00
1 12:50000£ tOO
,1 J4l6l6E tOO
tl41721l£t00
,J:i90909£ tOO
,J704~4:.E tOO
.181818~£ tOO
119J1B1i(f0Q
, 204:H:.:£ tOO
:21:59091 [tOO
• 2272727£t00
,2J66JHEtOO
• 2:00000£t00
,261l6H£t00
1272727l£t00
2840909[ 100
• 29::54:4!£ tOO
,J068Ui:!EtOO
• 3181S18£t00
,329:.-t:I!E tOO
,3409091[100
,3::522727£ tOO
,]636J6-t£t00
• J7:50000£t00
I
I
~J86Hl6£t00
,J97727l£t00
,-tototou·too
.<t:204:5-t:5(t00
.4llSU:!£t00
... 431818£ t 00
··~•:t::E
tOO
d6:i9091£tOO
,<t71:2727£t00
t'48ii6l64£ tOO
, :5000000£ tOO
-I
.oo
.00
-.89:067~:!£-01.
-,9JBB~lOEtOO.
-.101:i:!26[t01,
- .1099:1:!8£ t01 •
-.&Ull89[t01.
-.1:?98980£t01 •
-.&419J4:.£t01.
- ,l!i!9049f tO I,
ol4l6021£t01,
.l2090:56£t0l.
,9]40.137Et00 •
.:l,l:!4UO£t00,
-.799897':.£-01.
-.806:2827£t00.
-.IJ63l41EtCl •
.U012l4Et01 •
oll20l29£t01o
o8890420£tOO,
.6B6627:!£tOO.
.~0:?066 ... £100.
.3:!89!80£ tOO •
.oo
2.00
....
• 0000000£ t 00.
- 12973914[-01.
-.::59:.6~48£-01.
-.1198347(100.
-.1:t0Ull£100.
-.181:04:51£tOO.
-.2lll896(t00 •
-.2-t::.:.o:.6Etoo.
-.27'86t2:EtOO.
-.31:?640![100.
-.34173:!8[t00.
-,38"0478EtOO.
-.42l7627£t00.
-.4410i'66EtOO.
-.:i0221::.7£t00.
-.!i ... :i4JBOEtOO.
-.!i9l040UtOO,
-.6J93676[t00.
-.69082ll£t00 •
-.i' ... :87:10Et00.
-.eo:.o9ll£too •
-,8691Hlft00.
l
'
'
''
''
''
•
'
'
•
.
•
.U~617!EtOO.
-.77960::59[-14.
Figure 5.5
Phase Versus Frequency Plotted on the Printer,
!•;y~r'Jf)le
1
~
CJl
......................................................................................................................,,,,,,,,,,,,
GfiOUf' l1£ fil I& Y
fiiiU II I I II U lUI I IIIII Ill I II I 1111 I I II I I f I Itt IIIII I n " II II I I II I l l l f l I Ul lit t i l I I I I I UIU I It 1111 I II II Ulll I 111111111 II IIIUIIIIII
l:ifiDUP llfll'll
ff;[Q
.oo
,OOOOOOO£t00
• 1136]64£-0l
• 2~72727[-01
,]409091£-0l
• 4:i4:0'l:i!.E-OI
,:5681818£-01
.681811l~t,:-01
, 4578:037£ tOO •
.469Bl:iHtOO.
, 4836862£ tOO,
, 4996620£ tOO •
, :a 79802£ tOO,
,:5J8924t.Et00 •
• :062Bl:07EtOO.
,:0901229£tOO.
o&S181S~EIOO
.621~802£t00.
.l9l1818EIOO
.204:04:0:0£t00
,21::.i091EtOO
.2272727Et00
, 2leit.l64£ tOO
• ~:.oooo~JE too
,261Hl6Et00
.2nn7J£too
,2840909£ tOO
, 29:54:04!.£ tOO
, 4:06906:0£ I 00,
.69nlUEtOO.
,74U:02l£t00.
,79S7794Et00.
.&61:i0:07Et00 •
• 9JU0~6Et00 •
.J29:04~:£t00
ol109091[t00
, 3~2~727£ tOO
• J6l4l44ft00
,J7~0000[t00
• J80l6l6Et00
,J977273Et00
, 4090909£ tOO
o1204:i4~[ tOO
B.~:,
11.00
.421B40~Et00.
• 79:04:04:0£-01
• 9090909[-01
,l022727EtOQ
.ssl6U4£too
• 12:00000£100
oll6l6HEtOO
oi47J27l[f00
, l :590909[ I 00
.1704,4:.£ tOO
,J00818~fi00
:..:;o
o4Ull~6Et00 •
• 4U9219£t00 •
.tiB7:i72£tOO •
.4262077£100 •
.4319l27Et00.
, 4390~:04£ tOO,
,J181818Et00
;! • 7:.
.44761~4£100.
••
.10~0368£101.
ol12aB6JEt01,
.1243314£101.
.aHOBJJEtOl •
• 1:PJ844Et01,
' 1608080[ t 01 •
• 2122004Et0l,
1 .~:7~647£tOI.
,328~'207[ t01.
.4:0!.0203Et0l •
,693&610Et01.
10068 I :.E t 02 •
.93?6652Et01.
,6JlBUOEt01,
o44:08J70£t01,
I
.1JUUB~EtOO
.3:.17):0~[101.
.tU1818£t00
• 4~1::..:.:.£ tOO
,U:09091EtOO
• 47?2727Et00
.1886364£tOO
• :.ooooooE too
,J002lt.B£ tO I,
.2691:010£t01.
.219269:0£t01 •
.2J66:il~ft01 •
.2~9~673Et01 •
.22727JB£t01.
....
Figure 5.G
Group Delay Versus Frequency Plotted on the Printer, Example 1
*"'O"l
47
c
0
"C....,
<J.)
,_,
(!)
~.....,
__,0 0..
c
0..
c;j
X
>.W
u
<J.)
::::
I
',
IL,.,j"c./l
:_.
. ..;
t.:
G'+-'
GJ+-'
:.... 0
~_,
0..
I 0-'
i
1
I
J~
,-
>-
u
(f)
:=o..
..:o
r;;
ro
I
"CC
1~ .
!0
...-4
(j)<f,
...,::::l
......
c:
bJl
c;j
7
......
""
< .,
.'
r· .: :,
M.:.c;rj: T i_;c)':_:
~··
<llv
>I
!
c:'
:....
<J.)
48
<->
"'
\
c
.,
"T
Q.'
C1
.r::.
+-'
~
'c~
-'
.,..,
..
·.~
(">
0
<'
<>
"
----------.-·-
-;; '"/j
·-----.,-----~-----r--------r--------r
'., r;r,
~~
--;r,
f)(J
r
f. [
•:r,
1!
i 'I
·16 ':,r,
f) !i
'iC: ~f)
-----
r :._
C/,
\I
49
..
./
//[:
n
-·
----~
---{~-=--->~·
t:
C-i
"C (])
-
<J.)-i
I~
r~
/
i
1:':~
I
--,.-I
,11
+->0..
-~--' E
0
~
-i ><:
O..t::::
•f
~1
r----
C.
~;r,
n
0
"'
0
0
()
0
n
,1J '"
·~n
l
--:J
"
CJ
r;;
r
:.::-
_,(._)
()
n
0
C)
0
..,.,-------r---
. o. ')0
0
0
0
')~
--.-----r--------.0
II
0.17
0.~2
Q.2o
0.33
-----,----.,-----...
'l 3J
Q
44
O.'JO
CYCLl. S/ SMIPL F
Fjgure 5.10
Group Delay Versus Frequency Plotted on the
CAL-C011P Plotter, Example 1
CJ1
0
51
indices of approximation is 1.
delay and 0 for magnitude.
It equals 2 for group
The program converged after
15 iterations and 61 function evaluations.
The output of
the computer program is similar to example 1.
Figure 5.11 lists the user prompts and the input
parameters.
program.
Figure 5.12 lists the output of the computer
Figures 5.13 through 5.20 give the plots
pertaining to this example.
5.3
Example 3
This example illustrates the approximation of the
ideal differentiator.
mation only.
This example is a magnitude approxi-
The magnitude is to approximate 1 in the
interval 0 to 1.
The initial approximation is given as 2
real zeros, specified by the input parameters 1.0 and
0.0, and 2 real poles, specified by the input parameters
0.4 and -0.4.
There is only one interval from 0 to 1.
Three successive indices of approximation are specified
in this example.
They equal 2.4 and 10 for magnitude
and zeros for group delay.
The program converged after
19 iterations and 70 function evaluations.
Figures 5.21
through 5.30 give the input parameters, program output
and the plots respectively.
5.4
Example 4
This example illustrates the approximation of the
group delay, using an all pass filter of order 8.
initial approximation is given as 4 complex poles
The
52
NUMBER OF REIIL ZEROS
?
.. 0
NUMBER OF ZEROS ON UNIT CIRCLE
?
0
NUMBER OF COMPLEX ZEROS
?
.
.
0
NUMBER OF REI\L POLES
., 0
NUMBER OF COMPLEX POLES
?
?
?
:5
liNGLE OF COMPLEX POLE NO. 1
'i'
0.5
Rl\(1 I US OF COMPLEX POLE NO.
?
liNGLE OF COMPLEX POLE NO.
7
1
0.8
~
1. 0
RIIDIUS OF COMPLEX POLE NO.
~
., o.a
1\NGLF OF COMPLEX POLE NO. J
?
1.5
RIIDIUS OF COMPLEX POLE NO. 3
., O.[J
liNGLE OF
?
COM~LEX
POLE NO. 4
2.0
RIIDIUS OF COMPLEX POLE NO. 4
., o.o
liNGLE OF COMPLEX POLE NO.
~
RIIDIUS OF COMPLEX POLE NO.
~
.. 0.8
VIILUE OF TIIUO
?
7
o.o
NUMBER OF INTERVALS
'i'
7
1
NUM~ER
OF POINTS ON INTEHVIIL
... 41
SPliCING OF POINTS ON
?
TH~
INT[RVIIL
~
F:EL II T! 1JE WE!GHTIIH; roF: MIIGNI1 UPE F Of; !NTU<VIIL
?
0.
hELr' T IVE WEIGHTING roF: Gf<OLW
?
]If·
LilY FOR I NTERVIIL
l •0
I NG
.,ST IIF<T
\J. 0
POINT
OF
THE 1\PF'f;(IX J MilT I ON I NTFf<VIIl.
~·;Tf,F\TING
F·oun
or
1 HE
?
.,
l
(J
.:; •
Mf·H:[JXIMIITION I NT[f;VI\L :
1
NUMBER OF SUCCESSIVL INnJCES OF 1\PF'hOXIMIIT!ON
7
1
SUCCESSIVE IN[IICES OF IIPPF:OX.
FOR MIIGNITU[IE FOR INniCES NO. 1
?
0
SUCCESSIVE INDICES OF 1\F'PROX.
Figure 5.11
User llespons.e and Input Data, Example 2
53
FOR GROUP DEL~Y FOR INDICES NO. 1
? 2
NUMBER OF TOT~L CYCLES IF NO CONVERGENCE
?
LOWER FREQUENCY LIMIT FOR THE FREQUENCY RESPONSE
?
?
?
?
o.o
UPPER FREQUENCY LIMIT FOR THE FREQUENCY RESDPONCE
4.0
S~MPLING FREQUENCY ?
8.0
NUMBER OF POINTS OF THE FREQUENCY RESPONCE 7
?
?
?
?
o.o
WEIGHTING OF THE
M~GNITUDE
7
LOGICAL F'~RI'IMETER FOR TYPE OF OUTF'Ul ?
T
LOGICAL F'AF~I'IMETEF: FOR DEBI.IGGlNG F·RINTOLJT ?
F
LOGICI'IL F'AkiiMETER FOR VE!<UGGING F·F:INTOLJl FROM FMFF'
F
VI'ILUE OF CONSTIINT MULTIPLE CONTO ?
0.4054801E+OO
NUMBER OF CI'ISCI'IDES 7
VALUES OF COEFFICIENTS
1'10 <I> FOF: 1 = l
?
Q.1000000E+01
lll<I> FOr..; I= 1
7
0.180805~E+01
FOF: I= 1
0.1000000E+01
Bl<ll FOR I= 1
?
0.7::?~1175E+OO
B2<1J FOF: I= 1
?
0.~360188E+OO
1'10 ( I > FOF: T~ ::
'~ •). ). OOOOOOE +0 J
1'11<Il FOF: I~ :C
?
0.1963544[+01
1\~ < I l
FOF: t = :C
?
O.lOOOOOOE+Ol
!:< 1 < I > FOF: I= :C
?
O.l344155E+Ol
B:C<I> FOF: I= 2
?
?
IIO<IJ,I'Il<t>,A~<I>,B1(Il,B~<I>
A~(Il
7
?
41
REL~TIVE
?
7
0.800::?7~9E+OO
FILE ROUTING OPTIONS
RUN THE MAIN PROGRI'IM ONLY.
PLOT THE RESULTS ON THE PRINTER
PLOT THE RESULTS ON THE PLOTTER.
(Figure 5.11,
Con~inued)
?
54
1
TO
F=
.23540251£+02
.46328E+01
NO OF FUNCT
INITI~L
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
F=
~RG,
IERc 0
EV~LU~TIONS=
VECTOR
~ND
NO OF
2
GR~DIENT
X< 1>= .12500000Et00
X< 2 ) :
o80000000Et00
X< 3>= .25000000Et00
X( 4>=
.80000000E+OO
X( 5>=
.37500000Et00
X( 6>=
.80000000E+OO
X( 7l=
.50000000E+OO
X( 8>=
.80000000E+OO
X( 9)=
.62500000Et00
X<lOl=
.SOOOOOOOE+OO
X<11l=
.23540251Et02
.4633E+01
ITER~TION
.1453E+01
ITER~TION
.1027E+01
ITER~TION
.9522E+OO
ITER~TION
.9090Et00
ITERATION
.8530Et00
ITER~TION
.8498£+00
ITER~TION
.8458£+00
ITER~TION
.8437Et00
ITER~TION
.9253£+00
ITER~TION
.7907£+00
ITER~TION
.7892E+OO
ITER~TION
.7771Et00
ITER~TION
.7758E+OO
ITER~TION
.7757Et00
ITERATION
.77572Et00
NO OF FUNCT
X(
NO OF
EV~LU~TIONS=
1>=
X< 2>=
X< 3>=
X< 4>=
X ( 5>=
X ( 6)=
X< 7>=
x·< 8>=
X(
9)
=
X<10l=
X<lll=
SYNTHESIS OF
G( 1 >=
,65278472E+O
2)= .41243386Et0
G< 3>= .22710616Et0
.12409679£+0
G< 4 l=
G< 5>= .55761485Et0
G< 6>= .13062504E+O
G< 7>= -.14036452E+O
G< 8>=
.15493841E+O
G( 9>= -.68205075E+O
G(lOl=
.45851648E+O
G<l1>= -.36259884E-l
NO.
NO.
2
NO.
3
NO.
4
NO.
5
NO.
6
NO.
7
NO.
8
NO.
9
NO. 10
NO. 11
NO. 12
NO. 13
NO. 14
NO. 15
G(
15
ITER~TIONS=
61
.69933770E-01
.74193037Et00
.21491183E+OO
.74735573Et00
.35961331Et00
.75370231Et00
.50457535Et00
.76477753E+OO
.65060337Et00
.78936779Et00
.23742205Et02
DIGIT~L
0
ITER~TIONS=
FILTER WITH SPEC.
G< ll=
G< 2l=
G< 3>=
G< 4 >=
G< 5>=
G< 6l=
G< 7>=
G< 8>=
G< 9l=
G<10l=
G < 11 l =
-.15878953E-02
.72697668E-04
.18301603E-02
-.46726236£-03
-.99961046E-03
.95118686E-04
.66161097E-03
.27324223E-03
-.52524464E-04
.12658199E-03
-.38423295E-05
M~GNITUDE
~ND/OR
THE ERROR CRITERION USED IS MINIMUM 0 FOR THE MAGNITUDE
Figure 5.12
Computer Output Listing, Example ?.
GROUP
~ND
DEL~Y
I
55
F=
,77572Et00
NO OF FUNCT
COMPUTED
IER= 0
EV~LUATIONS=
~RG,
NO OF ITERATIONS= 15
61
VECTOR AND GRADIENT
X< 1)=
X< 2>=
X< 3)o:
X< 4)=
X< 5>=
XC 6)=
X< 7)=
X< 8)=
XC 9)=
X<tO>=
X<lll=
.69933770E-01
.74193037E+OO
.21491183Et00
.74735573Et00
.35961331E+OO
.75370231Et00
.50457535Et00
.76477753Et00
.65060337Et00
.78936779Et00
.23742205E+O::?
1)= -.15878953E-02
.72697668E-04
2>=
.18301603E-02
3>=
4)= -. 4672623(..:: -03
5)= -.99961046E-03
G( 6)=
.95118686E-04
G< 7>= .66161097[-03
.273242:.:?3[-03
G< 8)=
G< 9)= -.5::?524464E-04
G<lO>=
.t2658199E-03
G <11 >= -.38423295E-05
G<
G<
G<
G<
G<
z PLANE ZEROS
ANGLE/2F'UFS
RADIUS
.2797350BEtOO
,85964733E+OO
.t4384533E+Ol
.20183014E+Ol
. 26024135E+Ol
.13478354Et01
.t3380509Et01
.13::?67838E+Ol
.13075698E+Ol
.12668366Et01 .
Z f'LANE POLES
r'INGLE/2f'I*FS
RADIUS
.27973508Et00
.85964733E+OO
.l4384533E+Ol
.20183014Et01
.26024135Et01
CONST=
,74193037E+OO
.74735573E+OO
.75370231E+OO
.76477753Et00
• 7B936779E+oo·
.25809483E-01
NUMERATOR COEFFICIENTS
1'10
.tOOOOOOOE+01
.10000000Et01
.lOOOOOOOE.+Ol
.lOOOOOOOE+Ol
.tOOOOOOOEtOl
.lOOOOOOOE+Ol
.tOOOOOOOE+Ol
I'll
-.26308726Et01
-.20889746Et01
-.113::?7501E+Ol
.37588398E-01
.11545407Et01
.18080520Et01
.19635440E+Ol
DENOMINr'ITOR COEFFICIENTS
(Figure 5.12, Continued)
.18166602E+Ol
.1790380::?E+01
,17603552E+Ol
.17097388Et01
.16048749Et01
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
'
56
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.55046068E+OO
.55854059E+OO
.56806717Et00
.58488467E+OO
.62310151Et00
.23601880E+OO
.80027290E+OO
-.14481919E+Ol
-.11667771E+Ol
-.64347812E+OO
.21984878E-Ol
.71939605E+OO
.72211750E+OO
.13441550Et01
1
FREQUENCY RESPONSE
FREQUENCY
.OOOOE+OO
.lOOOE+OO
.2000E+OO
.3000E+OO
.4000E+OO
.:SOOOE+OO
.6000E+OO
.7000E+OO
.8000E+OO
.9000E+OO
,JOOOE+Ol
.llOOE+Ol
.1200Et01
.1300Et01
.1400E+Ol
.1500E+Ol
.1600Et01
.1700E+Ol
.1800E+01
.1900E+Ol
.2000E+Ol
.2100E+Ol
.2200E+Ol
.2300E+Ol
.2400£+01
.2500E+Ol
.2600E+Ol
.2700E+Ol
.2800E+Ol
.2900E+Ol
.3000E+Ol
.3100E+Ol
.3200E+Ol
.3300E+Ol
.3400E+Ol
.3500E+Ol
.3600E+Ol
.3700E+01
.3800E+01
.3900E+Ol
.4000E+Ol
Mt"'GNITUDE
,99397E+OO
.99402E+OO
.99418E+OO
.99445E+OO
.99483E+OO
.99532Et00
.99591E+OO
.99661E+OO
.99740E+OO
.99830E+OO
.99928E+OO
.10003E+Ol
.10015E+Ol
.10026Et01
.10038E+Ol
.10050Et01
.10060E+Ol
.10069E·~Ol
.10076£+01
.10079E+01
.10077E+01
.10068E+Ol
.10050E+01
.10023E+Ol
.99857£+00
.99424E+OO
,99038E+OO
,98939E+OO
,99536E+OO
.10098E+Ol
.98849Et00
.72063E+OO
.31031E+OO
.95332E-Ol
.13550E-01
.11106E-Ol
.12283E-Ol
.49781E-02
.35983E-02
.98545E-02
.12105E-Ol
PHI'ISE
GROUP DELAY
.OOOOOE+OO
- .10481E+Ol
.10184E+Ol
.13272E+O
.13483E+O
.13887E+O
.13998E+O
.13634E+O
.13182E+O
• 13098E+O
.13474Et0
.13948E+O
.13989E+O
.13537E+O
• 13100E+O
.13126E+O
.13612E+O
.14077E+O
.13972E+O
.13401E+O
• 12992E+O
.13169E+O
.13811Et0
. 14:!64E+O
.13945E+O
.13190E+O
.12807E+O
LOSS IN DB
.52569E-Ol
.52095E-Ol
.50674E-01
.48308E-01
.45000E-Ol
.40758E-Ol
.35593E-Ol
.29524E-Ol
·• 2~~82E-01
.14809E-01
.62712E-02
-.29374E-02
-.12684E-01
-.22783£-01
-. 3::''179E-Ol
-.42924E-01
-.52151E-Ol
-.60041E-01
-.65785E-Ol
-.68356E-Ol
-.66493E-01
-.58735E-Ol
-.43571E-Ol
-.19834E-Ol
.124:!4E-01
.50145E-Ol
.83919E-01
.92664E-Ol
.40426E-Ol
-.84676E-Ol
• 10056E+OO
.28458E+Ol
.10164E+02
.20415E+02
.37361E+02
.39089E+02
.38214E+02
.46059Et02
.48878E+02
.40127E+02
.38341E+02
-.799~1E-Ol
-.11673Et01
.92239E+OO
-.10635E+OO
-.11475E+Ol
.91600Et00
-.18501E+OO
-.12679Et01
.82966E+OO
-.19656Et00
-.l2446E+Ol
.80728E+OO
-.29866Et00
-.13747E+Ol
.73342E+OO
-·. 28977E+OO
-.13479E+Ol
.68729E+OO
-.42568E+OO
-.14914Et01
.63386E+OO
-.38313E+OO
-.14591E+Ol
.54186E+OO
-.58274E+OO
.15298E+Ol
.57264E+OO
-.44638Et00
.15006E+Ol
.45139E+OO
-.28369E+OO
-.84098E+OO
-.13067E+Ol
.14220E+Ol
.10425E+Ol
.68428E+OO
.33906E+OO
.46403E-13
(Figure 5.12, Continued)
.13~~7E+O
. 14197E+O
.14653E+O
• 13789E+O
• 12469E+O
.12194E+O
.14160E+O
.15321E+O
.11112E+O
.79653E+O
.63978£+0
.55386E+O
.50l38E+O
.46763E+O
.44624E+O
.43428E+O
.43043E+O
,, "'' ........................................... ''*''''''". "' ..................................................................
AMF'll IUl•E
................................................... u .............................................................................
r•a
CiA IN
• 00
• 0000000[ f 00
.&136364[-01
• ~~727~7£-01
,]409091[-01
• 4~4~4!.~£-01
o99)96~J[f00o
.99~08HEtOO.
o681818~[-01
·''~~7]4[100
o:!9~4:04::EtOO.
,J06B18~Et00
• ]181818Ef00
• 75
.9940072[100o
o99414;'0£too.
.9'14JU:.£too.
.9940804[100·
.~68&818£-01
• 79:i454~[-01
• 9090909£-01
.t022727[t00
• I ll6l64E tOO
• I :!50000£ 100
• t36l636EIOO
, I 417273£ tOO
•• ~90909[100
,1704545£ tOO
.1818182£100
ol9ll81BEIOO
, 204:045:.£ tOO
o2"909l£100
• 2272727[100
.2lB6l64EtOO
• ~:.oooooEtoo
.2613636£100
• ~727:!73£ tOO
o 2840909£ tOO
.:;o
• 2~
-------------------------
•
.9961:t08EIOO •
, 9968134£ tOO,
• 9'7:i:tS5E tOO,
• 99838~2£ I 00 •
• 9992785£ too •
.aooooooEtOI·
o I 000000£ t 0 l •
.IOOOOOOEtOI.
.lOOOOOOEIOio
.1000000£101.
oiOOOOOOEtOI.
.1000000£101 0
.1000000£101 •
olOOOOOOEtOI·
• I 000000£ t 0 I •
oiOOOOOO[IOio
,JOOOOOOEIOJ,
• I 000000£101.
ol000000£101o
,JOOOOOOEIOI.
of96240JEtOO.
.99~3~64£ too.
,J29!14:~Et00
.989~10~£tOQ.
ol409091EtOO
,J:522721'Et00
,J636l64Et00
• J7::0000[100
• J86l6l6Et00
I 3977273£ tOO
• 4090909EtOO
• 4204~45£100
o4l18182EIOO
,44liBIBEt00
• 454~4~5EtOO
, 46~9091Et00
• 471'272/'EtOO
, 4896364£ tOO
, 5000000£ tOO
.990t:naEtoo.
.
.997~tl:!.Etoo.
.t000000£101.
.9884894[100.
0 7:i89040[f00·
• 372344:;!£ too •
.1361367[100 •
.
1.00
..........
......
.
.
.Jl90167E~Ot.
.4198494[-0:;!t
.tl390JOE-Ot.t
• 101 :!04t£ ~ot. •
• 2567838( -02 •
.4971'143£-021
.t02J940[-0I.I
ol210:iOtE-Ol ••
Figure
!1.1:~
Magnitude Versus Frequency Plotted on the Printer, Example 2
CJl
"'!
58
..:
..
.
..:
..
..
.
:
:
0
••••••••••••••••••••••••••••••••••
..••.•.••..
<ll
~
c.
,...
"C':l
..
:
X
~
.
.
.
.
0
0
..,
.
.
;....
<ll
....,
c_
·r-i
h
0..
.:
.
.:
.
..
.
<>
.
.: " .
.
.:
:
.=:
.: "' .:
.. .::
.: .:
. ..
:
.: .:
..
.:
z
<
g
.
..,
•o
oO
:~
....
..,
=~
.: "...
.: ."'""
0
~
~
<
.
.
~~??~??~?~~
wwwwwwwwwww
OD>CDO(Io...0---~-.1
-r• r• o- o -o -o~ rt,..,
No--o-.a-••CDI",Nr"!
OOr"!-Gt'f-r"!Qoo.Nr"!..O
..or• o Or"! Uti().,,... r• o
NN-Oo..Ot'fCDI"'t,..__.,
ll'lnn•••..,..,NN-
"'
~
.......
0000000
~~~~~~~
WoiWWWWI.oiW
0000000
0000000
ooooooo
ooooooo
0000000
0000000
~~~~~~~
----oo ------·
~~~
o--- .......
~?~
::l
a;
.=
.
0
0
..
.:
.
C'~
.
:
:
:
:
:
..:
.
:~~
-r•l"'t
?~~~~~
WWWit,llll.lW
~~~~~:
~;~~~~
ooooooo
0000000
wwwwwww
-o,.,O.tlt'tCD'-1
~~~~~;~
CD -t"lO>NI"t
~~~;;~;;~
lf'l-o .....
~:!!:.!~~
-omo-oo-
0
0
00
00
0
00
00
00
... ......
g
g
0
0
0
gg
00
oo
00
oo
... ......
0
0
0
0
0
.,
"
0
."""'
.
0
0
""'
"
0
0
... ...
....,.. .,.""
..,"
..,~
0
... .....,
~0
~0
~"'
NN
--
r~ 1"1
rt r1
000000
WWWWWI.o.l
.-.CD Do CD ~1 0
..0 0 ""~1- { I
r•- o •1m •
-o-r•o-,..,-o
DoCDI'"tMIO•
,.,.,
. . . o-,...,..,
I"ICD-t'l.,,.,
00000
00000
WWWWIU
-o.-.o-.lr•
,.,,..,o
.. , m
..OI"t()o _
_
00
"
"0
0
t'lt"l
...
g~
:!~
.,.
,.,,..., 0
•
CD
..O"o-0CD DoOr!,.,
1"'},., ......
0
..,
~
g
0
0
..."
0
0
0
0
0
0
... ...
~
"
..,.,"
0
...... ...
. .,
~
:::
.:=-.,
......,
:·=..
~<
E~
.
=~
E~
.,
:~
•g
+-'
s:;
,_,_,
~
If':.
c
-c
....,~-'
+-'
Q)
:...
(.£
0
~
0.
.....
;;..,
c~
()
c
<ll
;::;
c
<ll
h
o:r..
cr.
u~
h
a;
>
cc
"d
c
·r-i
c
o:i
0
..................................................................................................................................
..................................................................................................................................
f·HI'ISE
f"~EQ
1'111\SE
-t.:.O
. 0000000£ tOO
.Jil6364£-01
.1::!7::n7E-OI
• ]409091£-01
• 4:i4:i4:i:OE-Ol
, ~68l81 BE -01
.6918l8~£-01
• 7954545£-01
• 9090909£-01
'102:!127£100
,J1J6l64Et00
, 12:iOOOOE tOO
.1 Hl6l6EtOO
• 141727JEtOO
• 1 :i90909[ t 00
• 110454:.£100
• 181BI82Et00
.1931818£100
• 204545:iE 100
• 2159091[100
.2272721[100
• 2J86364EtOO
, 2500000£ tOO
• 2613636[100
• 27~7273£ tOO
.~840909£100
• ~9:i4:i4:iEIOO
• 30&8182£ fOO
,JI81818Et00
• 3295455£ tOO
,]409091[100
• 3522727£100
,]636364£100
• 3750000£ tOO
,J86l636Et00
.3917273[100
, 4090909£ I 00
, 4~0454:iE tOO
• 4318182£100
.4431818[100
.454:i4:i::OEt00
, 4659091 E t 00
.4172727£100
• 4886]64£100
, :5000000£ tOO
, 0000000£ tOO,
-,95194l0EtOQ,
.t2162l~EIOI •
• 2:?02086[ 100 •
-.17:S4417EtOO.
oiJ96022£fQJ,
.4:iJ871!iEIOO •
-.4816218[100 •
-oi437649EIOI. 0
.'Jt64l52EIOO·
-,2848019£f00o
-,J267885[f0lo
.923281]£100 •
-.f4742l4E-02·
-,9~41~:i'IEtOO •
.1;!07722£101 •
, 2028865£ I 00 •
-, 'J9]47J:i[f00o
,JJB70BJEtOI •
, 4:i5JB08E tOO,
-.47B4BJBEtOO •
- .1446&9~£ tO I • 8
... &72'117Etoo •
-.J2:i8940EtOQ •
-,IJ02099Et0lo
.908424:£100 •
-.9li271~E-02 •
-. 7:i
• 00
.n
,,:;o
..
..
..
-.960340~EtOQ,
,JUBSJ!SE 101 •
, I :!536lJE I 00,
•
,IJ5302JEIOI.
.48:Sl2JJEtoo •
-, 4UJBl6EtOO.
-,l:SOOOOOEtOll
-.a74o~o2Etoo
,61:S764~EfOO.
-.106l187EIOO.
-.6:i19950EtOO •
- .IIOJ249Et01,
-.1499488Et011
.128089:i[t0l.
,f4J0509Et00 •
.620764JEtOO,
.]080788£100.
-.1476468£-13.
Figure 5.15
Phase Versus Frequency Plotted on the Printer, Example 2
CJl
(D
60
...
.
.
..
..
.
..
.: ..
.. ..
:
~
0
0
~
~
M
~
~
@
X
~
H
~
~
0
0
c
N
·~
H
.
..
:
~
~
.. .
.: ..
:
.
:
.
.
:
.
.:
:
~
-
~
0
~
:
:
:
:
:
:
.:
~
~
~
0
~
~
~
~
~
:
~
.
~
~
.
.:
~
·~
~
.
0
0
:
.
.
~
1~
~
0
~
~
~
u
c
~
ry
.
~
~
~
..
00
~
00
••••••••••••
0
••
0.
0
0
0.
0
0
0
0.
0
•••
0.
0.
0
0
••••••
0
•••
~NNr.NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN---------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.: .:
. ..
. ::
..
:
t
w~w~~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
r~-~~n~~o~•o~m~m~~·~~~~-•~-~·~-~~~·~NM~~•n~-~m
~O~•~n~~NOMMM~-~N•O~O~~-NMNOmNNOMM-mfl~M~MOmm"
-·-~~n--~~n~•••N•n-~•N••-•oo~-=-moo•nn-nmn-oN
~·N-O~m~-·~MN~~nOMO~~~~ONMm••mOO~~O-~MMOM~·~·
N•momno-~~~n-o••-~N~NmNonm•~n••nN-n•-n~~~onno
:
""".""""""""""""•"~Nnn••MNr•n••nNN•n-~mmNm~•nn
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
~
w
~
~
0
0
0
0
0
0
0
~
0
w
w
;
0
m
.
n
~
~
0
~
~
000000000000000000
~~~~~~~~~~~~~~~~~~
wwwwwwwwwwwwwwwwww
•o~~~~~m~-~·o~"~~N
~o~~o•m-~~N~O~~o•~
~O~N~~-m•O~"O~N~n-
~~~~~~~~~~~:g:~~~=
-~~·~~=~o-r'"~~~m~o
--------NN~NNNNNN~
0000000000000000
~~~~~~~~~~~~~~~~
wwwwwwwwwwwwwwww
~-~·o~~~n~m~-~•o
n~N-OM~o•m-~~N•o
•o~"o~~~~-m·o~"o
~~N-OM~O••-n~N-0
~o~"n~~~o-"•n~mo
~~~~~~~~~::~:~~~
~
~
>
~
ro
~
~
~
~
0
~
~
"'
c.>
0
"'"'
0
~
3<>
)>•
C)~
z
---<
c
.
Oo
rr. .
'"'
0
"..,
0
0
--·--,-----..----'J"
0
I I
0
I
7
0 22
,-
0.2b
-------,
o.JJ
r
O.J3
\..-----0.44
--
O.'lO
CYCLl'SISMlPLl"
Ftgure S .17
~.lagni
tude Versus Frequency Plotted on the
CAL-COMP Plotter, Example 2
OJ
I-'
o.oo
0
o
a~
o .• ,
a •'
CYCU'SISAMPLf
o.::2
o.~o
o.JJ
o.B
0.44
.o.~o
0
0
"'0
0
'"...
0
0
C)
>..:.
-:T>
zo
0
z
0'
OJ.;; I
~,
I
0·
'
3>
0
0
0
....
>)
0
0
.
m
Fjgure 5.1B
Gain in dB Versus Frequency Plotted on the
CAL-Cafi!P Plotter, Example ~
m
tv
•>
0
0
..
u
0
"U
'""'
:.r:
)>
Vlo
rr, ;,~
..,
0144
0.50
o,
-o
~~
Vl
~
ll~
.)>
.
u
•>'
0
0
Fli 1511re 5. 19
Phase Versus Frequency Plotted on the
CAL-COliP Plotter, Example 2
(J)
w
64
0
"'0
......
()
Q;
..::::
...,
'"
~
t::
c
0
"C
...,Q;C\]
~
...,
~
0
c
......;
I..O:..W
"--'
0~
<
(J)
r, '
(J)
q~
ci--'
u
>u
'-
=-~
ti:;
(J)
....
cc
.,....
-'
ii.
f~
r~
!o
lo
.s.co
14.00
i2.'JO
i :J.
s:J
s. -:::s
CROt.:P DEL.AY
~.co
4.00
2.
G'o
(J)
......;
c.
0.. E:
c;:;
:;:.., ~
UI:Li
:::
(J)
::l ;...
...,
...,
O'CJ
<l'
:....
~<;
0
......;
C!JO..
::::!
C!JO..
-·
'
....
(J)Q
>C
I
»...:l
ro<:
--;c..;
(J)
Q
0.
5
::...
·:..?
65
TYPE OF APPROXIMATION
~
!
?
1
NUMBER OF REAL ZEROS ?
2
NUMBER OF ZEROS ON UNIT CIRCLE ?
? 0
NUMBER OF COMF'LEX ZEROS ?
? 0
NUMBER OF REAL POLES ?
? 2
NUMBER OF COMPLEX POLES ?
?
0
RADIUS OF REAL ZERO NO. 1
?
1.0
RADIUS OF REAL ZERO NO. 2
?
o.o
RADIUS OF REAL POLE NO. 1
? 0.4
RADIUS OF REAL F'OLE NO. 2
?
-0.4
VALUE OF 1\0
?
?
1.0
NUMBER OF INTERVALS
?
?
1
NUMBER OF F'OINTS ON INTERVAL.
?
51
SPACING OF POINTS ON THE INTERVAL 1
? 2
RELATIVE WEIGHTING FOR MAGNITUDE FOR INTERVAL 1
?
1. 0
RELtHIVE WEIGHTING FOR GROUP DELI\Y
?
Fr:J~:
o.o
INTERVAL
STf'IRTING F'OINT OF THE 1\F'PROX I Mil TI ON INTERVAL 1
?
o.o
STARTING F'OINT OF THE AF'PROXIMIITION INTERVAL 2
?
1.0
NUMBER OF SUCCESSIVE INDICES OF 1\F'PROXIMATION
?
7
3
SUCCESSIVE INDICES OF APPROX.
FOR MAGNITUDE FOR INDICES NO.
? 2
SUCCESSIVE INDICES OF 1\PPROX.
FOR MAGNITUDE FOR INDICES NO. 2
?
4
SUCCESSIVE INDICES OF 1\PPROX.
FOR MAGNITUDE FOR INDICES NO. 3
?
10
SUCCESSIVE INDICES OF APPROX.
FOR GROUP DELAY FOR INDICES NO. 1
?
0
SUCCESSIVE INDICES OF APPROX.
FOR GROUP DELI\Y FOR INDICES NO. 2
Figure 5.21
User Response and Input Data, Example 3
66
? 0
SUCCESSIVE INDICES OF APPROX.
FOR GROUP DELAY FOR INDICES NO. 3
'? 0
NUMBER OF TOTAL CYCLES IF NO CONVERGENCE
?
'? 4
LOWER FREQUENCY LIMIT FOR THE FREQUENCY RESPONSE
'?
o.o
?
UPPER FREQUENCY LIMIT FOR THE FREQUENCY RESDPONCE
?
'? 1. 0
SAMPLING FREQUENCY
?
? 2.0
NUMBER OF POINTS OF THE FREQUENCY RESPONCE
?
'? 51
RELATIVE WEIGHTING OF THE MAGNITUDE
?
7
1.0
LOGICAL PARAMETER FOR TYPE OF OUTF'UT ?
T
LOGICAL PARAMETER FOR DEBUGGING PRINTOUT ?
?
F
LOGICAL PARAMETER FOR DEBUGGING PRINTOUT FROM FMFF'
?
F
?
FILE ROUTING OPTIONS
1. RUN THE MAIN PROGRAM ONLY.
2. PLOT THE RESULTS ON THE PRINTER ,
3. PLOT THE RESULTS ON THE PLOTTER.
· (Figure 5.21, Continued)
?
67
KO
F"'
.52651138E+OO
.17831E+OO
IER= 0
NO OF FUNCT EVALUATIONS=
NO OF ITERATIONS=
0
2
INITIAL ARG. VECTOR AND GRADIENT
X< 1 >= .lOOOOOOOE+Ol
2>=
.OOOOOOOOE+OO
X( 3>=
.40000000E+OO
X< 4)= -.40000000E+OO
X( 5>=
.5265113BE+OO
.t783E+OO
ITERATION
• 1783E+OO
ITERATION
.5179E-Ol
ITERATION
.3196E-Ol
ITERATION
.6629E-02
ITERATION
.3401E-O~
ITERATION
.1040E-03
ITERATION
.6366E-06
ITERATION
.1513E-08
ITERATION
X(
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
F=
.15683E-11
IER= 0
NO OF FUNCT EVALUATIONS=
OLDF
OLDF
OLDF
OLDF
OLDF
F=
OLDF
OLDF
OLDF
OLDF
OLDF
F=
6
7
8
9
9
G< 1) = -.29~19999E-06
.34836035E-06
G< :!)=
.13567613E-05
G< 3>=
Gr <:>= -.34836138E-06
G< 5>= -.18216184E-05
NO.
NO.
2
NO.
3
NO.
4
_,
NO.
~
~
.j
54
G<
G<
G<
G<
G<
NO .
NO.
NO.
NO.
NO.
1) =
.1561939~E-17
2l=
.23175067E-17
3)=
oll867129E-16
4l= -.231751l4E-17
5)= -.938~2126E-17
2
3
4
5
NO OF ITERATIONS=
TEF'= 0
NO OF FUNCT EVALUATIONS=
5
NO OF ITERATIONS=
X( 1) =
.12613071E+01
X< :.::!>= -. 3348:';411 E+OO
X< 3>=
,79282923E+OO
X< 4)= -.334855:.::!5E+OO
X< 5)=
.79282749E+OO
• 4763E-57
ITERATION
.4763E-57
ITERATION
ITEF;ATION
.4763E-57
.4763E-57
ITERATION
.4763E-57
ITERATION
.47625E-57
2
3
4
38
IER= 0
NO OF FUNCT EVALUATIONS=
1>= -.75772721E-14
2>=
.24889656E+OO
3>= -.16283513E+OO
4)= -.387~21~7Et00
5>= -.30420111E-13
NO OF ITERATIONS=
X< 1) =
.12613071E+01
X< ~)= -.33485411E+OO
,792829:.::!3E+OO
X< 3>=
X ( 4>= -.33485525E+OO
X< 5)=
.79:.::!82749E+OO
.5320E-23
ITERI'ITION
.5320E-23
ITERATION
.5320E-23
ITERATION
.5320E-23
ITERATION
• 5320E-::~3
ITERIITION
.53:.::!03E-23
G<
G(
G<
G<
G<
NO •
NO.
NO.
NO.
NO.
NO.
NO.
NO.
NO.
70
Figure 5.22
Computer Output Listing, Example 3
~
.J
68
X< 1>~
.12613071E+01
X< 2>x -.33485411E+OO
X< 3>=
.79282923E+OO
X< 4>= -.33485525E+OO
X< ~)::!l:
.79282749Et00
G<
G<
G<
. G<
G<
.3767~538E-50
1 >=
2>= -.36867092£-51
.57732300E-50
.36866998E-51
.22058031E-51
3>=
4)=
5>=
1
SYNTHESIS OF
DIGIT~L
FILTER WITH SPEC.
M~GNITUDE
THE ERROR CRITERION USED IS MINIMUMlO FOR THE
~ND/OR
M~GNITUDE
GROUP
DEL~Y
AND
MINIMUM 0 FOR THE GROUP DELAY
F=
.47625E-57
NO OF FUNCT
COMPUTED
EVALU~TIONS=
~RG.
X<
X<
X<
X<
X<
NO OF ITERATIONS= 19
IER= 0
VECTOR
~ND
70
GRADIENT
l. >=
.12613071f+Ol
2>= -,33485411E+OO
3>=
.79282923E+OO
4>= -.33485525E+OO
5>= .79282749£+00
Z
~·LANE
G<
G<
G<
G<
G<
1) = .37675538E-50
2>= -.36867092E-51
3l=
.57732300E-50
4)=
.36866998E-51
5>= .22058031E-51
ZEROS
ANGLE/2PUFS
RADIUS
.OOOOOOOOE+OO
.OOOOOOOOE+OO
.12613071Et01
-.33485411E+OO
Z PLANE POLES
ANGLE/2F'I*FS
RADIUS
.OOOOOOOOE+OO
.OOOOOOOOE+OO
CONST=
.79282923Et00
-.33485525E+OO
.79282749E+OO
NUMERATOR COEFFICIENTS
A1
.lOOOOOOOE+Ol
.10000000E+Ol
-.12613071E+Ol
.33485411E+OO
A2
.OOOOOOOOE+OO
.OOOOOOOOE+OO
DENOMINATOR COEFFICIENTS
BO
.lOOOOOOOE+Ol
.10000000E+01
Bl
-.792829'23E+OO
.33485525E+OO
1
(Fig-ure 5. ~2, Con·.:~_nued)
B2
.OOOOOOOOE+OO
.OOOOOOOOE+OO
69
FREQUENCY
.OOOOE+OO
.2000[-01
.4000E-Ol
.6000E-01
.SOOOE-01
.lOOOE+OO
.1200E+OO
.1400E+OO
.1600E+OO
.lSOOE+OO
.2000Et00
.2200E+OO
.2400E+OO
.2600E+OO
.2800E+OO
.3000E+OO
.3200E+OO
.3400E+OO
.3600E+OO
,3800E+OO
.4000E+OO
.4200E+OO
,4400Et00
.4600E+OO
.4800Et00
.5000Et00
.5200[+00
.5400E+OO
.5600E+OO
.5800E+OO
.6000E+OO
.6200E+OO
.6400E+OO
.6600[+00
.6800E+OO
.7000E+OO
.7:-?00E+OO
.7400Et00
.7600E+OO
.7800E+OO
.8000E+OO
.8200Et00
.8400E+OO
.8600[+00
.8800E+OO
.9000[+00
,9200E+OO
,9400Et00
.9600E+OO
.9800[+00
.1000E+01
HPIGNITUDE
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.10000E+Ol
.10000E+01
.10000E+01
.lOOOOE+Ol
.10000E+01
.10000E+01
.10000E+01
. 10000Et01
.10000E+01
.10000E+01
.10000E+01
.10000E+01
.10000F+01
.10000E+01
.10000Et01
.10000Et01
.10000Et01
.10000E+01
.10000Et01
.10000Et01
. 10000E+01
.10000Et01
.10000Et01
.tOOOOE+01
.10000E+01
. 10000Et01
.10000E+01
.10000Et01
.10000Et01
.10000Et01
.10000E+01
.10000E+Ol
.10000E+01
.10000E+01
.10000E+01
.10000E+01
.10000[+01
.tOOOOE+01
, 10000Et01
.10000E+01
-LOSS IN DB
-.22629E-04
-.19643E-04
-.12720E-04
-.52665E-05
.92964E-06
.55773E-05
.89444E-05
.11371E-04
.13129E-04
.14414E-04
.15358E-04
.16053[-04
.16560E-04
.16923E-04
.17173E-04
.17331E-04
.17412E-04
.17428E-04
.17386E-04
.17293[-04
.17153[-04
.16968E-04
.16740[-04
. 16470[-04
.16159E-04
.15805[-04
.15409[-04
.14970[-04
.14487E-04
.13958E-04
.13382E-04
.127~i8E-04
.12086[-04
• 11364[-04
.10591[-04
,97771E'-05
.89150E-05
.80123[-05
.70748E-05
.61110E-05
.51318E-05
.41509[-05
.31851[-05
.:2~536E-05
.13784[-05
.58267E-06
- .10987[-06
-.67656[-06
-. 10974[-05
-.13566E-05
-.14442[-05
PHPISE
.OOOOOE+OO
-.53107E+OO
-.99715E+OO
-.13713E+Ol
.14818E+Ol
.12606E+Ol
.10893Et01
.95426E+OO
.84581E+OO
.75712E+OO
.68339E+OO
.62116E+OO
.56794[+00
.52189E+OO
.48161Et00
.44604E+OO
.41436E+OO
.38593E+OO
.36023E+OO
.33685E+OO
.31546Et00
.29577E+OO
.27757E+OO
.26066Et00
.24488Et00
.23009Et00
.21618Et00
.20305E+OO
.19061E+OO
. 17879Et00
. 16752E+OO
.15674[+00
.14641E+OO
.13647E+OO
.12689[+00
.t1762E+OO
. 10865Et00
.99929E-01
.91441[-01
.831~i8E-01
.75058[-01
.67120E-01
.593:23E-Ol
.51649[-01
.44080[-01
.36601[-01
• 2919.5[-01
.21846E-Ol
.14540E-01
.72631E-02
.12458[-14
(Figure 5.22, Continued)
GROUF' DELAY
,86538E+Ol
,8065BE+01
.67016E+Ol
.52308E+Ol
,40051E+Ol
.30816E+Ol
.24076E+Ol
.19162E+Ol
.15537E+Ol
.12818E+Ol
,10742E+01
.9130:Et00
.78577Et00
.68387E+OO
.60116E+OO
.53323E+OO
.47683E+OO
. 4295~iE tOO
.38956Et00
.35548[+00
.32621E+OO
.30093EtOO
.27896Et00
.25976Et00
.24292Et00
.22807E+OO
.21493Et00
.20326E+OO
,19288E+OO
,18361E+OO
• 17532Et00
.1t.789E+OO
.16123E+OO
• 15525E+OO
.14987E+OO
.14505[+00
.14073E+OO
.13685Et00
.13339E+OO
,13031E+OO
.12758[+00
.12517E+OO
.12307E+OO
,12125E+OO
.11970Et00
.11842[+00
.11738Et00
.11658E+OO
.11601E+OO
.11567E+OO
.11556E+OO
I I I I I I I I I I II I I II II II II I I I II II I I IIIII II II II I II I I I I I II I I I I I I I I I I II I I I tl II I I I II I I II I II I I I I I I I I I I II tl II Ill Ill Ill IIIII I II II lllllltltllt
1"111f'll JU(I[
..... ' ............................. ' ••••• '." .. ' •••••• '"ill ••• ' ... ,, ......................................... ' ................... ..
'""
, 0000000£ I 00
• 1136364[~01
• ~~727~7£-01
,]409091£-01
• 454~4!.:.£-01
• Z681818£-01
.681818~£-01
• 79:.4!1'4:!1£-01
• 9090909[ -01
• 10~2727£100
,JlJ6J64EfOO
I 12:.ooooE too
,1]6Ul4E tOO
ll47727J[fQQ
.1~90909(f00
ol704~4:!1£100
11819182£t00
~19l1818Et00
01'\IN
.oo
.99999BoEtoo~
.21~9091£100
.9999980[100 •
.9999981EtOQ,
.9999981[100.
o999999::0EtOQ,
,9999982£ tOO,
.9999983£100.
.9999981(100 •
• 9999981£. oo.
~ll81818Et00
1]~9!.45:!1£100
,J109091[t00
• 3~22121'£ 100
,J6l6J61EIOO
, J7:.0000E tOO
• 3863636£ t 00
.3911273£ tOO
• 4090909£100
• 4204:!14~£ tOO
• 431818~[100
• 443181 BE tOO
• 4:.4:.4:.!:.£ 100
• 46:S9091Et00
.un727Etoo
• 4886]64[ 100
• :;ooooooE too
~5
.:.o
,,.
I.OC
.1000000£101 •
.I 000000£ 101 •
• I 000000£ I 0 I.
.9999999£100 •
• 999999]£ 100 •
, 9999989£ I 00,
• 9999986[ t 00 •
,9999994[100 •
.9999982£100 •
,9999991£100.
,9999981£100.
,9999980£100.
, 9999990£ I 00,
of999980Et001
, f999980E tOO.
• t9t9990E too.
, 9999990E tOO.
,99999BOEfOO •
• 204:.4:.:0Et00
• ~~7;!127[100
.2J86l6Ut00
, ~:iOOOOO[ tOO
.2613636£100
I 2nnnE 100
o2840909£t0Q
• ;!9~4:.1:.£100
,J068182£100
.
.999998~(100.
.999'U86EfOQ.
, 9999986[ tOO.
.9999981'£100 •
.9999988£100.
• 9999990[ 100.
.9999991EtOO •
, 999999~£ I 00,
.9999993£100 •
• 9999994£ tOO •
• 9999996( t 00 •
.9999997£100 •
, 999999BE f 00,
.9999999£100 •
, I 000000£101,
oiOOOOOO(IOI •
.IOOOOOOEtOt,
, lOOOOOOEtOI,
Figure 5.23
Uagnitude Versus Frequency Plotted on the Printer, Example
c~
....;)
0
71
...
.
.
...
..
..
.
. ...
. .
.. ..
:
•···•·••····•••··••···•·•··••·•·············•
0
0
:
:
.
.
.
.
.
.
:::
c
c:
E
~
X
r:z.:l
::...
...,(].)
c
::...
·rl
0..
(].)
"'
..
C\1
:
LD
.
"'
.. .. ...
. .
. . :::"'
. .
0
00000
~~~~~
WW.H,..,~W
%
00000
<
ooooo
~
00000
00000
00000
00000
00000
ooooooooooooooooooooooooooooooooooooooo
~~~~2~~~~~~~~~~~~~~~22~~22~222~22~2~222
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ooooooooooooooooooooooooooooooooooooo~o
--oooooooooooooooooooooooooooooooooooo
g~~~~
"~h•O~~~~r~m~-~~o~~~~~="-h•O~~~"Nm~-~•o
•o~~o~~o~~-~~N~O~~o•m-~~N~o~~o•m-"~N~O
~~~MO~~~~-m•O~MO~N~~-m•O~MO~N~~-m·O~MO
•or~~oM~o~m-~~N~OM~o•m-~~N~OM~o•m-n~N4o
0-oQI"ll>\>1
01"'t,...O.,.
o
o-r,,.,•
-r••~t'J
~?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"~r~M~~~~O-M•~~mo-N·~~a:I~ONM~~~~O-M•~~a:IO
0o- 0
0
-
tl M •
~"),....
m
Qo. 0
-
N
M ~") -G ~
m
Qoo 0
-
N
•
V1 -.1 ~ a:1 ~ 0
I"~
M
•
. , ..0 ,.... a:l 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~T~
0..
:>.
C)
c
(].)
V'
~
::...
(fl
""'
-~
;....
•w
""'
•<
..:.:
wwww~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
~~~~~
·rl
0
-I
(fl
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
o---0 ........ _,..,
(].)
;....
;:::;
t:.c
E~
·=
:.:..
WWWWI.W
(].)
~
ooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
...,...,
..•"'
-~
0
"'0
::
ow
0
0
~
:?
oO
•>:
.:
c
..
.
.
.:
.:
0
0
.
.
.c
...,
:
0
0
.
.
.
.
..
0.
.:
:
=
(].)
-I
..
.
..
.
,.,
. ..
. ..
.: ..
.
.:
.
.
:
"'
.
. .
. :
..
..
.:
-~
•
0
=~
-~
;:::;
(].)
>
0:
"'0
c
*"'
•<
·rl
•=>
·c
-~
=~
.
.o
·rl
cd
CJ
Itt t t t t t t tIt I I t t I t t t I I I I J tIt I I Itt t I I II I It It I t t t I I t t I I I I I I t t tIt I I I I I I I I I I I I I I I I I I I I I I I I It I I I I It I I I I I I I I I I It I I It t i l l I I l i l t I I It I It II I
f'HI\SE
IU I 111 lilt II II Uti II I II 11111111111 II It I I I I I I I I t t l I t t l I I I I I I l i l t I II IIIII I I Ill I I I I I II t t I Ill It II I I I I ttl II II I U i t t t l l l l l t t l t l l t l l l l l l
FfiEQ
PHt\SE
-1
• 0000000[. 00
,JlJ6364E-OI
• 2~72727£-01
ol40909l[-01
• 4:54:54~~£-01
.:568l81BE-01
.68lBl82E-Ol
• 79~.,.~£-01
.t090909£-0I
.I02:!127Ef00
••• 36364[ 100
• 12:50000[ t 00
,J HJ6JH 100
.1477213£100
• l ::190909£ t 00
• 1704:54~[t00
• IBIBI82Et00
, 1931818£ tOO
, 204:54:5!.( tOO
o215909l[t00
• :!272727£100
.2JB6364£t00
'2:500000[ f 00
.2UH36Et00
• 2727273£100
,:!940909£ tOO
, 29:54:54:0£ tOO
• 306918::![100
• ]181918£100
, 329:54!.~£ tOO
• 3409091[100
• J~n727£ too
,J636l64£t00
, 37:00000£ I 00
,J86Hl6Et00
,J97727l£ tOO
• 4090909Ei00
• 4204:54!.[100
,4JI91B:O£tOO
• 4431919£100
• 4:i4~4:5:.Et00
• 46:59091[100
• 4172727£100
• 4986364£100
o :5000000£ I 00
.:;o
-. 7:5
,,.
.oo
&.~o
• 0000000[ t 00 •
-.:sn:ututoo .
-.ll084:5JEIOI,
-.1498702£ IOU
•• 3:5l99l£ tO I
olll9309£f0lo
tf765902E tOO,
• 1:5026J9E too •
• 7498&0HtOQ,
,,68JJUEtOOo
.600876~(100 •
.~441 l76EtOO.
, 49:6596( tOO,
.4:53752~EtOO •
o41709$0(100 •
.]847017£100 •
,J:t!.BI4J£100.
ol29840HfOO,
.306l112[t00o
.2849,03£100 •
o26:5152J£t00,
.2469487(100.
, 2300914£ tOO,
.214348,(100 •
.199:5946( IOOo
,JS:i7046EIOQ,
.172!o790EIOO •
.1601214£100 •
ol48:!!i!ol[ IOOo
olJ69114£1QO •
· 1260303[ I 00 .
.11:15,84£100.
0
..
•
.ao:usJEtoo.
.9565751£-01.
.S6147SlE-OJ,
• 7689437£-01 •
.6783:036£-0t •
.:5897147£-01.
.:026:044£-01 •
.4169176£-0I.
,JJ226J4£-0I.
• 2484621£-01.
.U!i29JH-OI.
.8254279£-02.
-.3963926£-1,,
...
..
.
.
Figure 5.25
Phase Versus Frequency Plot ted on the Printer, Example :1
"'
£:\:)
••• II II
f
I II II I UttiU U I I II I t l i t U I I U I II I I I I I I I I I I II I I I 0 I I I I Ill I It Itt t i t tl I I It I II I I I II I I I I I I I Uti l i l t l i t I t ltiiUUt l l l t t t l l t t t t t l
(if\OUf· I•Ehli\Y
......................................................... u ..................................................................... ..
FREO
OROUP (l[LAl
2. :;o
.oo
• 0000000[ t 00
••• 36364[-01
• 22727:!7£-01
• 34090?1£-01
• 454~4~!i£-OI
.!i6818l8E-OI
• &819182£-01
• 79!.4~4:5£-01
• 9090909£-01
,J022727[t00
olll4361EIOO
, 1250000£ tOO
, I 363636[ tOO
.. 477271£100
, I :190909£ t 00
.170454:5£100
• l818J82EtOO
ol9ll8J8£1QQ
• -:0454!.!i£t00
• 21:59091 E t 00
• ~272727[100
, 2386364£ tOO
• 2500000£ tOO
• 2613416£100
• 2727271£100
• 2840909£100
.29:i4:i4:i£100
.3068182£100
,JtBIBIB£100
.329:54~!1£ tOO
ol40i09Uf00
oJ:52272]£fOQ
.3636364£ tOO
, J 750000£ tOO
, 386363H tOO
0
1977~71£10,0
, 4090909£ tOO
• 4::?0454!.£ lOO
• 4Jiuaatoo
;443l81BEtOO
• 4!.4::i4!.:.EtOQ
,4659091£100
• 4172727£100
, 4886364£ tOO
• :;ooooooE too
.B&:il8:i1Et0l •
• 7909]40[101 •
.6298941[101 •
.4692216[101 •
,J4Ul"nEtOI •
.2599249£101.
,JUUI4EIOI,
.1511.7982£101 •
.126040BEtOI.
oi0340U£t0l.
o863ll40[ too.
, 7320852£ tOO.
, '293236£ tOO •
• S41:55:iOEtOO •
.481549][100.
.427:5839[100 •
, 3829599£ I 00.
.J4:S686!i£t00.
,]142725[100 •
.287584:5£100 •
.2641499£100.
.2450887£100 •
.2280450£100 •
• :U32524£100 •
• 2001093[ I 00 •
.1889577£100,
.17B9717Et00. I
.t 7016:5:iEtOO. I
.&6238:i'!.EIOO. I
.1:55:5041EtOO. I
.1494146£100.1
ol440277£f0Q,f
.ll926Bt£100.1
,IJ5072!iEIOO.t
,l]lJ87-4EtOO.I
.1281675£100.1
ol2!il749EIOO.I
.1229776Etoo.t
.1209489[100.1
.1192669£100.1
,IJ79137EtOO.I
.IUB75JEtOO.t
.1 UI410Et00.1
oii:S70HEIOQ.I
.ll55!i80EIOO.I
:..oo
J.ZO
10.00
.
.
••
••
Figure 5.2G
Group Delay Versus Frequency Plotted on the Printer, Example :1
......:J
w
u
0
0
"'"'
0
::l:o
)>"
"::;
z
-<
c
Oo
rr.~
'""'
0
..,"
{)
-----,-·
0
~)
GO
0 0>)
011
:)17
on
,.-o2s
o33
---,
o.B
:)44
o.~o
C Y Cl_ F SIS Af"lP L t
Figure
fi.~7
tlagnitude Versus Frequency Plotted on the
CAL-CmtP Plotter, Example 3
--l
~
00
· 00
0 · 0~
0.
I I
0.
CYCLrS/SAMPU'
I 7
0.
~
2
0.
2~
0 33
0. 3)
0.
44
Q.
50
c'
0
0
0
0
0
Cl
>..:.
zo
0
z
0'
c:J:'
0
C'
I
I
,I
:-'l
ol
0
;n.
0
n
....
Figure 5.28
Gain in dB Versus Frequency Plotted on the
CAL-COMP Plotter, Example 3
.....:)
CJl
.)
0
0
......
0
00
"'
u
-'}>
Ulo
rr:;)
"'
;:o 0~ 00
}>
0,
-o
o.o~
0. I I
0.11
------
'
o ;:2
o.;:o
CYCLFS/SAr-lPL[
o
33
a'. JJ
o'. H
o'. ~o
)> ~.J
z..,
Lll
0'
"''"
..."'
.)'
0
0
Ftr;ure 5.29
Phase Versus Frequency Plotted on the
CAL-CmlP Plotter, Example 3
--l
(j)
0
0
0
..,
0
::u-.
o·
en
-oo
D
rr:
r
)>"'
-<0
0
0
0
.
0
0
~
c.:o·.
00
0
r---------
0 0F,
---,-------
0.11
0.11
0.22
-----.-----,------,-----r-----,
0.2b
0.33
0.3)
0.44
0.)0
C Y Cu· SIS At-lP L F
Figure fi.30
Group Delay Versus Frequency Plotted on
the CAL-CO:!P Plotter, ExaP1ple ~
-.l
-.l
78
specified by the input parameters 0.83, 0.49, 0.86,
0.68, 0.89 and 0.78, 0.93.
specified, from 0 to 1.
There is only one interval
The frequency limits is from 0
to 1 with a sampling frequency of 2.
Two successive
indices of approximation are specified, namely 2 and 4
for group delay and zeros for magnitude.
The program
converged after 50 iterations and 185 function evaluations.
Figures 5.31 through 5.40 give the input
parameters, program output and the plots respectively.
79
MENUM
FILE ROUTING OPTIONS
1. ENTER THE D~T~S VI~ TERMIN~L.
2. USE ~N EXISTING FILE AS INPUT.
SELECT BY NUMBER OR TYPE Q TO QUIT ? 1
TYPE OF ~PPROXIM~TION ?
? 2
NUMBER OF
RE~L
ZEROS
?
? 0
NUMBER OF ZEROS ON UN IT CIRCLE ?
? 0
NUMBER OF COMPLEX ZEROS
0
NUMBER OF RE~L POLES ?
? 0
NUMBER OF COMPLEX POLES
?
?
?
?
4
ANGLE OF COMPLEX POLE NO. 1
0.28
RADIUS OF COMPLEX POLE NO. 1
? 0.83
ANGLE OF COMPLEX POLE NO. 2
? 0.49
RADIUS OF COMPLEX POLE NO, 2
?
0.86
~NGLE OF COMPLEX POLE NO. 3
-~ 0. 68
R~DIUS OF COMPLEX POLE NO. 3
? 0.89
ANGLE OF COMPLEX POLE NO. 4
? 0.78
RADIUS OF COMPLEX POLE NO. 4
? 0.93
V~LUE OF T~UO ?
?
?
o.o
NUMBER OF INTERVALS
?
?
1
NUMBER OF POINTS ON INTERV~L
? 51
SPACING OF POINTS ON THE INTERVAL
? 2
REL~TIVE
?
o.o
WEIGHTING FOR MI'IGNITUDE FOR INTERVAL. 1
WEIGHTING FOR GROUP [IE LAY FOR INTERVAL
1.0
STARTING POINT OF THE APPROXIMATION INTERVAL 1
REL~TIVE
?
?
0. 1
STAF\TING POINT OF THE APPROXIMATION INTERVAL 2
? 0.9
NUMBER OF SUCCESSIVE INDICES OF I'IPPROXIM~TION
?
?
2
SUCCESSIVE INDICES OF I'IPPROX.
FOR M~GNITUDE FOR INDICES NO. 1
?
0
SUCCESSIVE INDICES OF APPROX.
FOR MI'IGNITUDE FOR INDICES NO. 2
? 0
Figure 5. :H
User Response and Input Data, Example 4
80
SUCCESSIVE INDICES OF ~PPROX.
FOR GROUP DEL~Y FOR INDICES NO. 1
SUCCESSIVE INDICES OF ~PPROX.
FOR GROUP DEL~Y FOR INDICES NO. 2
'r 4
NUMBER OF TOT~L CYCLES IF NO CONVERGENCE ?
? 2
LOWER FREQUENCY LIMIT FOR THE FREQUENCY RESPONSE
?
7
o.o
UPPER FREQUENCY LIMIT FOR THE FREQUENCY RESDPONCE
?
?
1.0
S~MPLING
FREQUENCY
?
? 2.0
NUMBER OF POINTS OF THE FREQUENCY RESPONCE
?
RELATIVE WEIGHTING OF THE MAGNITUDE
?
?
~1
7
0.
LOGICAL F'ARAMt:::TER FOR TYPE OF OUTPUT
?
? T
?
?
LOGICAL P~RAMETER FOR DEBUGGING PRINTOUT ?
F
LOGICAL PARAMETER FOR DEBUGGING PRINTOUT FROM FMFP
F
FILE ROUTING OPTIONS
1. RUN THE MAIN PROGRAM ONLY.
2. PLOT THE RESULTS ON THE PRINTER
J, PLOT THE RESULTS ON THE PLOTTER.
(Figure 3.31, Continued)
?
31
TO
F=
.12943733E+02
.41066E+02
IER= 0
NO OF FUNCT EVALUATIONS=
NO OF ITERATIONS=
0
2
INITIAL ARG. VECTOR AND GRADIENT
OLDF
OLDF
OLDF
OLDF
OLDF
OUrF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OUIF
OLDF
OLDF
OLDF
OLDF
OLfiF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
F=
X< ll=
.28000000E+OO
X< 2>=
.83000000E+OO
X< 3>= .49000000E+OO
X< 4)=
.86000000E+OO
X( 5 l = , 68000000E+OO
X< 6l=
.89000000E+OO
X< 7l=
.78000000E+OO
X< Bl=
.93000000E+OO
X< 9l=
.12943733E+02
.4107E+02
ITERATION
.8851E+01
ITERATION
• 2804E+Ol
ITERATION
ITERATION
• 1318E+Ol
.1021E+01
ITERATION
• 9084E+OO
ITERATION
.8846E+OO
ITERATION
.8766E+OO
ITERATION
.7875E+OO
ITERATION
.7250E+OO
ITERATION
.2915Et00
ITERATION
.19BBE+OO
ITERATION
.6063E-01
ITERATION
.3571E-01
ITERATION
.1104E-01
ITERATION
.6963E-02
ITERATION
.3585E-0:2
ITERI'ITION
. 1637E-02
ITERI'ITION
.1210E-02
ITERI'ITION
.8887E-03
ITERATION
ITERI'ITION
.5772E-03
.4265E-03
ITERI'ITION
.2624E-03
ITERATION
ITEF\ATION
.1435E-03
.1090E-03
ITERATION
.6460E-04
ITERI'ITION
.4405E-04
ITERATION
ITERATION
.3992E-04
ITERATION
.3546E-04
.3040E-04
ITERATION
.2910E-04
ITERATION
.2476E-04
ITERATION
• 1765E-04
ITERATION
ITERI'ITION
.6552E-05
.5063E-05
ITERATION
.4967E-05
ITERATION
. 49171E-05
IER= 0
Figure E·.
G<
G<
G<
G<
G<
G<
G<
G<
G<
1 >=
.26869385E+02
2>= .21340092E+02
3l= .19144159E+02
4 l=
.44333718E+02
.16427878E+03
5l=
6l=
.10889684E+03
7l= -.20459940E+03
8l=
.55141913E+03
9l=
.20072832E-12
NO,
NO •
NO •
NO.
NO •
NO.
NO.
3
4
5
6
7
8
9
NO.
NO.
NO. 10
NO. 11
NO, 12
NO. 13
NO. 14
NO.
15
NO. 16
NO. 17
NO. 18
NO. 19
NO. 20
NO. 21
NO. ,.,....,
NO. 23
NO. 24
NO.
25
NO. 26
NO. 27
NO. 28
NO. 29
NO. 30
NO. 31
NO. 32
NO.
33
NO. 34
NO.
35
NO. 36
NO OF ITERATIONS= 36
~12
Computer Output Listing, Sx:-uYJple 4·
82
NO OF FUNCT
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
OLDF
F=
=
X<
X<
X<
X<
X(
X<
X<
X(
X<
OUIF
OLDF
OLDF
F=
147
1 >= -.21029161E-01
2>=
.9616043~E-Ol
3>=
.17879100Et00
4>=
.12583801Et00
~>=
.49258123Et00
6>=
.2112294~Et00
7>=
.8339131~E+OO
8>=
.23885478E+OO
9>=
.12000060Et02
G<
G<
G<
G<
G(
G<
G<
G<
G<
ITER~TION NO.
ITER~TION NO •
ITER~TION NO.
ITER~TION NO.
ITER~TION NO.
ITER~TION NO.
ITERATION NO,
ITERATION NO.
.5798E~lO
.4799E-10
• 4024E-10
.3946E-10
.3642E-10
.3206E-10
.3206E-10
.2476E-10
.23224E-10
NO OF FUNCT
OLDF
OLDF
OLDF
EV~LU~TIONS=
IER=-1
EV~LU~TIONS=
-.86271165E-06
-.35397639E-03
-.76558938E-05
-:32865490[-03
-,97893892E-04
-.11352613E-02
.21083016E-02
.1~234896E-02
.45803652E-04
1
3
4
5
6
7
8
NO OF ITERATIONS=
8
170
X< 1>= -.21018907E-01
XC 2>=
.96297734E-01
X< 3>=
.17866658E+OO
X< 4>=
.12578614Et00
XC 5>=
,49340412Et00
X< 6>=
.21086346E+OO
X( 7>=
.83280579Et00
X( 8>=
.23887538E+OO
X< 9l=
.12000057E+02
.2322E-10
ITER~TION
• 2163E-10
ITER~TION
.2097E-10
ITERATION
.2066E-10
ITERATION
.2015E-10
ITERATION
.1976E-10
ITERATION
.19349E-10
1>=
2>=
3>=
4>=
5>=
6>=
7>=
8>=
9>=
IER=-1
G<
G<
G<
G<
G<
G<
G<
G<
G(
NO •
NO.
NO.
NO.
NO.
NO.
1l= -.27920564E-10
2>=
.23739141E-10
3>= .35827543E-09
4l=
.82399762E-09
5>= -.56895908E-08
6l=
.22102795E-09
7>=
.95719036E-08
8l=
.13975580E-08
9>=
.22641957E-08
~
3
4
5
6
NO OF ITERATIONS=
6
NO OF FUNCT EVALUATIONS= 185
X( ll= -.21015280E-Ol
X< 2>=
.96365555E-01
X ( 3>=
.17862292E+OO
X< 4)=
.12579633E+OO
X< 5>=
.49363484E+OO
X< 6)=
.21072209Et00
X< 7>=
.83247626Et00
XC 8>=
.23887591E+OO
X( 9)=
.12000037Et02
G<
G(
G<
G<
G<
G<
G<
G<
G<
1) = -.61631072E-10
2>= -.56653041E-09
3>=
.77396318E-09
. 46417021E-O<i
4>=
5)= -.48168139E-08
6)=
.39469335E-08
7>= .45085999E-08
8l= -.17935096E-08
9>= -.34756186E-09
SYNTHESIS OF DIGITAL FILTER WITH SPEC. MAGNITUDE AND/OR GROUP DELAY
THE ERROR CRITERION USED IS MINIMUM 0 FOR THE MAGNITUDE AND
MINIMUM 4 FOR THE GROUP DELAY
(Figure 5.32, Continued)
83
F=
.19349E-10
IER=-1
NO OF FUNCT EVALUATIONS=
NO OF
ITERATIONS=
~0
18~
COMF'UTEII ARG, VECTOR AND GRADIENT
X<
X<
X<
X<
X<
X<
X<
X<
X<
1>= -.21015280E-01
2>=
.9636~555E-01
3>=
4)•
5)c
6>=
7>=
B>=
9>=
G<
G<
G<
G<
G<
G<
G<
G<
G<
,17862292E+OO
.12579633E+OO
,49363484E+OO
.21072209E+OO
.83247626E+OO
.23887591E+OO
.12000037E+02
1>= -.61631072E-10
2>= -.56653041E-09
3>= .77396318E-09
4)= .46417021E-09
5>= -.48168139E-08
6>=
.3946933~E-08
7>=
.4~08~999E-08
8>= -.17935096E-08
9>= -.347~6186E-09
z F'Lt'INE ZEROS
I'INGLE/2F' I *FS
RADIUS
.10377152E+02
.79493573E+Ol
.2101~280E-01
.17862292E+OO
.49363484E+OO
.83247626E+OO
.4745~869E+Ol
.41862740E+Ol
Z F'LI'INE POLES
I'INGLE/2F'I*FS
RI'IDIUS
.21015280E-01
.17862292E+OO
,49363484E+OO
.83247626E+OO
CONST=
,96365555E-Ol
.12579633E+OO
.21072209E+OO
.23887591E+OO
.37234408E-06
NUMERI'ITOR COEFFICIENTS
1'10
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
I'll
-.207090BBE+02
-.13460458E+02
-.18977983E+OO
,72395411E+Ol
1'12
.107
.631
.:!::!5
, 175
8528E+03
2282E+02
0595E+02
4890E+02
DENOMINI'ITOR COEFFICIENTS
BO
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
.lOOOOOOOE+Ol
(Fi~Ire
Bl
-,19231122E+OO
-.21300794E+OO
-.84269459E-02
.41310052E+OO
5.32, Continued)
B2
.92863201E-02
.15824717E-01
.44403800E-Ol
.57061699E-01
84
FREQUENCY RESPONSE
FREQUENCY
.OOOOE+OO
.2000E-Ol
.4000E-01
.6000E-01
.aoooE-01
.lOOOE+OO
.1200E+OO
.1400Et00
.1600Et00
.lBOOE+OO
.2000Et00
.2200E+OO
.2400E+OO
.2600E+OO
.2800E+OO
.3000E+OO
.3200E+OO
.3400E+OO
.3600E+OO
.3800E+OO
.4000E+OO
.4200E+OO
,4400E+OO
.4600E+OO
.4800E+OO
.5000E+OO
.5200E+OO
.5400E+OO
.5600E+OO
.5800E+OO
.6000E+OO
.6200E+OO
.6400E+OO
.6600E+OO
.6800E+OO
,7000E+OO
, 7200E+.OO
.7400E+OO
.7600E+OO
.7800E+OO
.BOOOE+OO
.8200E+OO
.8400E+OO
.8600E+OO
.8800E+OO
.9000E+OO
.9200E+OO
,9400E+OO
.9600E+OO
.9800E+OO
• lOOOE+Ol
Mo'\GNITUDE
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
. lOOOOE+Ol
.lOOOOE+Ol
.10000E+01
.10000E+01
.lOOOOE+Ol
.10000E+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.tOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.10000E+01
.10000E+01
.10000E+Ol
.10000Et01
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOEtOl
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOE+Ol
.lOOOOEtOl
LOSS IN DB
.27773E-1
.33944E-1
.18~15E-l
.24687E-1
.37030E-1
.18~15E-1
.27773E-1
.27773E-1
.18515E-l
.18515E-l
.24687E-1
.18515E-1
.18~15E-1
.33944E-1
.33944E-1
.37030E-1
.27773E-l
.24687E-1
.24687E-1
.18515E-1
.18515E-1
.24687[-1
.18515E-1
. 9~575E-·1
.12343E-l
.24687E-l
.24687E-l
.18515[-1
.18515E-1
• 12343E-l
.12343E-l
.9~575E-1
.ts:::.tSE-1
.24687F-l
.24687E-l
.24687E-1
.9:2575E-t
.27773E-l
.12343E-1
.12343E-1
.12343E-1
.24687E-l
.18515E-l
.18515E-1
.12343E-1
.~7773E-l
.27773E-1
.24687E-1
.18515E-1
.33944E-1
.24687[-1
PHo'\SE
.OOOOOE+OO
-.50295E+OO
-.10059E+Ol
-.15088Et01
.11299E+Ol
,62712E+OO
.12436E+OO
-.37834E+OO
-,88099E+OO
-.13836Et01
.12~55E+Ol
.7'5::!95Et00
,25044E+OO
-.25206E+OO
-.75457E+OO
-,12571E+Ol
.13819E+Ol
.87926E+OO
.376:57E+OO
-.12617E+OO
-.62896E+OO
- .11318E+01
.15070E+Ol
,10041E+01
,50125E+OO
-.15597E-02
-,50433E+OO
-.10070E+Ol
-.15097E+01
.11::'93E+Ol
,62680E+OO
.12431E+OO
-.37816E+OO
-,88063E+OO
-,13831Et01
.12560E+Ol
.7533?Et00
.25075F+OO
-.25194Et00
-,7:5468Et00
-.12:575[+01
.13813E+01
.87856E+OO
.37581E+OO
-.12688E+OO
-.62951E+OO
-.11321E+Ol
.15071E+Ol
.10047Et01
.50232E+OO
.86187E-13
(Fig'llre 5. 32, Conti.nuerl.)
GROUP DELAY
.80047E+01
.80046Et01
.80043E+Ol
.80037E+Ol
.80030Et01
.80021E+Ol
.80012E+Ol
.80003E+Ol
.79994E+Ol
.79986E+Ol
.79980E+Ol
,79977E+Ol
.79975E+Ol
.79976E+Ol
.79980E+Ol
.79985E+Ol
.79993E+Ol
.80001E+Ol
.SOOlOE+Ol
.80018E+Ol
.80025E+Ol
.80030E+01
.80032E+Ol
.80032E+Ol
.80028E+Ol
.80022E+01
.80013Et01
.80004E+Ol
,79994E+Ol
.79984E+Ol
.79976E+Ol
.79971Et01
.79969E+Ol
,79<J71E+Ol
.79975E+Ol
.79983E+Ol
.79992E+Ol
.80001E+Ol
,80010E+01
.80017E+01
.80021Et01
.80022E+01
.80018E+Ol
.80011E+Ol
.80001E+Ol
.79989Et01
.79976E+Ol
.79964E+Ol
.79955E+Ol
.79949E+Ol
.79946E+Ol
85
...
.
..
:
.
..
0
0
..
..•••..•..•........•...................••.•..
~
w
~
~
E
~
X
~
.:
:
H
w
:
~
:
c
.:
·~
H
~
w
.:
~
~
c
.: .
:
~
M
~
:
:
:
w
H
~
.
M
·~
:
:
~
.:
:
.
.: .
~
0
~
~
~
0
w
~
~
w
H
~
00
;;
ww
00
00
=
<
0
gg
00
oo
~
~ooooooooooooooooooooooooooooooooooooooooo
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
oooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--·---------------------------------------
........................................................
~
.
w
~
c
..
.: :
.
0
~
w
~
~
;
~
"
----oooooooooooooooooooooooooooooooooooo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
mr•n~~~o~~~~~~~-~~o~"~n~mn-~~o~M~~r·~~-~~o
-m~O~~OM~O~~-n~N40M~O~m-~~N~O"~O~m-n~N~O
=~~~f:~~:~~~~~~~~:g:~~~~;~~~~~~~~~~~~~~:g
~~~00-NM•fl~~~O-NM~~~m~O-N•~~~m~ONM·~~~mO
. ............................................................ .
n~~~---------NNNNNNNNN~MM""""""••••~•••»
00
H
w
>
w
~
~
~
·~
c
M
~
~
...................................................................................................................................
GI'IJH IH 1•0
....................................................... ' .. u ......... ' ........................................................... .
l•lt Of\IN
ff\[Q
e.oo
10.00
, 0000000[ tOO
.1136364£-01
• :!272727[-01
• ]409091£-01
• 4:5454~!;£-01
• ~681818[-01
• 681818~£-01
• 795454!.£-01
• 9090909£-01
.t022727Et00
• 1136364£ tOO
• l2:i0000[t00
, 136l&J6E I 00
• t47727JE tOO
ol!i90909[f00
• a704~4!i£ too
• 181819:'(100
o19liBIBEtOO
. :!04!i45!iE 100
• 21!i9091EtOO
• 22727:=!7£100
• 2386364[ 100
,2!iOOOOOEt00
• 2613636[100
• 2727:273£100
-~840909[100
• 29!i4!i4~EtOO
• 306Bl82£100
,JlSIBISEtOO
• 32?:.4:.:£ too
.3409091[100
,352:2727£100
.3636364[100
,J7:0000E tOO
,JS6l036EIOO
, 3977273£ tOO
• 4090909£100
, 4204!i4!iE tOO
• 43181BZEtOO
• 44liBIBEtOO
, 4:i4S4:0!.E 100
, 46S9091E tOO
• 47727::!7£ 100
, 4886364£ tOO
, :iOOOOOOE t 00
:; .oo
J.oo
.oo
,Q000000£100,
• 0000000[ t 00 •
.0000000[100 •
o:5ll012BE-06,
.!i89UBBE-0:5 •
• 9669336[-0::5 •
.1226914£-04 •
.14066::56[-04 •
oi5JI936£-04o
.1619170[-04 •
ol68112QE-04 •
.172317:E-04.
.17~0661[-04
•
.t7667B4E-04,
•• 173722[-04 •
.1772971£-04 •
• 1 7655,~[-04.
• 17:0211 J( -04 •
.1733:!71[-04 •
.1709134[-04 •
.U7990JE-04 •
• 164~619[-04.
.1606244£-04 •
.1:!161677£-04 •
.1:511776[-04.
.t4:56l69E-04 •
.1395270[-04 •
oll2B310[-04,
• 12553~2[ -04 •
oii16J~4£-04o
• 1 0912~9[-04.
ol00034:"£-04.
• 90]9619[-0:5.
• 9021757[-05.
.697773:5£-05.
.590340:5£-05 •
• 4823012£-0:5.
,]7~9723£-05 •
.2740829£-0:5 .
.1797:53:0£-0:5.
.9631:509£-06.
.2709372£-06 •
• 0000000[ t 00.
• 0000000[ t 00.
, 0000000[ tOO,
....... '' .... ' .............. "' ..... ..... ' ........... " ..... ' ........... ' ... ' ................................................... '
ron Ynll
Llll~''
Tn r-1 nT r11.>.c;F'
~~~
rr-rn
'
vr"':
-1 .•1n-n
Figure 5.34
Gain in dB Versus Freqttency Plotted on the Printer, ExaMple 4
00
(j')
87
g
...
""
<V
......
c..
E
c;j
X
>.il
::....
<lJ
-1-'
c
.,...,
::....
~
<lJ
.c
0
0
-1-l
tr.
C'J
Lt::
<lJ
::....
.C..C·
,...,
0
0
~
7
c
0
u
<lJ
-1-l
-1-l
0
......
0.
>.
c
u
<lJ
::::
a'
<lJ
;...
~
oo~~oooo~~o~o~~oooo~~oNo~~oooo~~o~o~~oooo~~o~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~7
~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
o•n-•~•o••••~•••n-Nn••-•~
w
'"::<
..
.
:
:
.
:
~
:!
... •-•~n•••••-•••••~on
o-•~e··~~~~~·~~•ON~N~-~ONO~~N~~·m~~m~~~~~~m~~
o~oo•N•~NN-~~mn-~·-~,.,.N~=-~-=o=~~--~-ooo-•~~N~
0~~~~~·-·-N~=~~·--~=-=•=•~N-m~=-~~=~~~·=•m-mN
o-•Nn••eN•o•-·N~n-o~N·~~N·N~·~~N•O•-•Nn••~N•O•
o~-·~=~~•-~o~-•nm•n•-•fl~-·~==n•-~=~-•nmmfl•-~~
on--mNN•--n•n--mNN•--n-n--mNNm--~n~--mNNm--nN
••
0
0
..
· ; ; ; .
·,·;;
••
·;,-,".
· ; ; ;
0
0
· ; ; ;
..
· ; ; ; .
0
· ; ; ;
....
(f)
:::
(f)
::....
<lJ
>
o--~~~c;'
wwww
(f)
0"""'o•r•o0,.,,.,.0
O'"'N0oo
ro
.c
g:~~
~ ~r~';
<lJ
0.
.............. .. '.' ...................... '........ ' ...................... ' ..... ''. ' ........................................
... '' .. ........................ '.' .............. '.' ...... ".' '......... ' ... ' ' ... ' ' ............ ' ..................................
''''''
'
GkUUf· (•ERUH
'
ff..EQ
GROUP f'IELIIIY
• 00
, 0000000[ tOO
.tll6l64f-OI
.~~7:'727[-01
• 3409091[-01
.4~·!i4:0~(-01
• ~6Bl81BE-01
.6BUUB~£-OI
• 7954$4:.£-01
;9090909[-01
• 1022727£100
oll]6]64£f00
• 1 :!50000£ t 00
,IJ6l636Et00
• 147727JEIOO
.l:590909EtOO
• 1704:54$[ tOO
• I&IBIB:'EtOO
• 19JIB1BEfOO
• 204:.4:i:.Et00
• 21,9091£100
• 2:!72727£100
, 2JB6J6d tOO
• 2:.ooooo£ too
• 2&ll6J6Et00
o272J27J£fQQ
, 2B4090i'E I 00
• :!95454:.£100
,]06818:'[100
oliB181BEIOO
,]295455£100
,]409091£100
,]:522727£100
• J~l6l64ft00
I ]7:50000£ t 00
, JB6l6J6Ef00
,J97727JEIOO
• 4090909£100
• 4~0454:5[100
o431BIB~Et00
, Hll 818£100
, 4:.4:54:.:.£100
, 4659091E tOO
• 47727~7£100
, 4886364£ tOO
, 5000000£ tOO
:!.:.o
~.
00
7.:50
ao.oo
.&004716[101,
.800456:.(101 •
.8004124[101 •
.8003428£101,
.&0025ll[t0t •
.800.,14EI01,
.8000456£101 •
.7999449£101.
, 7998:583£ I 0 I •
,7997937£101.
.79f7571Et01 •
.799752]£101.
.7997798£101 •
,7f9Bl70Et01,
.7999179£101 •
.80001]5£101 •
.8001129[101 •
.10020J9Et01,
.8002749£ tOJ •
.800]160£101 •
.800l209Et01,
,800287lEIOJ,
,800:'182EtOI •
.80012l:.Et0J,
.8000091[101.
.79989~9£101 •
• 7997912£101.
.7997269£101.
.79969:i3EtOI,
• 7997010£101.
, 799760~£ tOt.
.199846:.£101 •
.7999!.21EtOt.
.B000!.94EtOt.
.&00t49BEI01,
oB002069EtOI •
.8002187[101 •
.aoo1eoutot.
.8000949£101.
• 7999730£101,
.799Bli!.Et0J,
• 7996908( tO I •
.799:5118£101.
• 7994924£101.
.199464:-i£101.
Figure 5.36
Gronp Delay Versus Frequency Plotted on the
Print~r,
Example 4
00
00
0
0
0
"'J>
0
"
3o
)>•
C)~
z
....
c
Oo
n~ ~
<A
0
""'
0
0+--------,-------.-------.--------.-------.-------,--------.-------.-------,
qJ.oo
o.'JF>
0.11
0.11
o.n
o.~s
o.JJ
o.Jg
o.H
o.so
°
CYCLfS/SAMPLE
Figure 5.37
~!agn
i turte Versus Frequency Plot ted on
the CAL-COUP Plotter, Example 4
00
\!)
00.00
o.a~
Q. II
0. I 7
CYCLFS/SAMPU'
0 22
0.
~0
0. 3 3
a.
39
D. • 4
0.50
0
0
0
0
r.>
gl
Cl
~~
zo
0
z
0'
OJ:"
0
0
0
0
;,
0
0
'<
Fi~ure
5. :3B
Gain in ctG Versus Frequency Plotted on
the CAL-COI'lP Plotter, Example 4
CD
0
(l
91
0
"'
s::
C<:t<
'C (l)
Q; -l
-I-"
-I-" E
c.
c
c:l
-l X
0.~
~
u.
;::..,
~
:;")
u
L(j
(lJ
(!J-1--"
s::
>....
:l<-'
<D
>....
(J)-l
.,..,I::C
1....0.
J:<..
0.
:::;
J:<..
U'O
-en . .
><r.
i
...... ,...-..
.__,
(JJC
I
(l).--4
(lJ
(JJ
t1l
.c
0.
2.00
j • 4
3
o.B5
c.~3
P'-iASl:'
a
-o.~g
RADIANS
-e.g~
-I . 4 3
-2.00
u
(lJ
..s::
...,
•
92
0
-~
......
!=:
c
0
'<:::
a.;
....., "'7'
.....,
(!)
0
-1
-1
0
0..
0..
E
ell
:>, X
auz:
c(
(/)
......
0
"1'
L1.;
co(/)
(">,J~
o-'
'-'
>u
(!)
....
Eo
.,..;
Iii
0
u
....
\.O:..U
Co-'
a.;
~
....
....,
C"G;
(!)
:.... .....,
Iii 0
-1
rno.
rno.
~~
<Do
>G
I
>....:l
ro<r:
--iU
0
«·
C'>
0
0
0
,:).00
7. CO
A. 00
CROLJP QEi..AY
5.GO
4.00
(!)
c (])
CHAPTER 6
6.0
Conclusion
This report dealt with a computer program which performs the synthesis of the recursive digital filters.
The method used by the program was outlined in Chapter 2.
The method uses a minimum p-error criterion to determine
the function to be minimized and the Fletcher-Powell
method for function minimization.
This method makes use
of the derivatives of the functions to be minimized to
find their minimum, which makes it one of the most efficient methods of optimization.
By and large, the most
efficient algorithms available depend on the evaluation of
the gradient vector.
This method has been applied to a large class of
problems.
The great flexibility and generality of this
method allows it to be used to synthesize a wide variety
of filters.
Filters having arbitrary magnitude, arbitrary
group delay and combined magnitude, and group delay specifications, as well as all pass group delay equalizers
can be synthesized using this method.
The four examples presented in Chapter 5 illustrate
the flexibility of the program in the synthesis of different filters, each with an arbitrary specification.
Examples 1 and 3 show the approximation of magnitude
93
94
of a recursive low pass filter and an ideal differentiator
respectively.
Example 2 shows the group delay equali-
zation of a recursive low pass filter.
Finally, example
4 shows the approximation of the group delay of an all
pass filter.
In all of these examples, satisfactory
results were obtained with no particular difficulty and
within reasonable number of function evaluations.
The program was discussed in Chapter 3.
The
auxiliary programs were discussed in Chapter 4.
These
auxiliary programs allow a great flexibility in the
running of the program.
They allow the input data to be
entered interactively at the terminal and plot the
frequency response of the filter, both on the printer and
on the CAL-COMP plotter.
They also give the user the
option of running any combination of programs, which
saves a lot of time.
Anyone who is not very familiar with
the system commands can run these programs easily.
The user manual, provided in appendix F, makes it
possible for anyone to run these programs.
Bibliography
Cooper, Leon, and David Steinberg.
Introduction to
Methods of Optimization. Philadelphia: W. B.
Saunders Company, 1970.
Deczky, A. G.
"Program for Minimum P-error Synthesis of
Recursive Digital Filgers, Ch. 6.2.
In Programs
for Digital Signal Procesing. Ed. Digital Signal
Processing Committee of IEEE Acoustics, Speech, and
Signal Processing Society. New York:
IEEE Press,
1979.
"Synthesis of Recursive Digital Filters Using the
Minimum P-error Criterion." IEEE Trans. on
Audio and Electroacoustic, AU-20 (1972): 257-63.
Oppenheim, Alan V., and Ronald W. Schafer. Digital
Signal Processing. Englewood Cliffs, N.J.:
Prentice-Hall, 1975.
Ternes, G. C., and S. K. Mitra. Modern Filter Theory and
Design. New York:
John Wiley, 1973.
95
APPENDIX A
Auxiliary Program PRNTPLT Coded
in FORTRAN
96
tl '
97
l.LI ST, F=F'RNTPL T
c
PROGRAM PRNTPLT<FRODAT,INPUT,OUTPUT,TAPE5=FRODAT,
* TAPE4=INPUT,TAPE6=0UTPUT>
REAL X, Y, WT, z, KO, WS, DBMAX, GDMAX, FINC
INTEGER IZ, NC,PLM, PLD, PLP, PLG
CHARACTER*! DASH,STAR,LINE,PLOT,PLOTI
DIMENSION AMPL<tOOOJ,FD<tOOOJ,DBCIOOO>,PHIClOOO>,
* GD<1000>,LINEC130>,DASH<100J,PLOT<I01l,PLOTICI011,
* A0(40J,A1<40J,A2<40J,B1(40J,B2<40l,AAC40l,ABC40l,
* BA<40l,BBC40)
COMPLEX N, D, GWS, NN, DD, Nl, N2
DATA PLOTI/'.',24*' ','.',24*' ','.',24*' ',',',24*'
* , •, I
DATA LINE/130*'*'/,DASH/100*'-'/,STAR/'*''
c
PI=4.0*ATAN<l.Ol
R1=0'00014000000000000000'
SPM=SORT<Rl>
c
160
PRINT*, 'NUMBER OF POINTS OF FREQUENCY RESPONSE'
RE ACI < 4, > I Z
FORMAT <I4>
PRINT*, 'FREQUENCY SCALING O=RADIANS/SAMPL.E,t=CYCL.ES/SAMPLE'
REr'D (4,*> LN
FORMAT <Ill
IF <LN.EO.O> GO TO 125
PRINT*r'ENTER LOWER FREQUENCY LIMIT <CYCLES/SAMPLE>'
READC4,130J Fl
PRINT*,'ENTER UPPER FREQUENCY LIMIT CCYCLES/SAMPLEl'
REnt•<4,130> F2
GO TO 140
PRINT*,'ENTER LOWER FREQUENCY LIMIT <RADIANS/SAMPLE>'
REnt1(4,1301 Fl
PRINT*,'ENTER UPPER FREQUENCY LIMIT <RADIANS/SAMPLEEI'
REA[1(4,1301 F2
FORMAT<F16.91
READ <5,1501 KO, NC
FORMAT <E14.7,I41
READ (5,1601 <AO<IJ,AlCIJ,A2CIJ,B1CII,B2<Il,T=t,NCl
FORMATC5E14.71
170
DO 170 I=1 ,NC
AA<II=AO<I>+A2Cll
ABCII=AO<II-A2(11
BA<I>=t.O+B2<I>
BB<II=l.O-B2(!)
CONTINUE
110
120
125
130
140
150
c
c
*
WSXPI=2*PI
Z=<F2-Fll/FLOAT<IZ-11
DO 200 J= l , I Z
WT=Ft+Z*FLOATCJ-1)
FDCJ>=WT
98
IF CLN,E0.1> WT•WT*WSXPI
Ct<JT= COS ( WTJ
SWT• SINCWTJ
c
c
c
c
c
c
c
D= CMPLXC1.0,0,J
N=D
(]L,O.O
OO=OL
c
DO 180 I=1,NC
NN= CMPLXCAACil*CWT~AlCIJ,ABCil*SWTI
DD= CMPLXCBACI>*CWT•BtCII,BBCII*SWTJ
N2= CMPLXC2.0*CWT+B1CIJ,2,0*SWTI
Nl= CMPLXC2.0*AOCII*CWT+A1CI1,2.0*f
N=N*NN
D=Dll:()[l
1
•tSWTI
c
IF CCABSCDDJ,LT,SPMI DD=CMPLXCSPM,SPMI
02=REI'IL ( N2/[l[l I
IF CCI'IBSCNNJ,LT,SPMI NN=CMPLXCSPM,SPMI
01•REAL<N1/NN>
IF CI'IBSC01-0LJ,GT,50,0J 01=1.0
OL•01
aa=acHn2-n 1
180
190
200
C
C500
c
CONTINUE
G[I(JJ=OO
IF CCABSCDl.LT.SPM> D=CMPLXCSPM,SPMI
GWS=N/[1
AMPLCJI;KO*CADSCGWSI
GABS•AMF'L CJ l
IF CGI'IBS.NE.O,J GO TO 190
F'HICJJ•O,O
[1{1(J)•1000,
GO TO 200
GWSI•I'IIMAGCGWSI
GWSR=REALCGWSl
F'HICJl=ATANCGWSI/GWSRI
DB<Jl=-I'ILOG10CGABS>*20.0
CONTINUE
WRITE 16,500) CFDCJI,I'IMPLCJI,DBCJI,PHICJI,GDCJI,J=l,IZI
FORMI'IT C5E14,71
CPLOT THE MI'IGNITUDE
PRINT*, 'DO YOU WANT TO PLOT MI'IG. VS, FREO.,YES=1,NO=O'
READC4,*1 F'LM
IF CPLM.EQ.OI GO TO 400
PRINT*, 'SPECIFY THE R~NGE OF MI'IGNITUDE YOU WANT TO PLOT'
PRINT*,'UPPER LIMIT'
REI'IDC4,1301 AMPLMI'IX
PRINT*,'LOWER LIMIT'
REI'IDC4,1301 AMPLMIN
DO 210 .J=l,IZ
IF CAMPLCJI .LT,I'IMPLMINI AMPLCJI=I'IMPLMIN
IF CI'IMF'L(J) .GT.I'IMPLMAXI 1\MPLCJI=I'IMF'LMI'IX
210 CONTINUE
99
..
,_
~MPLDIF~~MPLMAX-~MPL.MIN
~M1=.25*~MPLDIFtAMPLMIN
~M2=.50*AMPLDIFt~MPLMIN
~M3=.75*~MPLDIF+~MPL.MIN
WRITE 16,220> LINE, LINE
220 FORM~T (' 'r130~1//60X,'~MPLITUDE'//' ',130~1///
* 5X,' FRO
G~IN'/)
WRITE<6,230> ~MPL.MI~r~M1,AM2,~M3,~MPLM~X,D~SH
230 FORM~T<2X,F30.2,4F25.2//30X,100~1>
DO 300 J=1,IZ
c
c
c
c
c
c
c
240
DO 240 I=l, 101
PLOT<Il=PLOTI<I>
~VE=lOO*<~MPL<J>-~MPLMIN>I~MPLDIF
IST~R=INT<~VE~.5lt1
PLOT<IST~R>=ST~R
WRITEC6,250> FD<J>,AMPL<JJ,PLOT
c
250
FORM~T<E14.7,1X,E14.7,101All
300
CONTINUE
wrnTE<6,310> DASII,LINE
FORMATC30X,100A1///2X,130At>
310
CPL.OT G~IN IN DB
400 PRINT*,'DO YOU WANT TO PLOT GAIN TN DB VS. FRFQ.,YES=l .NO=O'
READ(4,*> F'LD
IF <PLD.EO.O> GO TO 600
[tBMAX=[IEI ( 1)
[10 410 1=2,IZ
410 IF <DB<I>.LT.[t[lM~X> DBM~X=ItHC[l
WRITEC6,420> DDMAX
,Ft6.9l
420 FORMAT<25HMAXIMUM G~IN IN DB IS=
PRINT*, 'ENTER THE MAXIMUM DB GAIN YOU WANT TO PLOT'
READ<4,130l DBMAX
[10 4 30 I= t , I Z
430 IF IDB<I>.LT.[IBMAXI DBCII=DBMAX
[l[tMIN=[I[l( 1)
DO 440 I=2,IZ
IF <DBCI>.GT.DBMINI DBMIN=QBCI>
440 CONTINUE
WRITEC6,4501 DBMIN
450 FORMATC22HMINIMUM G~IN IN DB IS=,Fl6,9)
PRINT*, 'ENTEI~ THE MIN. DB GAIN YOU WANl TO F'LOT'
READC4,4601 DBMIN
460 FORM~TCF16.9l
[10 470 I=1, IZ
IF CDB<I>.GT.DBMINI DB<I>=DBMIN
IF IDB<I>.LT.DBMAXI D£t<I>=DBMAX
470 CONTINUE
DBDIF=DBMIN-DBMAX
DBl=ANINTC .25*DBDIF+DBMAX>
DB2=~NINTC .5*DEITIIFtDBMAX>
DBJ=ANINTC .75*DBDIF.DBMAX)
WRITE 16,480) LINE,LINE
480 FORMAT(' ',t30Al//55X,'GAIN IN DD'//130Al///
* 5X,'FREO
DB GAIN'/)
100
490
500
510
520
WRITEC6,490) DBMIN,DB3,DB2rDB1,DBMAX,DASH
FORMATCF30.2,4F25.2//30X,100All
DO 550 J=l,IZ
[10 500 I=1,101
PLOT<I>=PLOTI<Il
IF ([IBDIF.EO,O.O> GO TO 510
AVE=lOO*CDBMIN-DBCJl)/[IB[IIF
ISTAR=INT<AVEt.51+1
GO TO 520
ISTAR=101
PLOTCISTAR>•STAR
WRITEC6,530) F[I(.J) ,DB(J) ,F'IUT
c
c
c
c
c
c
c
c
530
550
560
FORMATCE14.7,1X,E14.7,101A1l
CONTINUE
WRITEC6,560l DASH,LINE
FORMATC30X,100A1//2X,130All
c
CF'LOT THE PHASE
600 PRINT*,'DO YOU WANT TO PLOT PHASE VS. FREQ.,YES=l,NO=O'
READC4,*l F'LF'
IF <PLP.EQ.Ol GO TO 800
PHIMAX=F'HI ( 1)
[10 610 1=2, IZ
610 IF <PHI<Il.GT.F'HIMAXl PIIIMAX~PIII<Il
WRITE<6,620l F'HIMAX
620 FORMAT<lBHMAXIMIJH F'HASE !S= ,F6.:S,AH f\ADIANSI
F'fnNT*r'E~ITER TilE MAXIMUM F'IIASE. YUII lJIINf Tfl F'UJT'
REMI <4,130 l F'lll MAX
F'lliHIN=F'HI ( 1)
DO 630 I=2,IZ
630 IF <PHI<Il.LT.PIIIMINI F'HIHIN=F'HI<l>
WRITE<6,640l PHIMIN
640 FORMAT( 18HMINIHUM F'HASE IS= ,F6.:.l,HII f\1\[1!1\NS>
F'RINT*, 'ENTER THE MINIMUM F'HASE YOU WANT TO F'UH'
REA[I(4,1301 F'HIMIN
DO 645 I=l,IZ
IF CF'HI<Il.LT.PHIMINI F'HI<I>=PHIMIN
IF <PHI< I I .GT .F·HIHAX I PHI< I l=F'H ;11r'X
645 CONTINUE
PHIDIF=F'HIHAX-PHIHIN
PH1=,25*PHIDIFtF'HIMIN
PH2=.5*PHIDIFtF'HIHIN
PH3=.75*PHIDIFtF'HIMIN
WRITEC6,6501 LINE,LINE
650 FOT\MI'IT (' ', 1301'11/ /60X, 'PHASE' I ll301'1tl I I
* 5X,'FREQ
PHASE'/)
WRITE<6,6601PHIMIN,F'Ht,F'H2,F'H3,PIIIMAX,DASH
660 FORMATCF30.2,4F25,2,1/30X,1001'11l
DO 750 J=l ,IZ
DO 670 I.,t,IOI
670 F'LOT< I l=F'LOTI ( 1 l
I'IVE~tOO*<PHI ( .Jl -F'HIMINl/F'HIDlF
ISTAR=INTCAVEt,5ltl
101
680
750
c
760
PLOT<ISTARl=STAR
WRITE(6,680) FD<Jl,PHI(Jl,PL.OT
FORMAT<E14.7,1X,E14,7,101All
CONTINUE
WRITE<6,760lDASH,LINE
FORMAT(30X,100~1///130A1l
CPL.OT THE GROUP DELAY
800 PRINT*,'DO YOU WANT YO PLOT GROUP DELAY US, FREQ.,YES=1,NO=O'
READ (4,*> PLG
IF <PLG.EO.O> GO TO 1000
GDMAX=G[I( 1)
[10 810 1=2, IZ
810 IF <GD(!),GT.GDMAX> GDM~X=GD<t>
WRITE(6,820) GDMAX
,F1h.9)
820 FORMAT<25HM~XIMUM GROUP DELAY 15=
PRINT*r'ENTER THE MAXIMUM GROUP DELAY YOU WANT TO PLOT'
c
c
c
c
c
c
c
830
840
845
850
860
READ(4,130) GDMAX
GDMIN,GD<t>
DO 830 t:2,IZ
tF <GD<I>.LT.GDMtN> GDMIN=GD<I>
WRITE(6,840) GDMIN
FORMAT<25HMINIMUM GROUP DEL~Y tS=
,F1A,?l
PRINT*r'ENTER THE MINIMUM GROUP DEL~Y YOU WANT TO PLOT'
READ(4,130) GDMIN
DO 845 !=1, IZ
IF <GD<I>.GT.GDMAX> GD<I>=GDMAX
IF <GD(!l.LT.GDMIN> GD(Il=GDMIN
CONTINUE
GDDIF=GDMAX-GDMIN
GD1=.25*GDDIF+GDH!N
GD2=.5*GDDIF+GDMIN
GD3=.75*GDDIF.GDHtN
WRITE(6,850>LINE,LINE
FOrmAT(' ',130Al//60X,'Gr~OUF' DERU\Y'//130A\///
* SX,'FREO
GROUP DELAY'/)
WRITE(f>,860) GDHIN,GD1,GD2,GD3,GDHAX,IIr~~H
FORH~f(F30.2,4F25.2,//30X,100A1l
DO 950 J=1, IZ
(I() 870 1 •1 r 10\
870
880
950
F~OT<Il=PLOTI<I>
AVE=lOO*<GD<J>-GDHINl/GDDIF
ISTAR=INT<AVE+.5>•1
F'LOT (!STAR) =STAR
WRITE<6,880) FD<J>,GD<J>,PLOT
FORHAT<E14.7,1X,E14.7,101All
CONTINUE
WRITE<6,960> [IASfi,L.INE
960 FORH~T(30X,100A1///130Al)
1000 END
APPENDIX B
Auxiliary Program CALPLOT Coded
in FORTRAN
102
103
LIST, F=CALF'LOT
c
c
c
c
PROGRAM FROF'LOTCFRQDAT,INPUT,OUTF'UT,TAF'E5=FRQDAT,TAPE4=1NPUT,
* TAPE6=0UTF'UT>
REAL X, Y, WT, z, KO, WS,DBMAX,GDMAX,FINC
INTEGER IZ, NC, PEN
INTEGER PLM,PLD,PLP,PLG
CHARACTER*l5 PLOTNAM
CHARACTER*30 XAXIS
CHARACTER*30 YAXIS
DIMENSION 1'101401, 1'111401, 1'121401, B1140>, B21401
DIMENSION FDClOOO>, GDIIOOOI, DBI1000>, PHlllOOOI, AMPLilOOOI
DIMENSION AAI401, ABI401, BA140), BBI401
COMPLEX N, D, GWS, NN, DD, Nl, N2
c
PI=4.0*ATAN11.01
R1=0'00014000000000000000'
SPM= SQRTIR11
c
110
120
130
131
135
150
160
c
c
170
PRINT*, 'NUMBER OF POINTS OF FREQUENCY RESPONSE '
REA[• 14,*> IZ
FORMAT 1141
F'R I NT*, • FF;EQUENCY SCALING
O=f~AD I ANS/SAMPl. L, l ~CYCI F~1/SAMPl. E'
READ C4,*1LN
FORMATIIl>
IF ILN.EQ.OI GO TO 125
PRINT*, 'ENTER LOWER FREQUENCY LIMIT <CYCLE/SAMPLE>'
READC4,1301F1
PRINT*, 'ENTER UPPER FREQUENCY LIMIT (CYCLES/SAMPLE>'
READC4,130l F2
GO TO 131
PRINT*, 'ENTER LOWER FREQUENCY LIMIT <RADIANS/SAMPLFI'
READ<4,130l F1
PRINT*, 'ENfER UPPER FREQUENCY LIMIT CRAUIANS/SAMPLEI'
READC4,1301 F2
FORMAT CF16.91
F'RINT*, 'ENTER THE NAME TO AF'f'Er'R ON THE F'LOT,l CHARACTER ONLY'
READC4,135l PLOTNAM
FORMAT CAll
READ <5,1501 KO,NC
FORHAT CE14.7,I41
READ 15,160) CAOCil,A1CII,A2CII,B1<I>,B2<I>,I=l,NCl
FORMAT C5E14,7>
DO 1 70 I= 1 , NC
AACII=AOCIItA2CII
ABCII=AOCil-1'12<1>
BA< I 1=1.0+82< I>
BB<Il=1.0-B2CII
CONTINUE
WSXPI=2*Pl
Z=<F2-F11/FLOATCIZ-1>
[10 200 J=l, IZ
WT=F1+Z*FLOAT<J-l)
FDCJ>=WT
IFCLN.EQ.11 WT=WT*WSXPI
104
c
c
c
t
CWT= COS< WT>
SWT= SIN<WT>
D= CMPLX<t.O,O,)
N=D
OL=O.O
OO=OL
c
DO 1 80 I= 1 , NC
NN= CMPLXCAACI>*CWTtA1Cil,ABCI>*SWTI
DD= CMPLXCBACII*CWT+BlCII,BB<I>*SWTl
N2= CMPLXC2.0*CWT+B1Cil,2.0*SWTl
Nt= CMPLXC2.0*AOCII*CWT+A1CIJ,2.0*AOCil*SWfl
N=N*NN
,,
c
180
190
c
200
C500
210
220
230
[1.«(1[1
IF CCABSCDD>.LT.SPMl DD=CMPLXCSPM,SPMI
02=REI'ILCN2/DDI
IF CCABSCNNl.LT.SPMl NN=CMPLX<SPM,SPMl
01 = REAL< Nl/NN l
IF CABS<01-0LJ.GT.50.1 01=1.0
OL=;01
00=00+02-01
CONTINUE
GDCJI=OO
IF CCABSCDl.LT.SPMl D=CMPLX<SPM,SPMl
GWS=N/[1
AMPLCJ>=KO*CABSCGWSl
13t'IBS=t'IMF'L CJ l
IF CGABS.NE.O.l GO TO 190
PHICJI=O.O
DBCJ>=1000.
GO TO 200
GWSI=AIHAGCGWSl
GWSR=REALCGWS>
PHICJI=t'ITI'INCGWSI/GWSR>
DBCJJ=-ALOG10CGI'IBSI*20.0
CONTI NUl;:
WRITE C6, 500 I <F[r CJ l , I'IHF'L CJ l , DB CJ l , PH I CJ l , GD <J l , J= 1, I Z I
FORMATCE11.4,4E15.5l
PRINT*, 'DO YOU WI'INT TO PLOT THE Ht'\G, US. FREO. YES=t,NO=O'
READC4,*l PLM
FORHt'\TCill
IF <PLM.EO.Ol GO TO 400
PEN=3
IF CLN.EO.O) GO TO 220
FINC=CF2-F11/9.0
YAXIS= 'CYCLES/SAMPLE
GO TO 230
FINC=CF2-F11/9.0
YAXIS= 'RADIANS/SAMPLE'
XAXIS= 'MAGNITUDE'
F'r<I NT*, 'SPECIFY ffiE RI'INGE OF MI'IGN !TUDE YOU WANT TO PLOT'
F'RINT*• 'UF'PER LIMIT
REI'IDC4,130l AHPLHI'IX
Pf..:INT*• 'LOWER LIMIT '
105
READC4,1301 AMPLMIN
CALL PLOTSCPLOTNAMI
CALL PLOTC0.5,o.5,-3)
XINC=CAMPLHIN-AMPLMAXI/7.0
CALL AXISC7.0,0.0,YAXIS,-14,9.,90.0,Ft,FINCI
CALL AXISCO.O,O.O,XAXIS,-9,7.,0.0,AMPLMAX,XINC>
DO 240 J=l,IZ
c
c
c
c
c
c
c
240
400
410
420
430
440
450
460
470
480
490
IF CAMPI_(J) .GT.AMPLMAXI AMPLCJI=AMPLMAX
IF CAMPL(JJ,LT.AMPLMINI AMPLCJI=AMPLMIN
Y=FDCJl
X=AMPLCJl
CALL PLOTC7.0*<X-AMPLMINI/CAMPLMIN-AMPLMAXI+7.0,CY-Fll/FINC,PENI
PEN= 2
CONTINUE
CALL PLOTC0.0,0.0,9991
PEN=3
PRINT*~'DO YOU WANT TO PLOT DB GAIN VS. FRFQ, YES=l,NO=O'
READC4,*l PLD
FORMATCill
IF <PLD.EO.Ol GO TO 600
IF<LN.EO.O> GO TO 420
FINC=CF2-Fll/9,0
YAXIS= 'CYCLES/SAMPLE
GO TO 430
FINC=<F2-Fll/9,0
YAXIS= 'RADIANS/SAMPLE'
DBMAX=DBCll
DO 440 1•2,IZ
IF CDBCII.GT,DBMAXI DBMAX=DBCII
WRITEC6,450l DBMAX
FORMATC24H MINIMUM GAIN IN DB IS ~,rl6.71
PRINT*, 'ENTER THE MIN. DB GAIN YOU WANT TO PLOT'
READC4,4601 DBMAX
FORMATCF16,9)
DBMIN=DB<ll
DO 470 I=2,IZ
IF <DBCil,LT.DBMINI DBMIN=DBCII
WRITEC6,4801 DBMIN
FORMATC25HMAXIMUM GAIN IN DB IS=
,F16.91
PRINT*, 'ENTER THE MAX, DB GAIN YOU WANT TO PLT'
READC4,4901 DBMIN
FORMATCF16.91
XINC=ANINTCCDBMIN-DBMAXI/7,01
XAXIS= 'GAIN IN DB'
CALL PLOTSCPLOTNAMI
CALL PLOTC0.5,0.5,-31
CALL AXISCO.O,O.O,YAXIS,14,9.,90.0,Fl,FINCI
CALL AXISCO.O,O.O,XAXIS,-10,7.0,0.0,-DBMIN,XINCI
DO 510 J~t,IZ
IF CDBCJJ,GT.DBMAXI DB<J>=DBMAX
IF CDBCJI .LT.DBMINI DBCJI=DBMIN
Y=FDCJI
X=DBCJI
CALL PLOT(-7,0*<X-DBMINI/CDBMIN-DBMAXI,(Y-Fli/FINC,PEN>
106
510
600
PEN"'2
CONTINUE
CALL PLOTC0.0,0.0,999J
PEN=3
PRINT*,'DO YOU WANT TO PLOT PHASE US. FREQ. YES=1,NO=O'
REI'ID C4, J F'LF'
FORHATCI1J
IF CPLP.EQ,OJ GO TO 800
F'HIHAX=F'HI<lJ
DO 620 I=2,IZ
IF CPHICIJ.GT.PHIMAXJ PHIMAX=PHICil
*
610
r
620
c
c
c
c
c
630
640
650
660
670
680
BOO
810
WRITEC6,630J PHIHAX
FORHATC18fiMAXIMUH PHASE IS =,F6.3,711RADIANSl
PRINT*, 'ENTER THE MAX. PHASE YOU WANT TO F'LO T'
READC4,130l PHIMAX
F'HIMIN=F'HI Ct l
DO 640 I=2,IZ
IF CF'HICIJ.LT.F'IHMINl PlliMINcor·H£<1>
WRITEC6,650J PHIHIN
FORMATC18HHtNIMUM PHASE IS ~,F6.J,711r\A[otANSl
F'RINT*, 'ENTER THE MINIMUM F'fiASE YOU WANl TO F'LOT'
READ<4,130J PHIHIN
IF<LN.EO.Ol GO TO 660
FINC=<F2-F1l/9.0
YAXIS= 'CYCLES/SAMPLE
GO TO 670
FINC=CF2-Fll/9,0
YAXIS= 'RADIANS/SAMPLE'
XAXIS= 'PHASE
RADIANS'
XINC=< F·H I HI N-Pilt MAX l /7,0
CALL F'LOTS<PLOTNAMl
CALL PLOT<0.5,0.5,-3l
CALL AXISC3.5,0.0,YAXIS,-14,9. ,90.0,F1 ,FINCl
CALL AXISCO.O,O.O,XAXIS,-t5,7,0,0.0,PiliHAX,XTNCl
DO 680J=1,IZ
IF CF'HICJJ,GT.PHIMAXl PHI<Jl=F·HIHAX
IF CF'HICJl,LT.PHIHINl PHICJl=PH!MIN
Y=FD<J>
X=F'HICJl
CALL PLOTC7.0*CX-PHIMINl/CPIIIHIN-PHIHAXlt7,0,CY-Fll/FINC,PENl
F'EN=2
CONT !NIJE
CALL F'LOTC0.0,0.0,999l
PENo:3
PRINT*,'DO YOU WANT TO PLOT GROUP DELAY VS.FRFQ, YES=l,NO=O'
READ C4, * l F'LG
FORMATCill
TF IF'LG.EO.Ol GO TO 1000
IFCLN.EO.Ol GO TO 820
FINC=<F2-F1l/9,0
YAXIS= 'CYCLES/SAMPLE '
GO T() 830
820
FINC=CF~-Fll/9.0
830
YAXIS= 'RADIANS/SAMPLE'
GDMAX=GDill
107
840
850
860
870
880
c
c
c
c
c
c
c
890
1000
uu u~v L~~,ll
IF IGDIIl.GT.GDMAXl GDMAX=GDIIl
WRITE16,850l GDMAX
FORMATI25H MAXIMUM GROUP DELAY IS =,Ft6.9l
PRINT*, 'ENTER THE MAX. GROUP DELAY YOU WANT TO PLOT'
READI4,860l GDMAX
FORMATIF16.9)
GDMIN=GD<l>
DO 870 I=2,IZ
IF IGD<Il.LT.GDMINl GDMIN=GDIIl
WRITEI6,880l GDMIN
FORMATI24HMINIMUM GROUP DELAY IS =,F16.91
PRINT*, 'ENTER THE MINIMUM GROUP DELAY YOU WANT TO PLOT'
READI4,130l GDMIN
XINC=ANINTIIGDMIN-GDMAXl/7,01
XAXIS= 'GROUP DELAY'
CALL PLOTSIPLOTNAMI
CALL PLOTI0.5,0.5,-3l
CALL AXIS17,0,0.0,YAXIS,-14,9,,90,0,Fl,FINCl
CALL AXISIO,O,O.O,XAXIS,-11,7.0,0.0,GDMAX,XINCl
DO 890 J=l,IZ
IF IGD<Jl .GT.GDMAXl GDIJl=GDMAX
IF IGDIJl,LT.GDMINl GDIJl=GDMIN
Y=FDIJl
X=GDIJl
CALL PLOT 17,0*1X-GDMINl/IGDMIN-GDMAXlt7.0,IY-Fll/FINC,PENl
PEN=2
CONTINUE
CALL PLOTI0.0,0.0,999l
STOP
END
APPENDIX C
Auxiliary Program INDAT Coded
in FORTRAN
108
109
c
c
c
c
*
29HF
PROGRAM INDAT<INPUT,OUTPUT,FIDAT,TAPE4=INPUT,TAPE6=0UTPUTI
INTEGER WEIGHT
fllMENSION Xl401, Gl401, IF'IlOI, 1111101, FTKilOI,
* NPKilOI, WEIGHTilOI, WFKitOI,WGK<tOI,
* 1'10 ( 40) 'I'll ( 40) , 1'12 ( 40) , l< 1 ( 40) , [<~ ( 40)
PRINT*, 'TYPE OF I'IPPROXIMI'ITION ? '
REIU1(4,*1 MODE
f''R I NT*, 'NlJMt<ER OF FiE I'lL ZEROS ?'
REI'ID14,*1 NZR
PRINT*, 'NUMBER OF ZEROS ON UNIT CII\CLF ? •
Rfi'IDI4,*1 NZU
f'RINT*, 'NUMBER OF COMPLEX Zl::f\05 ?'
F\EI'IDI4,*> NZC
PIHNT*, 'NUMl<fR OF REAL t'OLES 7 '
READI4,*> NPR
Pf\INT*, 'NUM[IER OF COMPLEX 1-'0l.I:::S ? •
REI'IDI4,*> NPC
Nl,NZf\
N2=Nl+NZU
N3"'N2tNZC*2
N4=N3+NF'R
N5=N4+NPC*2
N=N5·t1
IF IMODE.E0.41 N=N+l
IF INZR.EQ,OI GO TO 500
DO 498 J=l ,NZB
I o:,J
M= ..J
Wf\£TE16,4971M
497
FORMATI23HRADIUS OF REAL ZERO NO.,I21
f\t":AD<4,*1 XII>
498
CONTINUE
500
IF INZU.EQ.OI GO TO 600
DO 501 Jo:l ,NZU
I=N1 tJ
Mo:J
Wf\ITEI6,5031 M
503 FORMAT< 32HI'ItlGU;: Of- ZFkO ON UN ll 1: [ f\1'1 L ND. , [ :' J
lifi'IDI4,*1. XI l l
501 CflN IINIJ~.
600
lF INZC,E!l.Ol !ill fll /00
[10 611 ..J"' 1 , NZC
I o=N2 t2*J-1
M=.J
WFi1TE16,6031 M
603
FORMAT< 25HI'IN!lLE OF CDMF'L EX ZFHO rm,, l 21
RLAD<4,*1 Xl£1
WRITEI6,6041 M
604
FDRMATI26Hki'ID£US OF COMPLEX ZERO NO.,I21
605
RfADI4,*1 XI [ tl I
611
CONTINIJE
700
IF INPk.FO.OJ GO ro ~00
[I() 70'1 .)" 1 , tJ)'(.,;
Jo=N.l LJ
c
c
c
110
fi ".I
'702
709
800
002
FJ03
80?
900
910
?20
930
';:',()
'751
?53
?::;4
'75~.)
WHI TF<b,70;~) M
Fflr-\MAT ( 23HRADIUS OF !~EM. PULE rm, , I:: l
F\FA[I(4,*> X<I>
CONTtNIJE
1F <NPC.EQ.OI GOlD 900
DO 809 .J= 1 , NF'C
I"'N4+2*J-l
M'=J
WF':TTE<6,8021 M
FDHMAT < 25HANGLE OF COMPLEX F'OLF: N!l,, I :• l
F~FIID<4,*> X<t>
WRT.TF<6,8031 M
FOHMI\T < 26HRI\[I I US OF CfJMF'L.E X 1'111.1 rJrl •.. I ·:• •
fU:'.I\[1(4,*>X< 1+1 I
CDNTINLIE
GO TO (910,920,920,930) MODE
PRINT*, 'VI\LUE OF KO ? '
HE/\[1(4,*1 X<N>
GO TO 950
f''fUNI*, 'VI\LI.IF OF ll\lJO ? '
r~EII[I < 4,
> x on
GO TO 950
PRINT*, ~VI\LUE OF KO 7'
RE/\[1(4,*> X<N-1>
r·rHNI*, '1,!1\LllE OF TI\UO ? '
F·:f·./\£1(4,*> X<NJ
F'rnNr:t:, 'NlJHI<FR UF !NIHW/\1 ,, .,.
m::11r1 < 4, :t<) NK
[In 953 I=l ,NK
M= r
WR TTE (1,, 95 l ) H
FOFmi\T(3011NlJMI<fR Ill l'lllNI::i IHJ rr~lfi;')fll
,1:'>
r;FMI( 4, >NF'K < I >
CONTINUE
[10 955 I'= 1 , NK
H"'l
WRITE< b, 9~<4) H
FOFmf'IT LI:IH:.ii"IICTNG DF F'UHJI~·i liN Ill~ rrJII.l\Vfll, r:'J
kEI\U(4,*1WEIGHT<Il
CDtHTNIJE
[IIJ 9:'; 7 I~ t , NK
*
*
H=T
?~i6
9~i7
WH T IF< f,, 9~jf>) M
FfJF\HI\f( 4~iHRELI\riVE
1·:[1\ll( 4,*JWFK< I)
CON I I NUE
[I() ?59 I" 1, NK
1~1·
TfHil INti 1·111\ Hr"iNJ llJFIE F!Jk
WI
ll~fll
!NII:.r;V/\1.., l:!l
H~I
'?:'.•0
?5?
WI: rTF< 6, 958 > M
Fllfmfll<4/HI:Fll\l T'JF
f\FIITI< 4,*)WGK< l l
CONTINUE
110 961 l,l,NKH
ltl!;
f[ll;
ijf\IJIJr' [lfii\Y Hm
TNIE.f;l)/\1, !:')
H~I
wrn rF < 6, ?too>
?/-.0
961
~~
f'IH:HI\J(44HSli\FnTN£; F'IJINI Ill
HI~. 1\l'l'i;IIXI~l/\lllJrl
INIU\'JI'Il, L'J
r;Ff'IIIC4,*lFJt;( I)
Cl IIH UJUE
FIUNT*, 'NIJHF<U' !If ~:;tJCl:E!>SIVl'. lt-Jifli:E.::; Ill' M'f'FWXIHI\TTON .,,
f{FI\LI( 4, *) Jr'K
Ill) 9/'>:; T I 0 ' t , l F'~:
M~ l I
.
'
111
L
c
c
c
l~r;ITE(6,96~!l
*
96::;
'167
M
FORM~T<29HSUCCESS1VE
962
29HFOR
M~GNITUDE
*
FOR
INDICES Of ~VPRUX./
TNDICES NO.,I2>
f{E~D <4,
l If' (I I l
CONTI NlJE
[10 96B II=l,IF'K
M'=l I
WF;ITE(6,967l M
FDf~M~l(29HSUCCESS1 1JE
*
3111FDR GROUP DF:LtW
IND1CE~3
F(Jf\
OF AF-'F'I\OX./
IIHII CF:S NO, , T:' >
HE~[I(4,*llfHIIl
96B
CON I HltJE
PRINT*, 'NUMI«ER OF TOT~! CYCLEG IF NO CON\.IEI:fif:NLI:. .,,
HEArl( 4, l UJIJ
F'HlNT*, 'LOWER ~RErllJFNCY L!Mlf Flm filE F'F~EIH.IUICY r:l·~>l·'llN~'I· .,,
F\F Mt ( 4, l F t
F'RINI*, 'LII''f"Ef\ FllE!lliHICY
!Mil filii 1111 II;IIHIHJCY J;f ~;TI!'IJ~JI:I -;-·
f-\FMt<4,*l F2
F'!l I Nl
'S~Mf'L I NG 1-r;r::m II:.NCY -,'
HFr,[l ( 4, *) FS~Mf'l_
F'!\TtH*• 'NUMBER Ul I'DIN!~3 !ll· 1111 11:1.11111 rlt:Y IW~WilNCI. ? '
!~Ef\[1(4,*>
IZ
F'I;!NT*, '1\EL~l IVE WF!I;il! !tJii IJI
Jill r1r'olitll Jll!tf ".
!WrHI I 4, .II) '"-F~
~·r;I N I*, 'LOG I C~l. F'Ml~ME I E.f\ Hlk I 'iF' F. OF
011 r~·u f " '
READ<4,t20l LONG
F'fliNT*, 'LOGIC~L F'~I\~ME.!FF; Fill; ll~[<l1131i1Nf.i r·RfN!OlH 7 ' .
f-\Er'f1(4,t20l DEB
r·n!Nl*• 'UlGlCAI.. f'AI\A~\1 lfl: 1111: llf·I«II(;I;UJL; 1'1\lN!IHJl HWt1 F'MH' "'
Hf:.A[I(4,t~OI
UFDFP
IF <MOUE,NE.~l GO TO tOtO
F'F:!NT*, 'IJAUIE OF CONSTr,NT MULTIPLE CIJNTO "'
kEADI4,*l CONSlO
F'll r.tl I*, 'NliMEtEf\ m· CrYoC1'l1ES 7 '
m, ''It ( 4 , I M
f'f::fNl*• 'VI'\LIJES OF CIJU·f·!CIUIJ~) 1'\0(!l,~t<ll,t,:?l!l,f«t<Jl,!C:~c[J .,.
1.10 ?39 1"1 ,M
MS"' I
wr;rn:ct.,979> MS
FDf,MA T ( t 2111'10 < ll FfH~ £ -=, I::' l
Flt:~ll(4,*l
1'\0({)
wrn 1 t:: < 6, 980 > MS
FORMATI12H~l(tl
FIJf\ fc=,I:?I
m-:M•<4,*> ~1<1>
WF\ITEI6,98ll MS
FDf\M~TC12HA2<Il
FUR I=,t2l
*
*
*,
*
9 79
980
'181
r;~_M114,*l
~:'Ill
tm I IE I 6,982)
MS
FllF:M~l(l2HBt<[l
1010
1 oo
I 1n
FfH\
Bt<ll
wr:: ll E ( fo, 9Bl l Mfi
FfJ!':MAT < t 2HB2 ( 1 l FOil
ru:_Af.l( ol,*l I:!:' I I I
II Jill HIIIF
I Uf:MI'\ I ( t t 4 , 7 l
FIJRMA1<5El1.71
l:l.lNITNlJE
r tlllM•' r < I4 J
f !Jr\MA l CF 16. '1 l
1 ·.''l
r: nr:M'" '1 1 l
9H:.'
£=,!~~~
!~EI'\tll4,*l
?!J)
•;•~:~7
I :10
Jqo
[
:~,
r :')
112
I
(_'
c
c
c
WRITEC9,1001
WrnTEC9,1001
WRITEC9,110)
WHITEC9,1001
WIH TE I 9, 100 I
WHITE I 9, 100 I
WRITE19,1101
WRITEC9,1101
WRITEC9,1101
WfnTE.C'l,lOOI
WF;! TEl?, 1001
WRITE19,1001
WRITEC9,1001
WHITEC9,1101
150
to:~o
MODE
NZf<, NZU, NlC, NF'H, NFC
CXCII,T=t,NI
NK
I NF'K I T I , [ c: 1 , NK l
CWl I !HIT I I I , l t , NK I
0'
CWFKCII,I~t,NKI
IWGKCI>, l=t,NKI
IFIKCII ,I~t,NK!l l
tPK
( ll-'1 Il I, I r~t, JF'Kl
IIOCIJI, II=t, IF'KI
!NV
Fl, F2, FSf\MFL
I~F:trEC'?,tOOI
tz
WRTTEI9,1t01 f\LFfl
WRITEC9,t201 LUNG
Wf':ITEC9,1201 TIFf<, lll::liFI'
IF IMODE,NE,J> GO TO 1020
WRITEI9,1501 CONSTO, M
FnRMni<E14.7,141
~If·: T1 E I Q , t 4 0 I
I f\ 0 I [ I , f\ t ( I. l , '' :~ < I > , !< I r I I , II:.' I I I , I 1 , Ml
uw
APPENDIX D
Auxiliary Programs MENU, MENUM, RUN,
PLOT, and PRINT Coded in FORTRAN
113
114
/llf:IT,F=MENU
.PROC,MENU*M'FllE ROUTING OPT!ONS',OPTlON=
(l'kUN THE MAIN PROGRAM ONlY.',
2'F'LOT THE RESULTS Otl TIW f-'F;ltHEI\ ,•,
3'F'LOT THE RESULTS ON filE r·t.nrTIF;.' >.
, IF , l:lf' r 1ON. Lfl. 1 • fiUtl •
• If- ,OF' TION .Ell.:~ .r·F; !Nl,
.IF,Of-'rfUN.EQ,J,PLOr.
F;t:VEF; f, NOLl Sf.
115
/LIST,F=MENUM
,F'ROC,MENIJM*M'FlLE ROUT!Nii UF'TIDNS' ,OF'TlON=
Cl'ENTER THE DAfAS VIA TERMINAL.',
2'USE AN EXISTING ~ILE AS !NPUT,'I,
.lF,OPTION.EQ.l,INPT.
, IF , Of-' I' [ON. F II.~·. MF Nll.
HL':VEF;T ,NOLIST,
116
/L I !:>T, F =RIJN
• F'ROC, RUN* I •
GET,IIRSTNT,FIDAT.
REWIND,*·
FTN5,I=IIRSTNT,L=O.
u;o ••
m::VERT ,NOL.IST.
117
/LIST,F=PLOT
.F·fWC,F'LOT*I.
GET,IIRSYNT,FIDftT.
REWIND,*·
FTN5,I=liRSYNT,L=O.
LGO ••
RlPLftCE,TAPE7=FRGDAT.
GET,CALPLOT,FRGDAI.
HEWIND,*•
F INfi,Cr'ILCOMP,I=Cr'ILF'I OT.
REVEF{J" ,NOLIST.
p '
118
/l.IST,F"'F'RTNT
.F'RDC,F'f;TNfl[,
GET,IIRSYNT,FIDAT.
REWHHI,
*.
FTN5,I=I!RSYNT,L.=O.
LGO ••
F;Ef'l..riCF, f rif'l. 7=-1-1-;IJ!Iri I •
fiFT, Pl·;r~ TTL f, f F;tHirH.
REWLNLI,*·
FTN5,I=PRNfPL.T,L=O.
I.GD ••
REVERf,NOl IST.
119
/LIST,F=INPT
.PROC,INPTU.
GET, IN[II'\T,
REWIND,*·
FTNS,I=INDI'IT,L=O.
LGO ••
REPLI'ICE,TI'IPE9=FtDAT.
GET,HENU.
REWIND,*·
HENU.
REVERT,NOLIST.
APPENDIX E
Sample Computer Listing of the User Prompts
And Output of the Computer Program
for Example 1
120
F:lE fWUTING
1,
::!.
llf'IION~
ENTER HIE [11'\TI'\5 VI" lEf.MINI'IL.
USE 1\N EXISTING fiLE 1\S INFUT,
SELECT PY NUHfiER OR Tlf'E 0 10 null 1 1
T'l'F'E Of t'\PPROXJHfiTION 1
? I
NUHFER Of FIEI'IL ZEROS 1
, 0
NUIIHR OF ZEROS ON UNIT CIRCLE 1
1 2
NUII~ER OF COIII'LEX ZEROS 1
? 0
NUII~ER OF REAL POLES 1
? 0
NUIIHR OF COIII'LEX POLES 1
? 2
ANGLE OF ZERO ON UNIT CIRCLE NO, I
? 3. 6
AIIGLE OF ZERO ON UNIT CIRCLE NO.
? 3. a
ANGLE OF COIIPLEX POLE NO. I
? 1. 6
At\I1lUS OF COMPLEX f·OLE NO. 1
1 0. 8
fiNGLE OF COHF'LEX POLE HO. 2
! 2.-4
RADIUS OF COHf·LEX POLE NO. 2
., o .a
VI\LUE OF 1<.0 ?
1 1. 0
NUHEIER OF INTERVI\LS ?
? 3
NUHE&ER OF POINTS ON IHTEF\Vfll
, 41
NUHFER OF POINTS ON IHTERVfll
, 0
NUHf!ER OF POINTS ON IHTERV!Il
, 41
SF'I'ICIHG OF POINTS ON THE lHTER.VfiL
,
"
SF t"'CIUG Of f·OJNTS ON HIE JNTERVI\l
,
1
SF't\CIHG OF f·BJNTS ON THE INTERVI\l 3
, 3
RELI'\T l\.'E \JEIGHTING FOR HfiGNifltltE fOR INTf.R.VI'Il 1
?
10.
FiElf!.l JVE UEIGHTING FOR Ht"'GNITUll£ FOR lNH.F\VI'H.
7 0.
RELt"'llVE U£IGHTlNG FOR HI'IGtUTUli[ FOR JNTEfiVI"'l. J
? 1.
f.:Elt\1 IVE UEIGHTlNG fOf.i GROUF' li[lfiY fOf.i INTER.VI"'l. 1
7 0.
FiEUHIVE UEIGHTING FOf.i GFiOLJF' li[lfll' FOFi INTffiVI'IL
, 0.
RELMIVE L.IEIGHTING FOR UkOllf' ['£LI'IY FOR INHkVt'll
? 0.
STf'\riTUlG FOINT Of TilE Mf'FiOXIMI'ITION INIH;VI'\l 1
?
o .• 0
STf'\FiTlNG f'OJNT Of THf. 1\f'f·fiOXlMI'IT JON INTEf.iVI'Il
1--4
N
1--4
122
------a
"'0z
~
u
z
~
a
"'
0
0~
"'
~
~
~
"'z
~
~
c
*
.;.::
~-
~~~
=
:::
0 0 0 0 0 0 ...
OOOOOO<D
000000"
gggggg~
--------no,...
om••
I
N
~
~
aaaaz
'""lo.tWWW\oiW
c
I
I
I
I
I
I
WW!...IW
_,,., .. lt'..o .... - • ......
"'c
o
oco::·
%%%%;:
~~~~~e~~~~g
z
~
-
I
~~~~~~~~~~~
U
z
~
;;;;;;;;;r-:-:o:o:
o----
H~H
::>
~
~
~~-
I
CC:C<
0
~
0
IDi•
I
i5
~
~
~
I
:!:!:::~
~
%
I
~;;c;;;;;u;;:o:::~e
%% :z. z
zzzz
u
!~ ;;;
~ ~ !~
I
-~"·~~~-N"·~~~m~~
~
.._
...........
,:..;;.,;:..::.
r...
---~
0
000
....
~~~~~
ocoee
OLI•r
Oli•F
OlllF
Ql(•F
Olflr
OU•f
•
•
•
•
•
•
Ql(lf
•
Oll•F
Oll•r
Dll•f
DLI•f
Ql{lf
Oll•f
Oll•f
OLI•f
•
•
•
,.
•
•
•
•
•
.aBJlE-01
.1297£-01
lllhi'IIIUN Ntl,
IJEf~I'IIIOH NO.
IIERAJION NU.
IIEF:IItiON NO.
11£RI'\IJQH NQ,
II[RI\JJON NO.
IIERI'IIIOH NO.
I t(RI'IJ ION Nil.
JI[RI'If ION NO.
IIERI'IJION NO.
IIEAfiiiOH NO,
I fERfiiiON NO.
llff>l'lllON Nf).
IIHI'IIION NO,
I HRI'I.I ION NO.
.1~::!4[-01
.8]27£-02
,JU:OJ:-02
,JJ60E-02
, JI'I6E-O~
.297IE-02
.~678£-02
.2319£-02
.2184£-02
.1917£-02
.156~£-0~
.. ]~9[ -02
.1184£-02
.11205[-02
10>• I
NO Dr rUNCI EVIILUI\IIONS•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Ot {If •
Oll•f
Oll•f
Oli•F
OLl•f
,.
•
•
•
•
NO Of ll(kl\1 IONS• :08
. 9448296:i£ 100
o•
,9J29794l[t00
Gf
o730lll71£100
GC
01
.4l478941(t00
• 768lll40( 100
DC
,Q74594:6£t00
lCI 61•
oc
X( 71•
,J3871918EtOO
Gl
-1121£-02
lltRfiiiOH NO.
• 1116£-02
II(Ri\IION NO.
.tii4E-02
IURI\IIOU NO.
ll[f::fltWN.fiO •
• IO:iBE-02
.1029£-02
Jl(ki'IIIDN NO.
. 9017£-0J
IHRfiiiON NO,
II[F>I'IJIOH HQ.
.9606[-0l
, 7345[ -OJ
I TEf:fiiiON NO.
.624ZE-Ol
IIEFll'lliON tiD.
J I[Fli'I.IION NO,
• ~79!1£-0J
• 4478£-0l
lllf..l\1 ION NO,
,JJ06E-OJ
llff::l'lllllN NO.
,]094[ -OJ
IIERI'II ION HO.
• 241~[-0J
IIEMIIOH NO,
.:!207E-OJ
IIEf;l'lliOH NO.
.1916[-0J
I l[FU\T ION NO.
,J605E~OJ
IIERI'IJION NO.
,JS~oE-OJ
II£Rfi110N NIJ,
.14];'[-0]
IIEMIION NU.
• '418[-0]
I TEF:.fll ION NO.
oiJ96[-0J
11£F:.fiiiON NO,
J l[f..I\J ION NQ,
,JJ7l£-Ol
.1368[-03
I I[MIJOH HQ,
.I 3667£-0J
2~
26
:07
28
ll~
XI 1 I•
XI 2••
)C( Jl•
)Cf 41•
)C( 51•
Otl•f
OLI•f
Oll•f
OLI•f
Otl•f
Dtl•F
Oll•r
Oll•f
Ol.l•f
Ol (If
DLI•f
Ol(•f
at fir
DLI•f
OLI•f
Oll•f
OLI•f
Oll•f
14
IS
l6
17
18
19
:00
21
22
2l
24
lEA• 0
1 ,.
.972175J:£ -02
.41645419£-02
:OJ•
·110]9178£-0t
l I•
4 ,.
.10158747£-01
'51• -.118011:0:!£-01
.16~.53009£-01
6h
71• -.13068070(-01
I
2
l
•
10
II
12
ll
14
15
16
17
18
19
~0
:01
;:~
23
NO Of 1 JERI\ I IONS• 23
NO Of ruHCI EVI'ILUI'I.TIONS• 2::!.:!
X( 11•
XC 2J•
)C( Jl•
)(( 41•
XI 51•
Xl 61•
71•
.8'!09J0987Et00
.9]806486£100
• 8090$1 4:i[ t 00
.SI2Z7601£t00
, 7B07Jl16Ef00
,SBB174'!i9Et00
. 44060J::6r I 00
01
Gf
Gc
,4U4161JU -Ol
. ~::!40996'!.£ -Ol
]l•
.:;to~sn::E-oJ
41•
. 66624764[ -OJ
:il• -.86:i97BBI£-Ol
.11979,)[-02
Gl 61•
G' 71• -,77854::36£-0l
I)•
;! I•
Q(
Q(
!....I.
!:\:)
vJ
124
c
~
<
~
-
~
~
0
c
~
..
~
~
,,
~
.,
;;
s
.
5c
~
-i"'
~
~
~
~
~
~
0
!!!
~
~
_,,.,,...,oO,..,
------;;;:;;;L;~;:;
E ~
::;
z
z
.."' ..
~
~
z
2
~
~
u
~
0
~
~
w
-
•
I
I
I
~
0000000
0000000
-·-----
,,
-w .... w ... ww
<~•1- .oo--<)
Cl~• 0 -•Jro
,.
.. _..c.., .. ,.,
....
v.
~u~~~~
z
c
.. ~
0
------______
c
)()("liOINJCJoC
I
0
. .."'"'
u
z
~
~
~
0
w
"
::
;:;
~
~
c
~
~
I
0
!!!
~
c
c
=~
.
.: .
~
2
•.
.
~
~
z
~
~
0
z
~
~
I
I
I
I
I
I
-r•l"''•ll'\.0,..
._.
.
c
.
~
""
:;:
"
~
.
:"'
~
~
0
~
z
<
<
:
~
~
0
.
~-
0
~
"w
"<
z
0
0
c
0
0
0
0
0
0
0
0
~
125
0
g
..
~
0
0
0
0
~
0
~
"
0
0
"
.
~
0
~
""
0
~
~
<
§
~
0
~
.... ."
~
0
'i
~
~
"' ""
"
~
e"
~
-
u
z
0
0
0
~
"00
"
c
w
~
0
0
0
0
c
c
~
~
,
<
c
z
~
~
~
0
<
~
i
,
%
<
~r
"
~~
og-
~
>
0
"
z
l!;
;:
~
~
2
<
c
0
~
~
z
0
5
~
~
u
~
0
0
...
~
~0
-§0
~
•·
~~
~
c
~
~
~
~
~
• :J
wowo
•
... -oo
::;:,
~ ""'~
l2G
g
···--------------------------~
0
0
0
0
.,
"
~
:
%
<
~
0
0
m
M
%
- r.-
000
n
0
<
0
3
0
~
0
0
~ ~~~~~~
O-lol%0%%~"1
.;;,
..
<W
J;;
..
-w
E:
..
128
............................................
-
0
~
"
:'!
:'!
z
z
,"'
oo
g~
~
~
<
<
0
0
0
0
~
~
~
u
~
~ ~~ ~~
~
~
g~
0
oo
~
...
~~
~
u
0
<ro
c-
z-
; ;
~~
uu
~~
~0
~
~
0
0
<
z
~
<
~
~
.
-
"
~0
~0
129
g
................................. - ........... .
...............
~
0
~
0
~
0
0
<
0
~
"'
!;;:!
~
~
e
~
~~
~
z
~0
0
<Z
0
~
~
<~
w~
0
0
z
;:w
z
~<
~
0
"
"'
~
z~
~:>
~
"'
~
~
z
~
~
z
0
~
0
0
z
~
0
"
~
~
130
~
1
z
n
1
•
n
11
~--~--~
c
~~u~ouogggggggggggggggggggggggggggg
~
~
0
z
z
::
~
c
~
~
~
~
~
~
z
2
~
z
~
~
=.
<
0
~
"
0
~
:.
J
~
u
~
0
~
~
~
<
~
z
-
M
M
~
~
ooooooo--occoooo- ......
-------
ww,.,u&~ww;..;
oO.,.._ ....
N-
I)oo--o- ....... o-
0000001'
o o o o o
y
~,1"'1--0-<IC
or~
onoooor4
• • • • • • ·--oooo----------~~~NNNNNNN~N
!!!!!!!~~~~~~~~~~~~~~~~~~~;~~~~~~~~
-nn·~~~-··~~-•o~•ID•~~a-N«..:I..:ID-~1'-m-..:~«w
;;;;;;;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
0
~,
wwwwwww
ooooooooooooow
O.O..,.ID..:IIDD-
u
c
~
50Z
"~~"~~~~""~~~"~"~"~~~~~"~"""
~
0
~
~
:.
============================
ww~www~w~w~wwwwwwwwwwwww~www
000000"
0000000
c
.
-
000000----------------------------~~~~~~~----------------------------
c
~
c
Q
-r,,., ..
1!11:11:101:100 • •
~
zz~zzzzzzzzzzzzzzzzzzzzzzzzz
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
c
-
..,..,""_(l ..
- ------------- =o=
tn
R
=~~;~;;_r,~~~~~w~~=~=:~!~~~2~~~~~~~~ ~
0
I
I
I
I
I
M I
I
I
M I
~
I
I
I
I
I
I
II
I
I
I
I
I
I
I
I
I
~~!~3~Z~~~3~~~~~a~z~~~~~~~~~
5S~~~56~56~~565~5S~g~6SS~~~~
~
:i ~~~~~~t
.,
I I I I I MI:::
~
:;:;;;;;;;;::;:::::!::
"0
-
uz
K)C )o(l>(J<X K
-
~
~
~
0
~
~
---------•
•
•
131
~
c
2
<
w
"z
"'<c
~
~=~~=~=::::::~~g~
==~oooocooooocooo
.::zzzzz:zzzzzzzzz
-------
CJCJCl::e~~
~
.....
z
~
"
oooo:::.oo
rl
Ul
~~"~~""""""""""""
00000000000000000
I
I
I
I
I
I
I
I
I
I
I
I
l
I
I
I
I
_wwwwwwwwwwwwwwwww
~~~n=~·~~~~~~~~"~
-o•·~~=~-o-or•n-~~~
Gnr•~•no•~m~~••nn~
..................
~~~~·nnr•N--------
z
-------
r
O:Da.t• o _,., r<
o-.,.--o,..,•n
0
~
c
..a~,,.....,,.._
l"'l
oar:"" -o
m
'<l
0
~
2
0
~
I
~
z
0
c
,"c
0
~
z
"
"
0
""
~
~
"'"'"'
~
~
~
~
n-o,...
~
..
z
-
..
0
z
0
"
"
I
_...,"
~;:;t;;:;
-
0000000
""'~"I-.(){}"
I
z
c
r
2
I
0
~
~
ww ....................
: i :;.:~:::
•
~
0
~
...."..
w
" .,
~
2
0
0::
0
.
<
0
2
~i~H~~
o-on"M,....o
...,OOI"Ir-." -<1
::;~~~gg:~
~o;~·~":~~
Ill
.....
I
I
;
)()O:)'<)o< K K
-r•,..,., .,
~
~
2
<
~
N
,.JI.:.:'>'..l->•1 lVI
CONST,
.440603~0Et00
NUI'IfhfiTOA COEffiCI[NIS
•o
fl~
"
, I OOOOOOOE tO I
, I OOOOOOOE I 0 I
. I 0000000£ t 0 I
, toOOOOOOE t 0 I
.180780H( IDI
.196~:!~99(101
(1ENOMINI"'TUt; CO£FfiCIEN15
.
•o
, I 0000000[ t 0 I
,IOOOOOOOEtOl
"
.:!0:!4:::!671Ei00
• 7099:!0~8£ 100
.S4::..6o7:!0EIOO
.t37:!:!3llE tO I
Ffo.EOUENC'I' fiESf'ON5E
FFiEOUENC'I'
.OOOOEtOO
.IOOOEIOO
• ::!000000
, JOOOE' tOO
• 4000£100
.~000[100
• 6000£100
, 7000EIOO
.eoooEtoo
,9000£100
,1000£101
, I I 00£+01
.t:!00£101
.1]00£101
.1400£101
, IS00£101
.1600£101
'1700£ 101
.1800£101
.1900£101
,2000UOI
.ZIOOEIOI
.:!~00£101
• 2300Et0t
.:!400£101
.2!.00£-tOI
• 2600£t01
.2700£101
.:!800£101
.2900£101
,]000£101
.3100£101
• J::!00£101
.JJOOEtOI
• 3400£101
, 3~00Et01
, :1!.0l\f tO I
I'UIQNITU[I(
.99]2:![100
.997:!~E'tOO
.997J2EIOO
.99745£100
.9976:!£100
.99784£100
.99811Et00
.99843£100
.99879£100
• 999:!0£ I 00
,99964£100
. lOOOiftOI
.t0006Et01
.10011£101
,10017Et0l
,1002:!£101
.I00:!7Et0l
,J0031EtOt
.10033£101
,JOOJS£101
,JOOHEtOI
,J0029EIOI
,JOO:!IEtOl
'10009£t01
.99923£100
.99n9etoo
,99!i61EIOO
,99531£+00
.998::!8£100
oi0048EIOI
o99::!7!iff00
.82803£100
.42460£100
,JJ670Et00
.tHOOE-01
.16121£-01
.1761:'!£-01
lOSS IN C•(l
.::!4149£-01
, :!J9l3E-OI
,:;!J:::!BSE-01
• :!::!::!07£-01
.:!0700£-01
.18769£-0l
.164::!1£-01
,, 3664£-01
.t0SI4E-01
. 699::!9£-0::!
.31316£-0::!
-.IO::!~IE-0~
-.~4149£-0~
-.99S14£-0:!
-.14::;17£-01
- ,J89~<1£-0I
- .:!JO:;oE-01
rtlt'\SE
.OOOOOE I 00
-. 3~716(-01
-. 6~~49(-01
-.9661~£-01
-.ll:!04EIOO
-.16S94Ef00
-.::!0046£100
-, H:S7JE 100
-, ::!719::!£100
-.30919£100
-.34773£100
-.Ja77::Etoo
-. 4:!949(100
-. 473:::!::!£ I 00
-.Sl9~4Et00
- .5679:::!£ 100
-.61969£100
-.:!6~:!~£-01
-.67~03£100
-. 29017£-01
-.30068£-01
-.::!911:.£-01
-. ::!~!.07£-01
-.7J4SSEIOO
-.79896£100
-.86914£100
-,94617(100
-.JOJ14EI01
-.11:!6t.EIOI
- .t2341Et01
-, IJS71EIOI
-.aa::;ne-ot
-. 78149£-0:::!
.6719:!£-0::!
, ::!lS~SE-01
.38::!22£-01
• 40793£-01
.14940£-01
-. 4ll19E-OI
.63::!31£-01
.16391£101
• 7HO:;Et01
,J nBSEt02
.34244£102
• 3!:8:52£ 102
, JSOAH tO~
-,IS00~£101
GfiDUf' I1El f\Y
• 41631£100
• 4170~t: 100
, 419:!7Et00
. 4::!301£100
. 4::!833£100
.43~:!9£100
.44401Ef00
• 4:5461Et00
.467::!8£100
, 40:!:!1Et00
• 499.!!t.E too
,:;L99SEt00
.S4H6EIOO
,::;7o6::Etoo
, 60~09£ tOO
, 6l94l'Et 00
.6807:!£100
, 7::!967£ I 00
. 7873:::!£100
.8~480EtOO
,934.!10£100
.I0:!9nnol
.11444£101
,J:!84!;f 101
. 14:091£101
, U83:::!Et01
.1984::!£101
.14694£101
.t:!S47El01
,96:591£100
.~4177£101
.~JH:!EIOO
,69]88Et01
.I 025~£102
.87494£101
.!ilo2:!7Et01
.40070Et01
.3::!::!49£101
. ::!799(\f:f(IJ
-,I !i~~6Ei00
-.93~77£100
-,14908£101
,J2806Et01
• 10000£101
, 764<'~9F 100
, liii4EIOI
.4JO'I~E101
l-'
rA
t;;)
,j',ll.>l>l.
\.'J
,.:..,-I.•Vll~•.
,,
· ...H IVV
.4000£101
.lSl:i9f-OI
,Ji7:!3E.t02
,.:04:<0:?[-IJ
NUI"II•f.R OF f'OINTS Of fR£rlUE:NCY KESf'ONS£
., 1000
FREQUENCY SCI'IliHG
O"'fil'l(il flttSI~t'IMf"lE:, I =C YCL[SIS/\MI'l [
• :?::!7~7lt01
1 I
EHlER LOo.lt:A FFiEOUENCY LIMIT ICYCL[/St'IMI'lfl
1
o.o
[NIER UfTEf\ FREQUENCY l.JHII
1
o. :i
ICYCL£S/5Mf"Lf.)
ENT(R IIi£ NI'IME IQ t'lf"f'£1\R ON Ttl£ f·1QT,7 CHI'IIl/\Cilfi UtiLY
., ROSIII'IN
f•D lOU 1./fiNT TQ fLQT lliE Mo'IG. VS, f"F-:£0. YES.,I,NUaO
1 I
Sf(Cin Ttl[ fii'INGE Of 111'1UNI IUl•E TOU Ul'ltH 10 HOT
UFI"'ER lll'll T
.,
1. 0
lOU(R liMrT
r o .o
>') HOT GENERo'l}£[1 (f'LQT HI'IM£ • liUSW\N I.
X--RI'INGE:
S.O Y-1\I'ING[.,
9.8 TIMt:"'
Cl'll COnf· -- Xfffi '>) IS f"lOl OJ\ lU l•fii'IU ON f·LOIIH 1 YlS
CI'ILCOMF' -- XFER >> f'UIT Tfii'INSFEfii>Eit,
1•0 YOU UI\HT TQ f"L.OT [1[1; GI'IIN VS, ff..EO. YES"l,NO=O
CfiLCOMf' -- f'LOT
!
13 (5£CUN1•1Sil
I
MINIMUM OI'IIN IN [lit IS "'
B3.7:::!6!.0:<ltB
(NTER THE MIN, l•it GfllH YOU t.II'INT TO I"L.Ol
., -04
.o
,,.,XIMUI"l QfiiN IN (lit IS•
-.04'o'842457
ENIEF-l TilE HI'IX:, 1•11 Gt'IIN YOU t.II'INT 10 FU
., o.o
:;-> t'LOT O£NERI'ITEr• lt'LOT HfiM[ • fiOSHI'Itl ) •
X-Fii'INGE •
7.9 Y-Kt'INGE •
9.8 TINE "'
Ct'ILCOMF' -- X:f"ER )> IS F'I.OT Oto. TO l•fu.. U ON f'LOITEfi ? 'r£5
CfllCOI"\P -- XFER n
FLOT TKI'INSFEf;f-.£(1,
l•O YOU t.tt'INT TO f'LOI F'HI'ISE VS, Ff.iEO, T[5•1 1 NO•O
Ct'ILCOMP -- HOT
II
ISt.COm•ISl I
1 I
l"'t'IX111UI'I F'tii'IS( IS • J,!.to9ni'I[III'INS
ENTEFI HIE MX, F"llfiSE YOU 1.11'\NT ro f'LOT
.,
~.o
I"IJNI/1UM F'HIISE IS •-J,:i70RI\l•II'INS
£NIH IHE 11INIHUH f'HI'ISE YOU UIIHT 10 HOT
1 -::!.0
CI'ILC011f' -- f'LOT n
f'lOl GEN[Rt'ITEJ• CF"LOT Nt'IME • ROSIIIIN ) ,
X-fofiNOE •
7.9 Y-1-ii'INGE •
9.8 liME •
Cfll.COMF' -- XHR
IS HOT OK TO I•RI'IU ON HOTTER 1 YES
Cl'll COMP -- XFER
f'LOT TRI'INSfERF-[[•,
[IQ YOU 1.1.-.NT TO f'LOT OROUF' [IEli'\Y VS.Ff;EO. TES•I ,NO•O
"·
»
14 ISECON[IISl l
»
1 I
Mt'IX:II"\UH GROUP (lflt'IY IS •
10.46:il41!i34
ENTER THE Ht'IX, GFIOUf' I•ELI'\T TOU l.lt'INf 10 HOT
T 11.0
MIHlrtUM UROUF' [>Elt'IY IS •
.416312:061
EHlER THE 11JNJMUI1 GfiOUf· [IEli\Y YOU WI'\HT TO f·LOT
1 o.o
CfllCOnP -- f'lOl
f'LOT GEtlERI'ITEI• Cf"LOT tlfiME '"FiOSIU\tf l,
x-fit'INGE ..
a.o Y-RI\NUE ..
9.a llttE •
Cl'll COMP -- XfEFI
IS HOT 0"'- TO t•Fil'll.l ON f'LOITER 1 '((S
CI'\LCDI"\P -- XFER
f'l.OT TRI'\NSFERhEtl.
»
»
»
14 ISECU/1.[115))
:....1
w
~
APPENDIX F
User Manual for IIR Digital
Filter Design Program
This program performs the synthesis of the IIR digital filters using a p-error criterion and the FletcherPowell method. The main program calculates the coefficients of the transfer function of the filter.
Other
programs plot the magnitude, dB gain, phase and group
delay versus frequency on the printer and the CAL-COMP
plotter. There are also several procedures that run the
programs as well.
Following is the list of different computer programs
used along with an explanation of their functions.
1.
IIRSYNT. The main program that calculates the
filter coefficients.
The program that plots the magnitude,
2. CALPLOT.
dB gain, phase and group delay versus frequency on the
CAL-COMP plotter.
3. PRNTPLT. The program that plots the magnitude,
dB gain, phase and group delay versus frequency on the
printer.
4.
INDAT. This program lets the user enter the
input data at the terminal and writes the data on a file
(FIDAT). This file is then used as an input file by
the main program (IIRSYNT).
There are six different procedures that allow the
user to run the programs in different combinations.
They are as follows:
1. MENU. This procedure allows the user to decide
whether to run the main program only, or to run the main
program and plot the results on the CAL-COMP plotter or
the printer.
2. MENUM. This procedure allows the user to decide
whether to enter the data at the terminal, or to use an
existing file (FIDAT) as the input file.
134
135
3.
INPT. This procedure allows the user to enter
the data at the terminal and then go to the MENU
procedure.
4.
RUN.
This procedure runs the main program only.
5. PRINT. This procedure runs the main program
and plots the results on the printer.
6. PLOT. This procedure runs the main program and
plots the results on the CAL-COMP plotter.
Two data files are used in these procedures.
are listed below.
They
1. FIDAT. This file is the input file for the main
program (IIRSYNT). This file can either be created
before the program is executed by the user, or it can be
created by running the INDAT program. The INDAT program
accepts the data through the terminal and writes it
into FIDAT.
2. FRQDAT. This file is created by the main program
and contains the filter coefficients that will be used as
an input file by CALPLOT and PRNTPLT programs.
Below is a diagram of routing options of the program.
MENUM
136
Running the Program
To run the program, follow the following steps:
1.
After logging in, type
/GET,MENUM,MENU,INPT,RUN,PLOT,PRINT
/MENUM
2.
The following will appear on the screen:
I-ENTER THE DATA VIA TERMINAL.
2-USE AN EXISTING FILE AS INPUT
ENTER THE OPTION, ..... .
Enter an 0 or 1.
3.
If option 1 is chosen, the computer will ask the
input data one by one. All the entries in this program
are the free format form.
4. After the data are entered, or if option 2 was
chosen, the following will appear on the screen:
1-RUN THE MAIN PROGRAM ONLY
2-PLOT THE RESULTS ON THE PRINTER
3-PLOT THE RESULTS ON THE PLOTTER
ENTER THE OPTION, ..... .
5.
If option l is chosen, the main program will be
executed and the results will be printed on the printer.
6.
If option 2 is chosen, the main program will be
executed and the results will be printed on the printer.
Then the following will appear on the screen:
NUMBER OF POINTS OF THE FREQUENCY RESPONSE?
Enter the number of the points you want to plot.
The maximum is 1,000 points (free format integer).
FREQUENCY SCALING O=RADIANS/SAMPLE, l=CYCLES/SAMPLE
Enter a 0 or 1 (free format interger).
ENTER THE LOWER FREQUENCY LIMIT
Enter the lower limit of frequency you want to plot
(format Fl6.9).
137
ENTER THE UPPER FREQUENCY LIMIT
Enter the upper limit of frequency you want to plot
(format Fl6. 9).
DO YOU VI ANT TO PLOT MAG. VS. FREQ. , YES= 1 , NO=O
Enter an 0 or 1 (free format integer).
SPECIFY THE RANGE OF MAGNITUDE YOU WANT TO PLOT
LOWER LIMIT
Enter the lower limit of magnitude (format 16.9).
UPPER LIMIT
Enter the upper limit of magnitude (format 16.9).
The computer will then plot the magnitude versus frequency
on the printer.
DO YOU WANT TO PLOT DB GAIN VS. FREQ.,YES=l, NO=O
Enter an 0 or 1 (free format integer).
MINIMUM GAIN IN DB IS= ..... .
ENTER THE MINIMUM DB GAIN YOU WANT TO PLOT
Enter the minimum dB gain (format Fl6.9).
MAXIMUM DB GAIN IS= ..... .
ENTER THE MAXIMUM DB GAIN YOU WANT TO PLOT
Enter the maximum dB gain (format Fl6.9).
The computer will then plot the dB gain versus
frequency on the printer.
DO YOU WANT TO PLOT THE PHASE VS. FREQ.,YES=l,NO=O
Enter an 0 or 1 (free format integer).
MAXIMUM PHASE IS= ..... .
ENTER THE MAXIMUM PHASE YOU WANT TO PLOT
Enter the maximum phase (format Fl6.9).
MINIMUM PHASE IS= ..... .
ENTER THE MINIMUM PHASE YOU WANT TO PLOT
Enter the minimum phase (format Fl6.9).
138
The computer will then plot the phase versus frequency on the printer.
DO YOU WANT TO PLOT THE GROUP EELAY VS. FREQ. ,YES=l,
NO=O
Enter a 1 or 0 (free format integer).
MAXIMUM GROUP DELAY IS= ..... .
ENTER THE MAXIMUM GROUP DELAY YOU WANT TO PLOT
Enter the maximum group delay (format Fl6.9).
MINIMUM GROUP DELAY IS= ..... .
ENTER THE MINIMUM GROUP DELAY (format Fl6.9).
The computer will then plot the group delay versus
frequency on the printer.
It is important to note that in all of these plots,
the user can specify the range of frequency, magnitude,
dB gain, phase and group delay to plot over any interval.
7.
If option 3 is chosen, the computer will ask the
same questions as in step 6 and plot the results on the
CAL-COMP plotter. The only difference in this procedure
is that the user has to specify the name to appear on
the plot. This name could be any name with a maximum of
7 characters.
At the end, the user has to specify whether
to transfer the plot to the plotter or not.
© Copyright 2026 Paperzz