= fS.11x3 \; greater than or equal
fS.11c> \; greater than
ft \1 ... >
ft \1 ... >
ce >ft \2 ... >
{ #m#k#f#i#l#t#e#r is a program which
designs an infinite impulse response digital filter from parameters
specified on the command line, using the bilinear transform method. }
{ The source code of the program (in C) is at
ft >TABL
and there is a World Wide Web form-based front end at
ft >TABL }
{ In normal use, the output of the program is a set of S- and Z-plane
pole and zero positions, the filter recurrence relation, and some other
information in human-readable form. By specifying the #-#l
parameter, computer-readable output is produced which can be piped into
other programs. In particular, the program #g#e#n#c#o#d#e takes the #-#l
output from #m#k#f#i#l#t#e#r and generates a piece of C code which implements
the filter, and the program #g#e#n#p#l#o#t takes the #-#l output and
generates a #g#i#f file containing phase and magnitude graphs._ #g#e#n#c#o#d#e
has no parameters._ #g#e#n#p#l#o#t has one, the name of the output #g#i#f file. }
{ #g#e#n#p#l#o#t uses the #g#d gif manipulation library from
Quest Protein Database Center, #<#h#t#t#p#:#/#/#s#i#v#a#.#c#s#h#l#.#o#r#g#/#g#d#/#g#d#.#h#t#m#l#>. }
{ A warning about higher-order Bessel filters: although an analogue
Bessel filter has an excellent approximation to a linear phase
characteristic, the pre-warping inherent in the bilinear transform
design method upsets this, and the corresponding digital filter often
deviates significantly from linear phase. This is particularly evident
in the higher-order Bessel filters (say ^N_>_2). You're advised to study
the graphs produced by #g#e#n#p#l#o#t before you use any Bessel filter
generated by this package. }
>SECT
{ ``[]'' means ``optional''. }
{ The following parameters are required: }
< #-#B#u \t |5 \tf of these options must be specified. The parameter ^r
is the passband >
< #-#C#h ^r \t |6 \tf ripple in dB,
meaningful for Chebyshev designs only. NB:_ ^r \< 0. >
>TABL
< #-#H#p \t |5 \tf Exactly one of these options must be specified. >
< #-#B#p \t |6 \tf >
>TABL
\need 2
TABL
TABL
< \t Low-pass: \t __^N \t __--- \t __^N \t ^N at --1 >
< \t High-pass \t __^N \t ^N at 0 \t __^N \t ^N at +1 >
< \t Band-pass: \t _2^N \t ^N at 0 \t _2^N \t ^N at --1, ^N at +1 >
>tabs >TABL
TABL
>SUBS
{ The following parameters are optional: }
TABL
TABL
TABL
TABL
>SUBS
>SECT
\need 9
< \t \t Generate a 4-pole Butterworth low-pass filter with corner
frequency 0.2 ^f`S; >
< \t \t display pole & zero positions and filter recurrence relation >
>TABL
< \t \t Generate C code for the above filter >
>TABL
< \t \t Generate phase & magnitude graphs for the above filter >
>TABL
>SECT
< Dept of Computer Science >
< The University of York >
< York YO1 5DD, U.K. >
\1
< #f#i#s#h#e#r#@#m#i#n#s#t#e#r#.#y#o#r#k#.#a#c#.#u#k >
< #h#t#t#p#:#/#/#d#c#p#u#1#.#c#s#.#y#o#r#k#.#a#c#.#u#k#:#6#6#6#6#/#f#i#s#h#e#r >
>in
\3
< \g 19th August 1995 >
>SECT
>CHAP