sos2tf

Convert digital filter second-order section data to transfer function form

Syntax

[b,a] = sos2tf(sos)
[b,a] = sos2tf(sos,g)

Description

sos2tf converts a second-order section representation of a given digital filter to an equivalent transfer function representation.

[b,a] = sos2tf(sos) returns the numerator coefficients b and denominator coefficients a of the transfer function that describes a discrete-time system given by sos in second-order section form. The second-order section format of H(z) is given by

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

sos is an L-by-6 matrix that contains the coefficients of each second-order section stored in its rows.

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L].

Row vectors b and a contain the numerator and denominator coefficients of H(z) stored in descending powers of z.

H(z)=B(z)A(z)=b1+b2z1++bn+1zna1+a2z1++am+1zm

[b,a] = sos2tf(sos,g) returns the transfer function that describes a discrete-time system given by sos in second-order section form with gain g.

H(z)=gk=1LHk(z).

Examples

expand all

Transfer Function Representation of a Second-Order Section System

Compute the transfer function representation of a simple second-order section system.

sos = [1  1  1  1  0 -1; -2  3  1  1 10  1];
[b,a] = sos2tf(sos)
b =

    -2     1     2     4     1


a =

     1    10     0   -10    -1

More About

expand all

Algorithms

sos2tf uses the conv function to multiply all of the numerator and denominator second-order polynomials together. For higher order filters (possibly starting as low as order 8), numerical problems due to roundoff errors may occur when forming the transfer function.

See Also

| | | | |

Was this topic helpful?