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