Go back to previous
page.
List of programs provided for generalized digital Butterworth
filter design _______________________________________________
general_butter.m
- main program.
spec_table.m
- computes how many zeros should lie at z=-1 and how
many should contribute to the passband.
iir_herrmann.m
- Like Herrmann's filters, the user specifies the
degree of flatness at w=0 and w=pi, and not the
half-magnitude fruequency.
subprograms provided ________________________________________
choose.m - binomial coefficients.
h2mag.m - magnitude response.
help on general_butter.m ____________________________________
[b,a,b1,b2] = general_butter(Z,P,wo)
Design of digital Butterworth filters with unequal
numerator and denominator degrees.
input
Z : total number of zeros
P : total number of (nontrivial) poles
wo : half-magnitude frequency in (0,pi)
output
b/a : IIR filter
b : length P+1 vector of polynomial coefficients
a : length Z+1 vector of polynomial coefficients
b : b = conv(b1,b2); b1 contains all zeros at z=-1,
b2 contains all other zeros.
Example
Z = 10; P = 2; wo = 0.6*pi;
[b,a,b1,b2] = general_butter(Z,P,wo);
help on iir_herrmann.m ______________________________________
[b,a,b1,b2] = iir_herrmann(L,M,N);
Design of digital Butterworth filters with unequal
numerator and denominator degrees.
input
L : number of zeros at z=-1
M : number of zeros contributing to passband flatness
N : number of poles
need : L>N; M,N>=0; N even
output
b/a : IIR filter
b : length P+1 vector of polynomial coefficients
a : length Z+1 vector of polynomial coefficients
b : b = conv(b1,b2); b1 contains all zeros at z=-1,
b2 contains all other zeros.
Examples
L = 10; M = 8; N = 4;
[b,a,b1,b2] = iir_herrmann(L,M,N);
L = 12; M = 12; N = 4;
[b,a,b1,b2] = iir_herrmann(L,M,N);
_____________________________________________________________
Please report any bugs or send comments regarding the
programs to
selesi@ece.rice.edu