Main Content

scaleopts

Create an options object for second-order section scaling

Description

opts = scaleopts(sysobj) uses the current settings in the filter System object™ to create an options object opts that contains specified scaling options for second-order section scaling. You can pass opts as an input to scale to apply scaling settings to a second-order filter.

example

opts = scaleopts(sysobj,Arithmetic=arithType) returns filter coefficients for the filter System object with the arithmetic specified in arithType.

Examples

collapse all

Create an options scaling object that contains the scaling options settings you require.

EllipI = design(fdesign.lowpass('N,Fp,Ap,Ast',10,0.5,0.5,20),...
    'ellip',...
    FilterStructure='df1sos',...
    SystemObject=true)
EllipI = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form I'
    CoefficientSource: 'Property'
            Numerator: [5x3 double]
          Denominator: [5x3 double]
       HasScaleValues: true
          ScaleValues: [0.9442 1.0014 1.0170 1.6551 0.1398 1]

  Use get to show all properties

opts = scaleopts(EllipI)
opts = 
              sosReorder: 'auto'
            MaxNumerator: 2
     NumeratorConstraint: 'none'
            OverflowMode: 'wrap'
    ScaleValueConstraint: 'unit'
           MaxScaleValue: 'Not used'

Input Arguments

collapse all

Input filter, specified as a dsp.SOSFilter System object.

Arithmetic type used during analysis, specified as 'double', 'single', or 'fixed'. The function assumes a double precision filter when the arithmetic input is not specified and the filter System object is in an unlocked state. The scaleopts function chooses the default values of the scaling options according to the 'arithType' value and the System object settings.

Output Arguments

collapse all

You can create an fdopts.sosscaling object, opts, using the scaleopts function.

The following table lists the properties of opts:

Parameter

Default

Description and Valid Value

sosReorder

'auto'

Reorder section prior to scaling.

Valid options are 'auto' (default), 'none', 'up', 'down', 'lowpass', 'highpass', 'bandpass', and 'bandstop'.

MaxNumerator

2

Maximum allowed value for numerator coefficients.

NumeratorConstraint

'none'

Specifies whether and how to constrain numerator coefficient values. Options are 'none' (default), 'unit', 'normalize', and 'po2'.

OverflowMode

'wrap'

Sets the way the filter handles arithmetic overflow situations during scaling. Valid options are 'wrap' (default), 'saturate', and 'satall'.

ScaleValueConstraint

'unit'

Specify whether to constrain the filter scale values, and how to constrain them. Valid options are 'unit' (default), 'none', and 'po2'.

MaxScaleValue

'Not used'

Maximum allowed scale values. The filter applies the MaxScaleValue limit only when you set ScaleValueConstraint to a value other than unit. Setting MaxScaleValue to a numerical value automatically changes the ScaleValueConstraint setting to none.

Example: opts = scaleopts(biquad)

Version History

Introduced in R2011a

expand all