Accelerating the pace of engineering and science

sos2zp

Convert digital filter second-order section parameters to zero-pole-gain form

Syntax

[z,p,k] = sos2zp(sos)
[z,p,k] = sos2zp(sos,g)

Description

sos2zp converts a second-order section representation of a given digital filter to an equivalent zero-pole-gain representation.

[z,p,k] = sos2zp(sos) returns the zeros z, poles p, and gain k of the system given by sos in second-order section form. The second-order section format of H(z) is given by

$H\left(z\right)=\prod _{k=1}^{L}{H}_{k}\left(z\right)=\prod _{k=1}^{L}\frac{{b}_{0k}+{b}_{1k}{z}^{-1}+{b}_{2k}{z}^{-2}}{1+{a}_{1k}{z}^{-1}+{a}_{2k}{z}^{-2}}.$

sos is an L-by-6 matrix that contains the coefficients of each second-order section in its rows.

$\text{sos}=\left[\begin{array}{cccccc}{b}_{01}& {b}_{11}& {b}_{21}& 1& {a}_{11}& {a}_{21}\\ {b}_{02}& {b}_{12}& {b}_{22}& 1& {a}_{12}& {a}_{22}\\ ⋮& ⋮& ⋮& ⋮& ⋮& ⋮\\ {b}_{0L}& {b}_{1L}& {b}_{2L}& 1& {a}_{1L}& {a}_{2L}\end{array}\right].$

Column vectors z and p contain the zeros and poles of the transfer function H(z).

$H\left(z\right)=k\frac{\left(z-{z}_{1}\right)\left(z-{z}_{2}\right)\cdots \left(z-{z}_{n}\right)}{\left(p-{p}_{1}\right)\left(p-{p}_{2}\right)\cdots \left(p-{p}_{m}\right)}$

where the orders n and m are determined by the matrix sos.

[z,p,k] = sos2zp(sos,g) returns the zeros z, poles p, and gain k of the system given by sos in second-order section form with gain g.

$H\left(z\right)=g\prod _{k=1}^{L}{H}_{k}\left(z\right).$

Examples

expand all

Zeros, Poles, and Gain of a System

Compute the zeros, poles, and gain of a simple system in second-order section form.

```sos = [1  1  1  1  0 -1; -2  3  1  1  10  1];
[z,p,k] = sos2zp(sos)
```
```z =

-0.5000 + 0.8660i
-0.5000 - 0.8660i
1.7808 + 0.0000i
-0.2808 + 0.0000i

p =

-1.0000
1.0000
-9.8990
-0.1010

k =

-2

```