# 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

example

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

## Examples

collapse all

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 = 4×1 complex -0.5000 + 0.8660i -0.5000 - 0.8660i 1.7808 + 0.0000i -0.2808 + 0.0000i ```
```p = 4×1 -1.0000 1.0000 -9.8990 -0.1010 ```
```k = -2 ```

## Input Arguments

collapse all

Second-order section representation, specified as a matrix. `sos` is an L-by-6 matrix

`$\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]$`

whose rows contain the numerator and denominator coefficients bik and aik of the second-order sections of H(z):

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

Example: `[2 4 2 6 0 2;3 3 0 6 0 0]` specifies a third-order Butterworth filter with normalized 3 dB frequency 0.5π rad/sample.

Data Types: `single` | `double`
Complex Number Support: Yes

Overall system gain, specified as a real scalar.

Data Types: `single` | `double`

## Output Arguments

collapse all

Zeros of the system, returned as a vector.

Poles of the system, returned as a vector.

Scalar gain of the system, returned as a scalar.

## Algorithms

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