# norm

P-norm of filter

## Syntax

```l = norm(hd) l = norm(hd,pnorm) ```

## Description

All of the variants of `norm` return the filter p-norm for the object in the syntax, a digital filter. When you omit the `pnorm` argument, `norm` returns the L2-norm for the object.

Note that by Parseval's theorem, the L2-norm of a filter is equal to the l2 norm. This equality is not true for the other norm variants.

### For dfilt Objects

`l = norm(hd)` returns the L2-norm of a discrete-time filter.

`l = norm(hd,pnorm)` includes input argument `pnorm` that lets you specify the norm returned. `pnorm` can be either

• Frequency-domain norms specified by one of `L1`, `L2`, or `Linf`

• Discrete-time domain norms specified by one of `l1`, `l2`, or `linf`

By Parseval's theorem, the L2-norm of a filter is equal to the l2 norm. This equality is not true for the other norm variants.

IIR filters respond slightly differently to `norm`. When you compute the l2, linf, L1, and L2 norms for an IIR filter, `norm(...,L2,tol)` lets you specify the tolerance for the accuracy in the computation. For l1, l2, L2, and linf, `norm` uses the tolerance to truncate the infinite impulse response that it uses to calculate the norm. For L1, `norm` passes the tolerance to the numerical integration algorithm. Refer to Examples to see this in use. You cannot specify `Linf` for the norm and include the `tol` option.

## Examples

collapse all

This example shows how to compute the L2 norm of an IIR filter. A tolerance of 1e-10 is used.

```spec = fdesign.lowpass('n,fc',5,0.4); filter = butter(spec); filternorm = norm(filter,'l2',1e-10)```
```filternorm = 0.6336 ```