# sos2zp

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

## 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.

## Version History

Introduced before R2006a