Main Content


Verify if discrete-time System object filter is in second-order sections form



flag = issos(sysobj) determines whether the filter System object™ is in second-order sections (SOS) form, returning a logical 1 if true and a logical 0 if false.


collapse all

By default, fdesign and design functions return SOS filters when possible. This example designs a lowpass SOS filter that uses fixed-point arithmetic.

d = fdesign.lowpass('n,fp,ap,ast',40,0.55,0.1,60)
d = 
  lowpass with properties:

               Response: 'Lowpass'
          Specification: 'N,Fp,Ap,Ast'
            Description: {4x1 cell}
    NormalizedFrequency: 1
            FilterOrder: 40
                  Fpass: 0.5500
                  Apass: 0.1000
                  Astop: 60

hd = design(d,'ellip',SystemObject=true)
hd = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [20x3 double]
          Denominator: [20x3 double]
       HasScaleValues: true
          ScaleValues: [0.9886 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.9999 0.9998 0.9995 1.0000 1.0084 1.0891 2.2972 0.0131 1]

  Use get to show all properties

Using the issos function, verify whether the designed filter is in SOS form.

IsSOS = issos(hd)
IsSOS = logical

The filter is in second-order section form.

Output Arguments

collapse all

Flag to determine whether the filter is in second-order sections (SOS) form, returned as a logical scalar. If the filter is in SOS form, issos returns a logical 1, else it returns a logical 0.

Data Types: logical

Version History

Introduced in R2011a

expand all