# 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

collapse 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 ```

collapse all

### Algorithms

`sos2zp` finds the poles and zeros of each second-order section by repeatedly calling `tf2zp`.