Find mean value of input or sequence of inputs
Statistics
dspstat3
The Mean block computes the mean of each row or column of the input, along vectors of a specified dimension of the input, or of the entire input. The Mean block can also track the mean value in a sequence of inputs over a period of time. To track the mean value in a sequence of inputs, select the Running mean check box.
When you do not select the Running mean check
box, the block computes the mean value in each row or column of the
input, along vectors of a specified dimension of the input, or of
the entire input at each individual sample time. Each element in the
output array y
is the mean value of the corresponding
column, row, vector, or entire input. The output array y
depends
on the setting of the Find the mean value over parameter.
For example, consider a 3dimensional input signal of size MbyNbyP:
Entire input
— The
output at each sample time is a scalar that contains the mean value
of the MbyNbyP input
matrix.
y = mean(u(:)) % Equivalent MATLAB code
Each row
— The output
at each sample time consists of an Mby1byP array,
where each element contains the mean value of each vector over the
second dimension of the input. For an input that is an MbyN matrix,
the output at each sample time is an Mby1 column
vector.
y = mean(u,2) % Equivalent MATLAB code
Each column
— The
output at each sample time consists of a 1byNbyP array,
where each element contains the mean value of each vector over the
first dimension of the input. For an input that is an MbyN matrix,
the output at each sample time is a 1byN row
vector.
y = mean(u) % Equivalent MATLAB code
In this mode, the block treats lengthM unoriented vector inputs as Mby1 column vectors.
Specified dimension
—
The output at each sample time depends on the value of the Dimension parameter.
If you set the Dimension to 1
,
the output is the same as when you select Each column
.
If you set the Dimension to 2
,
the output is the same as when you select Each row
.
If you set the Dimension to 3
,
the output at each sample time is an MbyN matrix
containing the mean value of each vector over the third dimension
of the input.
y = mean(u,Dimension) % Equivalent MATLAB code
The mean of a complex input is computed independently for the real and imaginary components, as shown in the following figure.
When you select the Running mean check box, the block tracks the mean value of each channel in a time sequence of inputs. In this mode, you must also specify a value for the Input processing parameter:
When you select Elements as channels
(sample based)
, the block outputs an MbyN array.
Each element y_{ij} of the
output contains the mean value of the elements u_{ij} for
all inputs since the last reset.
When you select Columns as channels (frame
based)
, the block outputs an MbyN matrix.
Each element y_{ij} of the
output contains the mean of the values in the jth
column of all inputs since the last reset, up to and including element u_{ij} of
the current input.
When your inputs are of variable size, and you select the Running mean check box, there are two options:
If you set the Input processing parameter
to Elements as channels (sample based)
,
the state is reset.
If you set the Input processing parameter
to Columns as channels (frame based)
, then
there are two cases:
When the input size difference is in the number of channels (i.e., number of columns), the state is reset.
When the input size difference is in the length of channels (i.e., number of rows), there is no reset and the running operation is carried out as usual.
The block resets the running mean whenever a reset event is detected at the optional Rst port. The reset sample time must be a positive integer multiple of the input sample time.
When a reset event occurs while the Input processing parameter
is set to Elements as channels (sample based)
,
the running mean for each channel is initialized to the value in the
corresponding channel of the current input. Similarly, when the Input
processing parameter is set to Columns as
channels (frame based)
, the running mean for each channel
is initialized to the earliest value in each channel of the current
input.
You specify the reset event by the Reset port parameter:
None
disables the Rst port.
Rising edge
— Triggers
a reset operation when the Rst input does one of the following:
Rises from a negative value to a positive value or zero
Rises from zero to a positive value, where the rise is not a continuation of a rise from a negative value to zero (see the following figure)
Falling edge
— Triggers
a reset operation when the Rst
input does one of
the following:
Falls from a positive value to a negative value or zero
Falls from zero to a negative value, where the fall is not a continuation of a fall from a positive value to zero (see the following figure)
Either edge
— Triggers
a reset operation when the Rst
input is a Rising
edge
or Falling edge
(as
described earlier)
Nonzero sample
—
Triggers a reset operation at each sample time that the Rst
input
is not zero
Note: When running simulations in the Simulink^{®} MultiTasking mode, reset signals have a onesample latency. Therefore, when the block detects a reset event, there is a onesample delay at the reset port rate before the block applies the reset. For more information on latency and the Simulink tasking modes, see Excess Algorithmic Delay (Tasking Latency) and TimeBased Scheduling and Code Generation in the Simulink Coder™ documentation. 
The following diagram shows the data types used within the Mean block for fixedpoint signals.
You can set the accumulator and output data types in the block dialog, as discussed in Dialog Box.
In the ex_mean_ref model,
the Mean block calculates the running mean of a 3by2 matrix input, u.
The Input processing parameter is set to Columns
as channels (frame based)
, so the block processes the
input as a two channel signal with a frame size of three. The running
mean is reset at t=2 by an impulse to the block's
Rst port.
The operation of the block is shown in the following figure.
The Main pane of the Mean block dialog appears as follows.
Enables running operation when selected.
Specify how the block should process the input when computing the running mean. 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.
This parameter appears only when you select the Running mean check box.
Note:
The option 
Specify the reset event that causes the block to reset the running mean. The sample time of the input to the Rst port must be a positive integer multiple of the input sample time. This parameter appears only when you select the Running mean check box. For more information, see Resetting the Running Mean.
Specify whether to find the mean value along rows, columns, entire input, or the dimension specified in the Dimension parameter. For more information, see Basic Operation.
Specify the dimension (onebased value) of the input signal,
over which the mean is computed. The value of this parameter cannot
exceed the number of dimensions in the input signal. This parameter
is only visible when the Find the mean value over parameter
is set to Specified dimension
.
The Data Types pane of the Mean block dialog appears as follows.
Select the rounding mode for fixedpoint operations.
Select the overflow mode for fixedpoint operations.
Specify the accumulator data type. See FixedPoint Data Types for illustrations depicting the use of the accumulator data type in this block. You can set this parameter to:
A rule that inherits a data type, for example, Inherit:
Same as input
An expression that evaluates to a valid data type,
for example, fixdt([],16,0)
Click the Show data type assistant button to display the Data Type Assistant, which helps you set the Accumulator data type parameter.
See Specify Data Types Using Data Type Assistant for more information.
Specify the output data type. See FixedPoint Data Types for illustrations depicting the use of the output data type in this block. You can set it to:
A rule that inherits a data type, for example, Inherit:
Same as accumulator
An expression that evaluates to a valid data type,
for example, fixdt([],16,0)
Click the Show data type assistant button to display the Data Type Assistant, which helps you set the Output data type parameter.
See Control Signal Data Types for more information.
Specify the minimum value that the block should output. The
default value is []
(unspecified). Simulink software
uses this value to perform:
Simulation range checking (see Signal Ranges)
Automatic scaling of fixedpoint data types
Specify the maximum value that the block should output. The
default value is []
(unspecified). Simulink software
uses this value to perform:
Simulation range checking (see Signal Ranges)
Automatic scaling of fixedpoint data types
Select this parameter to prevent the fixedpoint tools from overriding the data types you specify on the block mask.
Port  Supported Data Types 

Input 

Reset 

Maximum  DSP System Toolbox 
Median  DSP System Toolbox 
Minimum  DSP System Toolbox 
Standard Deviation  DSP System Toolbox 
mean  MATLAB 