zp2sos: Zero-pole-gain to second-order section format
Description
Convert digital filter zero-pole-gain data to second-order section form.
Usage
zp2sos(z, p, g = 1, order = c("down", "up"))
Arguments
z
complex vector of the zeros of the model (roots of B(z))
p
complex vector of the poles of the model (roots of A(z))
g
overall gain (B(Inf)). Default: 1
order
row order, specified as:
"up"
order the sections so the first row contains the poles farthest
from the unit circle.
"down" (Default)
order the sections so the first row of sos
contains the poles closest to the unit circle.
The ordering influences round-off noise and the probability of overflow.
Value
A list with the following list elements:
sos
Second-order section representation, specified as an nrow-by-6
matrix, whose rows contain the numerator and denominator coefficients of
the second-order sections: sos <- rbind(cbind(B1, A1), cbind(...),
cbind(Bn, An)), where B1 <- c(b0, b1, b2), and A1 <- c(a0,
a1, a2) for section 1, etc. The b0 entry must be nonzero for each
section.
g
Overall gain factor that effectively scales the output b
vector (or any one of the input Bi vectors).