Generalized digital Butterworth filter design
Generalized Butterworth Filter
Design a generalized Butterworth filter with normalized cutoff frequency rad/s. Specify a numerator order of 10 and a denominator order of 2. Visualize the frequency response of the filter.
n = 10; m = 2; Wn = 0.2; [b,a] = maxflat(n,m,Wn); fvtool(b,a)
Monitor Filter Design with Display Option
Design a generalized Butterworth filter with normalized cutoff frequency 0.5 rad/s. Specify a numerator order of
8 and a denominator order of
2. Display the design table and the plots of the filter characteristics.
n = 8; m = 2; Wn = 0.5; b = maxflat(n,m,Wn,'both');
Table: L M N wo_min/pi wo_max/pi 8.0000 0 2.0000 0 0.2707 7.0000 1.0000 2.0000 0.2707 0.3710 6.0000 2.0000 2.0000 0.3710 0.4581 5.0000 3.0000 2.0000 0.4581 0.5419 4.0000 4.0000 2.0000 0.5419 0.6290 3.0000 5.0000 2.0000 0.6290 0.7293 2.0000 6.0000 2.0000 0.7293 1.0000
n — Numerator coefficient order
real positive scalar
Numerator coefficient order, specified as a real positive scalar.
m — Denominator coefficient order
real positive scalar
Denominator coefficient order, specified as a real positive scalar.
Wn — Normalized cutoff frequency
scalar in the range [0, 1]
Normalized cutoff frequency at which the magnitude response of the filter is equal to , specified as a scalar in the range [0, 1], where 1 corresponds to the Nyquist frequency.
designflag — Filter design display
Filter design display, specified as one of these values:
'trace'for a textual display of the design table used in the design
'plots'for plots of the filter magnitude, group delay, and zeros and poles
'both'for both the textual display and plots
b — Numerator coefficients
Numerator coefficients, returned as a vector.
a — Denominator coefficients
Denominator coefficients, returned as a vector.
b2 — Polynomials
Polynomials, returned as vectors. The product of
b2 is equal to the numerator polynomial
b1 contains all of the zeros at
z = -1, and
b2 contains all of the other zeros.
sos — Second-order section coefficients
Second-order section coefficients, returned as a matrix.
g — Gain
Gain of the filter, returned as a real-valued scalar.
 Selesnick, Ivan W., and C. Sidney Burrus. “Generalized Digital Butterworth Filter Design.” IEEE® Transactions on Signal Processing 46, no. 6, (June 1998): 1688–94.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
All inputs must be constant. Expressions or variables are allowed if their values do not change.