Signal Toolkit - sos2zp
- Function File:
[z, p, k] =
sos2zp(sos)
- Function File:
[z, p, k] =
sos2zp(sos, g)
Convert series second-order sections to zeros, poles, and gains (pole residues).
INPUTS:
- sos = matrix of series second-order sections, one per row:
sos = [B1.' A1.'; ...; BN.' AN.']
where
B1.' = [b0 b1 b2] and A1.' = [a0 a1 a2]
for section 1, etc.a0 is usually equal to 1 because all 2nd order transfer functions can be scaled so that a0 = 1. However, this is not mandatory for this implementation, which supports all kinds of transfer functions, including first order transfer functions. See
filter
for documentation of the second-order direct-form filter coefficients Bi and Ai. - g is an overall gain factor that effectively scales any one of the input Bi vectors. If not given the gain is assumed to be 1.
RETURNED:
- z = column-vector containing all zeros (roots of B(z))
- p = column-vector containing all poles (roots of A(z))
- k = overall gain = B(Inf)
EXAMPLE:
[z, p, k] = sos2zp ([1 0 1, 1 0 -0.81; 1 0 0, 1 0 0.49]) ⇒ z = 0 + 1i 0 - 1i 0 + 0i 0 + 0i ⇒ p = -0.9000 + 0i 0.9000 + 0i 0 + 0.7000i 0 - 0.7000i ⇒ k = 1
See also: zp2sos, sos2tf, tf2sos, zp2tf, tf2zp.
- sos = matrix of series second-order sections, one per row: