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}.

Given a filter with frequency response *H*(*e*^{jω}),
the *L*_{p}-norm
for 1 ≤ *p* < ∞ is
given by

$${\Vert H({e}^{j\omega})\Vert}_{p}={\left(\frac{1}{2\pi}{\displaystyle {\int}_{-\pi}^{\pi}{\left|H({e}^{j\omega})\right|}^{p}}d\omega \right)}^{1/p}.$$

For the case *p* →
∞, the *L*_{∞}-norm
is

$${\Vert H({e}^{j\omega})\Vert}_{\infty}=\underset{-\pi \le \omega \le \pi}{\mathrm{max}}\left|H({e}^{j\omega})\right|.$$

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

$${\Vert H({e}^{j\omega})\Vert}_{2}={\left(\frac{1}{2\pi}{{\displaystyle {\int}_{-\pi}^{\pi}\left|H({e}^{j\omega})\right|}}^{2}d\omega \right)}^{1/2}={\left({\displaystyle \sum _{n}{\left|h(n)\right|}^{2}}\right)}^{1/2},$$

where *h*(*n*) is the impulse
response of the filter. The energy of the impulse response is the
squared *L*_{2}-norm.

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