Main Content

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

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

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

H(z)=gk=1LHk(z)=gk=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

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.

See Also

| | | | |

Introduced before R2006a