Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

isallpass

Determine whether filter is allpass

Syntax

```flag = isallpass(b,a) flag = isallpass(sos) flag = isallpass(d) flag = isallpass(...,tol) flag = isallpass(hd) ```

Description

`flag = isallpass(b,a)` returns a logical output, `flag`, equal to `true` if the filter specified by numerator coefficients, `b`, and denominator coefficients, `a`, is an allpass filter. If the filter is not an allpass filter, `flag` is equal to `false`.

`flag = isallpass(sos)` returns `true` if the filter specified by second order sections matrix, `sos`, is an allpass filter. `sos` is a K-by-6 matrix, where the number of sections, K, must be greater than or equal to 2. Each row of `sos` corresponds to the coefficients of a second order (biquad) filter. The ith row of the `sos` matrix corresponds to ```[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]```.

`flag = isallpass(d)` returns `true` if the digital filter, `d`, is an allpass filter. Use `designfilt` to generate `d` based on frequency-response specifications.

`flag = isallpass(...,tol)` uses the tolerance, `tol`, to determine when two numbers are close enough to be considered equal. If not specified, `tol`, defaults to `eps^(2/3)`. Specifying a tolerance may be most helpful in fixed-point allpass filters.

```flag = isallpass(hd)``` returns `true` if the filter object `hd` is an allpass filter.

Examples

collapse all

Create an allpass filter and verify that the frequency response is allpass.

```b = [1/3 1/4 1/5 1]; a = fliplr(b); flag = isallpass(b,a)```
```flag = logical 1 ```
`fvtool(b,a)`

Create a lattice allpass filter and verify that the filter is allpass.

```k = [1/2 1/3 1/4 1/5]; [b,a] = latc2tf(k,'allpass'); flag_isallpass = isallpass(b,a)```
```flag_isallpass = logical 1 ```
`fvtool(b,a)`