Biquad Filter
Model biquadratic IIR (SOS) filters
Library
Filtering / Filter Implementations
dsparch4
Description
The Biquad Filter block independently filters each channel of
the input signal with the specified biquadratic IIR filter. When you
specify the filter coefficients in the dialog box, the block implements
static filters with fixed coefficients. When you provide the filter
coefficients through an input port, you can tune the coefficients
during simulation.
The block filters an MbyN input
matrix as follows:
When you set the Input processing parameter
to Columns as channels (frame based)
, the
block treats each column as a separate channel. In this mode, the
block creates M instances of the same filter, each
with its own independent state buffer. Each of the M filters
process N input samples at every Simulink^{®} time
step.
When you set the Input processing parameter
to Elements as channels (sample based)
,
the block treats each element as a separate channel. In this mode,
the block creates M*N instances
of the same filter, each with its own independent state buffer. Each
filter processes one input sample at every Simulink time step.
This block supports variablesize input. It means that while
the block is simulating, the frame size (number of rows) can change.
The output dimensions always equal the dimensions of the input signal.
The outputs of this block numerically match the outputs of the dsp.BiquadFilter
System object™.
The Biquad Filter block supports the Simulink state logging
feature. See States in
the Simulink documentation for more information.
Coefficient Source and Filter Structures
The Biquad Filter block can operate in three different modes.
Select the mode in the Coefficient source group
box. If you select:
Dialog parameters — Enter
information about the filter such as structure and coefficients in
the block mask. In this mode, you can choose the following filter
structures in the Filter structure parameter:
Input port(s) — Enter
information about the filter structure in the block mask using the Filter
structure parameter. The filter coefficients come into
the block via input ports. The following additional ports appear on
the block icon:
Num
must be a 3–by–N numeric
matrix, Den
must be a 2–by–N numeric
matrix, and g
must be a 1–by–(N+1)
numeric vector, where N is the number of biquad filter sections. The
object assumes the first denominator coefficients of each section
to be 1. This configuration is applicable when the SOSMatrixSource
property
is ‘Input port' and the ScaleValuesInputPort
property
is true. The reason you would need to specify Num
and Den
instead
of the SOSMatrix
, is that in FixedPoint operation,
the numerators, and denominators can have different fraction lengths.
Therefore, there is a need to be able to pass the data of the numerator
with a fixedpoint type different from that of the denominator.
Filter object — Specify
the filter using a dsp.BiquadFilter
System object.
Specifying the SOS Matrix and Scale Values
The SOS matrix (Mx6) is an Mby6
matrix, where M is the number of sections in the
secondorder section filter. Each row of the SOS matrix contains the
numerator and denominator coefficients (b_{ik} and a_{ik})
of the corresponding section in the filter.
$$\left[\begin{array}{cccccc}{b}_{01}& {b}_{11}& {b}_{21}& {a}_{01}& {a}_{11}& {a}_{21}\\ {b}_{02}& {b}_{12}& {b}_{22}& {a}_{02}& {a}_{12}& {a}_{22}\\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ {b}_{0M}& {b}_{1M}& {b}_{2M}& {a}_{0M}& {a}_{1M}& {a}_{2M}\end{array}\right]$$
ss2sos
and tf2sos
functions from Signal Processing Toolbox™ convert
a statespace or transfer function description of your filter into
the secondorder section description used by this block.
The Scale values parameter specifies the
scale values the block uses between each SOS section. You can specify
a realvalued scalar or a vector of length M+1
.
If you enter a scalar, the value specifies the gain
value before the first section of the secondorder filter. The rest
of the gain values default to 1
.
If you enter a vector of M+1 values,
each value specifies a separate section of the filter. For example,
the first element is the first gain value, the second element is the
second gain value, and so on.
Select the Optimize unity scale values check
box to optimize your simulation when one or more scale values equal
1. Selecting this option removes the unity gains so that the values
are treated like Simulink lines or wires. In some fixedpoint cases,
when there are unity scale values, selecting this parameter also omits
certain casts. Refer to Filter Structure Diagrams for more information.
Specifying Initial Conditions
The Biquad Filter block initializes the internal filter states
to zero by default. Optionally, use the Initial conditions or Initial
conditions on zeros side and Initial conditions
on poles side parameters to specify nonzero initial states
for the filter delays.
To determine the number of initial conditions you must specify
and how to specify them, see the following table on valid initial
conditions.
Valid Initial Conditions
Initial Condition  Description 
Scalar  The block initializes all delay elements in the filter
to the scalar value. 
Vector or matrix (for applying different
delay elements to each channel)  Each vector or matrix element specifies a unique initial
condition for a corresponding delay element in a corresponding channel.
Where M is the number of sections and N is
the number of input channels: The vector length must equal the number of delay elements
in the filter, M*2. The matrix must have the same number of rows as the
number of delay elements in the filter (M*2)*N.
The matrix must also have one column for each channel of the input
signal.

FixedPoint Data Types
See the Filter Structure Diagrams section
for diagrams showing the data types the biquad filter block uses when
processing fixedpoint signals.
Dialog Box
Coefficient Source
The Biquad Filter block can operate in three different modes.
Select the mode in the Coefficient source group
box. If you select:
Dialog parameters — Enter
information about the filter such as structure and coefficients in
the block mask. In this mode, you can choose the following filter
structures in the Filter structure parameter:
Input port(s) — Enter
information about the filter structure in the block mask using the Filter
structure parameter. The filter coefficients come into
the block via input ports. The following additional ports appear on
the block icon:
Num
must be a 3–by–N numeric
matrix, Den
must be a 2–by–N numeric
matrix, and g
must be a 1–by–(N+1)
numeric vector, where N is the number of biquad filter sections. The
object assumes the first denominator coefficients of each section
to be 1. This configuration is applicable when the SOSMatrixSource
property
is ‘Input port' and the ScaleValuesInputPort
property
is true. The reason you would need to specify Num
and Den
instead
of the SOSMatrix
, is that in FixedPoint operation,
the numerators, and denominators can have different fraction lengths.
Therefore, there is a need to be able to pass the data of the numerator
with a fixedpoint type different from that of the denominator.
Filter object — Specify
the filter using a dsp.BiquadFilter
System object.
Specify Filter Characteristics in Dialog
The Main pane of the Biquad Filter
block dialog appears as follows when Dialog parameters is
selected in the Coefficient source group box.
 Filter
structure
Select the filter structure.
This parameter is only visible when Dialog parameters or Input
port(s) is selected.
 SOS
Matrix
Specify an Mby6 matrix, where M is
the number of sections in the secondorder section filter. Each row
of the SOS matrix contains the numerator and denominator coefficients
(b_{ik} and a_{ik})
of the corresponding section in the filter.
$$\left[\begin{array}{cccccc}{b}_{01}& {b}_{11}& {b}_{21}& {a}_{01}& {a}_{11}& {a}_{21}\\ {b}_{02}& {b}_{12}& {b}_{22}& {a}_{02}& {a}_{12}& {a}_{22}\\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ {b}_{0M}& {b}_{1M}& {b}_{2M}& {a}_{0M}& {a}_{1M}& {a}_{2M}\end{array}\right]$$
This parameter is only visible when Dialog parameters is
selected.
 Scale
values
The Scale values parameter specifies the
scalar or vector of M+1 scale values to be used
between SOS sections.
When you enter a scalar, the value specifies the gain
value before the first section of the secondorder filter. The rest
of the gain values default to 1.
When you enter a vector of M+1
values, each value specifies a separate section of the filter. For
example, the first element is the first gain value, the second element
is the second gain value, and so on.
This parameter is only visible when Dialog parameters is
selected.
 Initial
conditions
Specify the initial conditions of the filter states. To learn
how to specify initial conditions, see Specifying Initial Conditions.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form II
or Direct
form II transposed
.
 Initial
conditions on zeros side
Specify the initial conditions for the filter states on the
side of the filter structure with the zeros (b_{0}, b_{1},b_{2},
...); see the next diagram.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form I
or Direct
form I transposed
. To learn how to specify initial conditions,
see Specifying Initial Conditions.
 Initial
conditions on poles side
Specify the initial conditions for the filter states on the
side of the filter structure with the poles (a_{0}, a_{1},a_{2},
...); see the next diagram.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form I
or Direct
form I transposed
. To learn how to specify initial conditions,
see Specifying Initial Conditions.
 Action
when the a0 values of the SOS matrix are not one
Specify the action the block should perform when the SOS matrix a_{0j} values
do not equal one; None
, Error
,
or Warn
.
This parameter is only visible when Dialog parameters is
selected.
 Optimize
unity scale values
Select this check box to optimize your simulation when one or
more scale values equal 1. Selecting this option removes the unity
gains so that the values are treated like Simulink lines or wires.
In some fixedpoint cases when there are unity scale values, selecting
this parameter also omits certain casts. Refer to Filter Structure Diagrams for more information.
This parameter is only visible when Dialog parameters is
selected.
 Input
processing
Specify how the block should process the input. You can set
this parameter to one of the following options:
Columns as channels (frame based)
—
When you select this option, the block treats each column of the input
as a separate channel.
Elements as channels (sample based)
—
When you select this option, the block treats each element of the
input as a separate channel.
Note:
The Inherited (this choice will be removed  see
release notes) option will be removed in a future release.
See FrameBased Processing in
the DSP System Toolbox™ Release Notes for
more information. 
 View filter response
This button opens the Filter Visualization Tool (fvtool
) from the Signal Processing Toolbox product
and displays the filter response of the filter specified in the dialog.
For more information on FVTool, see the Signal Processing Toolbox documentation.
The Data Types pane of the Biquad
Filter block dialog appears as follows when you select Dialog
parameters in the Coefficient source group
box.
 Rounding
mode
Select the rounding mode for fixedpoint operations.
The filter coefficients do not obey this parameter; instead, they
always round to Nearest
.
 Overflow
mode
Select the overflow mode for fixedpoint operations.
The filter coefficients do not obey this parameter; instead, they
are always saturated.
 Multiplicand
Choose how you specify the word and fraction lengths of the
multiplicand data type of a Direct form I transposed
filter
structure. See FixedPoint Data Types and
the Direct Form I Transposed filter
structure diagram for illustrations depicting the use of the multiplicand
data type in this block.
This parameter is only visible when the Filter structure parameter
is set to Direct form I transposed
. When
you select:
Same as output
—
Word length and fraction length characteristics of Multiplicand data
type match with those of the output of the block.
Binary point scaling
—
Enter the word length and the fraction length of the multiplicand,
in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the multiplicand.
This block requires poweroftwo slope and a bias of zero.
 Section
input
Choose how you specify the word and fraction lengths of the
fixedpoint data type going into each section of a biquadratic filter.
See FixedPoint Data Types for
illustrations depicting the use of the section input data type in
this block. When you select:
Same as input
—
Word length and fraction length characteristics of Section
input data type match with those of the input to the block.
Binary point scaling
—
Enter the word and fraction lengths of the section input, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the section input.
This block requires poweroftwo slope and a bias of zero.
 Section
output
Choose how you specify the word and fraction lengths of the
fixedpoint data type coming out of each section of a biquadratic
filter. See FixedPoint Data Types for
illustrations depicting the use of the section output data type in
this block. When you select:
Same as section input
—
Word length and fraction length characteristics of Section
output data type match with those of the input to the block.
Binary point scaling
—
Enter the word and fraction lengths of the section output, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the section output.
This block requires poweroftwo slope and a bias of zero.
 Coefficients
Choose how you specify the word and fraction lengths of the
filter coefficients (numerator, denominator, and scale value) when Dialog
parameters is selected in the Coefficient source group
box. See FixedPoint Data Types for
illustrations depicting the use of the coefficient data types in this
block. When you select:
Same word length as input
—
Word length of the filter coefficients matches with that of the input
to the block. In this mode, the block automatically sets the fraction
length of the coefficients to the binarypoint only scaling that provides
you with the best precision possible given the value and word length
of the coefficients.
Specify word length
—
Enter the word length of the coefficients, in bits. In this mode,
the block automatically sets the fraction length of the coefficients
to the binarypoint only scaling that provides you with the best precision
possible given the value and word length of the coefficients.
Binary point scaling
—
Enter the word length and the fraction length of the coefficients,
in bits. If applicable, you can enter separate fraction lengths for
the numerator and denominator coefficients.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the coefficients.
If applicable, you can enter separate slopes for the numerator and
denominator coefficients. This block requires poweroftwo slope and
a bias of zero.
The filter coefficients do not obey the Rounding
mode and the Overflow mode parameters;
instead, they are always saturated and rounded to Nearest
.
 Product
output
Use this parameter to specify how you would like to designate
the product output word and fraction lengths. See FixedPoint Data Types and Multiplication Data Types for illustrations depicting
the use of the product output data type in this block. When you select:
Same as input
(default)
— Product output word length and
fraction length characteristics match those of the input to the block.
Inherit via internal rule
— Product
output word length and fraction lengths are computed based
on fullprecision rules. These rules prevent quantization from occurring
within the block. Bits are added, as needed, so that no roundoff or
overflow occurs. For more details, see Inherit via Internal Rule.
Binary point scaling
—
Enter the word length and the fraction length of the product output,
in bits. If applicable, you can enter separate fraction lengths for
the numerator and denominator product output data type
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the product output.
If applicable, you can enter separate slopes for the numerator and
denominator product output data type. This block requires poweroftwo
slope and a bias of zero.
 Accumulator
Use this parameter to specify how you would like to designate
the accumulator word and fraction lengths. See FixedPoint Data Types and Multiplication Data Types for
illustrations depicting the use of the accumulator data type in this
block. When you select:
Same as input
— Accumulator word
and fraction length characteristics match those of the input to the
block.
Same as product output
— Accumulator word
and fraction length characteristics match those of the product output.
Binary point scaling
—
Enter the word length and the fraction length of the accumulator,
in bits. If applicable, you can enter separate fraction lengths for
the numerator and denominator accumulator data type.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the accumulator.
If applicable, you can enter separate slopes for the numerator and
denominator accumulator data type. This block requires poweroftwo
slope and a bias of zero.
 State
Use this parameter to specify how you would like to designate
the state word and fraction lengths when Dialog parameters is
selected in the Coefficient source group box.
See FixedPoint Data Types for
illustrations depicting the use of the state data type in this block.
This parameter is not visible for Direct form I
and Direct
form I transposed filter
structures. When you select:
Same as input
— State word
and fraction length characteristics match those of the input to the
block.
Same as accumulator
— State word
and fraction length characteristics match those of the accumulator.
Binary point scaling
—
Enter the word length and the fraction length of the state, in bits.
If applicable, you can enter separate fraction lengths for the numerator
and denominator state data type.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the state. If applicable,
you can enter separate slopes for the numerator and denominator state
data type. This block requires poweroftwo slope and a bias of zero.
 Output
Choose how you specify the output word length and fraction length.
See FixedPoint Data Types for
illustrations depicting the use of the output data type in this block.
When you select:
Same as input
— Output word
and fraction length characteristics match those of the input to the
block.
Same as accumulator
— Output word
and fraction length characteristics match those of the accumulator.
Binary point scaling
—
Enter the word length and the fraction length of the output, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the output. This
block requires poweroftwo slope and a bias of zero.
 Lock
data type settings against changes by the fixedpoint tools
Select this parameter to prevent the fixedpoint tools from
overriding the data types you specify on the block mask.
Specify Filter Characteristics Via Input Port
The Main pane of the Biquad Filter
block dialog appears as follows when Input port(s) is
selected in the Coefficient source group box.
 Filter structure
Select the filter structure.
This parameter is only visible when Dialog parameters or Input
port(s) is selected in the Coefficient source group
box.
 Initial conditions
Specify the initial conditions of the filter states. To learn
how to specify initial conditions, see Specifying Initial Conditions.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form II
or Direct
form II transposed
.
 Initial conditions
on zeros side
Specify the initial conditions for the filter states on the
side of the filter structure with the zeros (b_{0}, b_{1},b_{2},
...); see the next diagram.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form I
or Direct
form I transposed
. To learn how to specify initial conditions,
see Specifying Initial Conditions.
 Initial conditions
on poles side
Specify the initial conditions for the filter states on the
side of the filter structure with the poles (a_{0}, a_{1},a_{2},
...); see the next diagram.
This parameter is only visible when Dialog parameters
or Input port(s) is selected and the filter structure
is Direct form I
or Direct
form I transposed
. To learn how to specify initial conditions,
see Specifying Initial Conditions.
 Scale
values mode
Choose how to specify the scale values to use between filter
sections. When you select Specify via input port (g)
,
you enter the scale values as a 2D vector at port g. When you select Assume
all are unity and optimize
, all scale values are removed
and treated like Simulink lines or wires.
This parameter is only visible when Input port(s) is
selected.
 Input
processing
Specify how the block should process the input. You can set
this parameter to one of the following options:
Columns as channels (frame based)
—
When you select this option, the block treats each column of the input
as a separate channel.
Elements as channels (sample based)
—
When you select this option, the block treats each element of the
input as a separate channel.
Note:
The Inherited (this choice will be removed  see
release notes) option will be removed in a future release.
See FrameBased Processing in
the DSP System Toolbox Release Notes for
more information. 
The Data Types pane of the Biquad
Filter block dialog appears as follows when you select Input
port(s) in the Coefficient source group
box.
 Rounding mode
Select the rounding mode for fixedpoint operations.
The filter coefficients do not obey this parameter; instead, they
always round to Nearest
.
 Overflow mode
Select the overflow mode for fixedpoint operations.
The filter coefficients do not obey this parameter; instead, they
are always saturated.
 Multiplicand
Choose how you specify the word and fraction lengths of the
multiplicand data type of a Direct form I transposed
filter
structure. See FixedPoint Data Types and
the Direct Form I Transposed filter
structure diagram for illustrations depicting the use of the multiplicand
data type in this block.
This parameter is only visible when the Filter structure parameter
is set to Direct form I transposed
. When
you select:
Same as output
—
Word length and fraction length characteristics of Multiplicand data
type match with those of the output of the block.
Binary point scaling
—
Enter the word length and the fraction length of the multiplicand,
in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the multiplicand.
This block requires poweroftwo slope and a bias of zero.
 Section input
Choose how you specify the word and fraction lengths of the
fixedpoint data type going into each section of a biquadratic filter.
See FixedPoint Data Types for
illustrations depicting the use of the section input data type in
this block. When you select:
Same as input
—
Word length and fraction length characteristics of Section
input data type match with those of the input to the block.
Binary point scaling
—
Enter the word and fraction lengths of the section input, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the section input.
This block requires poweroftwo slope and a bias of zero.
 Section output
Choose how you specify the word and fraction lengths of the
fixedpoint data type coming out of each section of a biquadratic
filter. See FixedPoint Data Types for
illustrations depicting the use of the section output data type in
this block. When you select:
Same as section input
—
Word length and fraction length characteristics of Section
output data type match with those of the input to the block.
Binary point scaling
—
Enter the word and fraction lengths of the section output, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the section output.
This block requires poweroftwo slope and a bias of zero.
 Product output
Use this parameter to specify how you would like to designate
the product output word and fraction lengths. See FixedPoint Data Types and Multiplication Data Types for illustrations depicting
the use of the product output data type in this block. When you select:
Same as input
(default)
— Product output word length and
fraction length characteristics match those of the input to the block.
Inherit via internal rule
— Product
output word length and fraction lengths are computed based
on fullprecision rules. These rules prevent quantization from occurring
within the block. Bits are added, as needed, so that no roundoff or
overflow occurs. For more details, see Inherit via Internal Rule.
Binary point scaling
—
Enter the word length and the fraction length of the product output,
in bits. If applicable, you can enter separate fraction lengths for
the numerator and denominator product output data type.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the product output.
If applicable, you can enter separate slopes for the numerator and
denominator product output data type. This block requires poweroftwo
slope and a bias of zero.
 Accumulator
Use this parameter to specify how you would like to designate
the accumulator word and fraction lengths. See FixedPoint Data Types and Multiplication Data Types for
illustrations depicting the use of the accumulator data type in this
block. When you select:
Same as input
— Accumulator word
and fraction length characteristics match those of the input to the
block.
Same as product output
— Accumulator word
and fraction length characteristics match those of the product output.
Binary point scaling
—
Enter the word length and the fraction length of the accumulator,
in bits. If applicable, you can enter separate fraction lengths for
the numerator and denominator accumulator data type.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the accumulator.
If applicable, you can enter separate slopes for the numerator and
denominator accumulator data type. This block requires poweroftwo
slope and a bias of zero.
 State
Use this parameter to specify how you would like to designate
the state word and fraction lengths. See FixedPoint Data Types for illustrations depicting the use
of the state data type in this block.
This parameter is not visible for Direct form I
structure.
When you select:
Same as input
— State word
and fraction length characteristics match those of the input to the
block.
Same as accumulator
— State word
and fraction length characteristics match those of the accumulator.
Binary point scaling
—
Enter the word length and the fraction length of the state, in bits.
If applicable, you can enter separate fraction lengths for the numerator
and denominator state data type.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the state. If applicable,
you can enter separate slopes for the numerator and denominator state
data type. This block requires poweroftwo slope and a bias of zero.
 Output
Choose how you specify the output word length and fraction length.
See FixedPoint Data Types for
illustrations depicting the use of the output data type in this block.
When you select:
Same as input
— Output word
and fraction length characteristics match those of the input to the
block.
Same as accumulator
— Output word
and fraction length characteristics match those of the accumulator.
Binary point scaling
—
Enter the word length and the fraction length of the output, in bits.
Slope and bias scaling
—
Enter the word length, in bits, and the slope of the output. This
block requires poweroftwo slope and a bias of zero.
 Lock
data type settings against changes by the fixedpoint tools
Select this parameter to prevent the fixedpoint tools from
overriding the data types you specify on the block mask.
Specify DiscreteTime Filter Object
The Main pane of the Biquad Filter
block dialog appears as follows when Filter object is
selected in the Coefficient source group box.
 Filter
Specify the name of the discretetime filter object that you
want the block to implement. You must specify the filter as a dsp.BiquadFilter
System object.
You can define the System object in the block mask or in
a MATLAB workspace variable.
For information on creating System objects, see Define Basic System Objects.
 Input
processing
Specify how the block should process the input. You can set
this parameter to one of the following options:
Columns as channels (frame based)
—
When you select this option, the block treats each column of the input
as a separate channel.
Elements as channels (sample based)
—
When you select this option, the block treats each element of the
input as a separate channel.
Note:
The Inherited (this choice will be removed  see
release notes) option will be removed in a future release.
See FrameBased Processing in
the DSP System Toolbox Release Notes for
more information. 
 View filter response
This button opens the Filter Visualization Tool (fvtool
) from the Signal Processing Toolbox product
and displays the filter response of the filter object specified in
the Filter object parameter. For more information
on FVTool, see the Signal Processing Toolbox documentation.
Note:
If you specify a filter in the Filter object parameter,
you must click the Apply button to apply the
filter before using the View filter response button. 
Filter Structure Diagrams
The diagrams in the following sections show the filter structures
supported by the Biquad Filter block. They also show the data types
used in the filter structures for fixedpoint signals. You can set
the data types shown in these diagrams in the block dialog box. This
is discussed in Dialog Box.
Direct Form I
The following diagram shows the data types for one section of
the filter for fixedpoint signals.
The following diagrams show the fixedpoint data types between
filter sections.
When the data is not optimized:
When you select Optimize unity scale values and
scale values equal 1:
Direct Form I Transposed
The following diagram shows the data types for one section of
the filter for fixedpoint signals.
The dashed casts are omitted when Optimize unity scale
values is selected and scale values equal one.
The following diagrams show the fixedpoint data types between
filter sections.
When the data is not optimized:
When you select Optimize unity scale values and
scale values equal 1:
Direct Form II
The following diagram shows the data types for one section of
the filter for fixedpoint signals.
The dashed casts are omitted when Optimize unity scale
values is selected and scale values equal one.
The following diagrams show the fixedpoint data types between
filter sections.
When the data is not optimized:
When you select Optimize unity scale values and
scale values equal 1:
Direct Form II Transposed
The following diagram shows the data types for one section of
the filter for fixedpoint signals.
The following diagrams show the fixedpoint data types between
filter sections.
When the data is not optimized:
When you select Optimize unity scale values and
scale values equal 1:
HDL Code Generation
This block supports HDL code generation using HDL Coder™. HDL Coder provides
additional configuration options that affect HDL implementation and
synthesized logic. For more information on implementations, properties,
and restrictions for HDL code generation, see Biquad
Filter.
Supported Data Types
Port  Supported Data Types 
Input  Doubleprecision floating point Singleprecision floating point Fixed point (signed only) 8, 16, and 32bit signed integers

Output  Doubleprecision floating point Singleprecision floating point Fixed point (signed only) 8, 16, and 32bit signed integers

Introduced in R2008b