This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Cumulative second-order section of BiquadFilter System object


sect = cumsec(biquad)
sections = cumsec(biquad,indices)
sections = cumsec(biquad,indices,secondary)
sections = cumsec(biquad,Name,Value)


sect = cumsec(biquad) returns a cell array, sect, which contains cumulative sections of the dsp.BiquadFilter filter System object™, biquad. Each element in sect is a filter with the structure of the original filter. The first element is the first filter section of biquad. The second element of sect is a filter that represents the combination of the first and second sections of biquad. The third element of sections is a filter which combines sections 1, 2, and 3 of biquad. This pattern continues until the final element of sections contains all the sections of biquad and should be identical to biquad.

sections = cumsec(biquad,indices) returns the cumulative sections of the dsp.BiquadFilter filter System object biquad whose indices in the original filter are in the vector indices.

sections = cumsec(biquad,indices,secondary) uses the secondary scaling points secondary in the sections to determine where the sections should be split when secondary is true. secondary is false by default. This option only applies for dsp.BiquadFilter objects with 'Direct form II' and 'Direct form I transposed' structures. For these structures, the secondary scaling points refer to the location between the recursive and the nonrecursive part, that is the 'middle' of the section.

cumsec(biquad,...) plots the magnitude response of the cumulative sections using fvtool.

sections = cumsec(biquad,Name,Value) returns the cumulative sections of the filter System object biquad with additional options specified by one or more Name,Value pair arguments.

Input Arguments

collapse all


dsp.BiquadFilter filter System object with one of the following filter structures:

df1sosDirect-form I filter object with second-order sections.
df1tsosDirect-Form I transposed filter with second-order sections.
df2sosDirect-form II filter object with second-order sections.
df2tsosDirect-Form II transposed filter with second-order sections.


Filter indices. Use indices to specify the filter sections cumsec uses to compute the cumulative responses.


This option applies only when biquad has the df2sos and df1tsos structures. For these second-order section structures, the secondary scaling points refer to the scaling locations between the recursive and the nonrecursive parts of the section (the "middle" of the section). Argument secondary accepts either true or false. By default, secondary is false.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

collapse all

Specify the arithmetic used during analysis. When you specify 'double' or 'single', the function performs double- or single-precision analysis. When you specify 'fixed' , the arithmetic changes depending on the setting of the CoefficientDataType property and whether the System object is locked or unlocked.

 Details for Fixed-Point Arithmetic

When you do not specify the arithmetic, the function uses double-precision arithmetic if the filter System object is in an unlocked state. If the System object is locked, the function performs analysis based on the locked input data type.


collapse all

This example plots the relative responses of the sections of a sixth-order filter with three sections. Each curve adds one more section to form the filter response.

Lowpass = fdesign.lowpass('n,fc',6,.4); ButterLowpass = butter(Lowpass,'SystemObject',true);
CumSections = cumsec(ButterLowpass); hfvt = fvtool(CumSections{1},CumSections{2},CumSections{3});
legend(hfvt,'First Section','First Two Sections','Overall  Filter');

See Also


Introduced in R2011a

Was this topic helpful?