Main Content


2-norm or infinity-norm of digital filter


L = filternorm(b,a)
L = filternorm(b,a,pnorm)
L = filternorm(b,a,2,tol)


A typical use for filter norms is in digital filter scaling to reduce quantization effects. Scaling often improves the signal-to-noise ratio of the filter without resulting in data overflow. You also can use the 2-norm to compute the energy of the impulse response of a filter.

L = filternorm(b,a) computes the 2-norm of the digital filter defined by the numerator coefficients in b and denominator coefficients in a.

L = filternorm(b,a,pnorm) computes the 2- or infinity-norm (inf-norm) of the digital filter, where pnorm is either 2 or inf.

L = filternorm(b,a,2,tol) computes the 2-norm of an IIR filter with the specified tolerance, tol. The tolerance can be specified only for IIR 2-norm computations. pnorm in this case must be 2. If tol is not specified, it defaults to 10–8.


collapse all

Compute the 2-norm of a Butterworth IIR filter with tolerance 10-10. Specify a normalized cutoff frequency of 0.5π rad/s and a filter order of 5.

[b,a] = butter(5,0.5);
L2 = filternorm(b,a,2,1e-10)
L2 = 0.7071

Compute the infinity-norm of an FIR Hilbert transformer of order 30 and normalized transition width 0.2π rad/s.

b = firpm(30,[.1 .9],[1 1],'Hilbert');
Linf = filternorm(b,1,inf)
Linf = 1.0028


Given a filter with frequency response H(e), the Lp-norm for 1 ≤ p < ∞ is given by


For the case p → ∞, the L-norm is


For the case p = 2, Parseval's theorem states that


where h(n) is the impulse response of the filter. The energy of the impulse response is the squared L2-norm.


[1] Jackson, L. B. Digital Filters and Signal Processing: with MATLAB Exercises. 3rd Ed. Hingham, MA: Kluwer Academic Publishers, 1996, Chapter 11.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced before R2006a

See Also