| Signal Processing Blockset™ | ![]() |
Statistics
dspstat3

The Standard Deviation block computes the standard deviation of each row or column of the input, along vectors of a specified dimension of the input, or of the entire input. The Standard Deviation block can also track the standard deviation of a sequence of inputs over a period of time. The Running standard deviation parameter selects between basic operation and running operation.
When you do not select the Running standard deviation check box, the block computes the standard deviation of 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, and outputs the array y. Each element in y contains the standard deviation of the corresponding column, row, vector, or entire input. The output y depends on the setting of the Find the standard deviation value over parameter. For example, consider a 3-dimensional input signal of size M-by-N-by-P:
Entire input — The output at each sample time is a scalar that contains the standard deviation of the entire input. In this mode, the output is always sample based.
y = std(u(:)) % Equivalent MATLAB code
Each Row — The output at each sample time consists of an M-by-1-by-P array, where each element contains the standard deviation of each vector over the second dimension of the input. For an input that is an M-by-N matrix, the output at each sample time is an M-by-1 column vector. In this mode, the frame status of the output is the same as that of the input.
y = std(u,0,2) % Equivalent MATLAB code
Each Column — The output at each sample time consists of a 1-by-N-by-P array, where each element contains the standard deviation of each vector over the first dimension of the input. For an input that is an M-by-N matrix, the output at each sample time is a 1-by-N row vector. In this mode, the frame status of the output is the same as that of the input.
y = std(u,0,1) % Equivalent MATLAB code
For convenience, length-M 1-D vector inputs are treated as M-by-1 column vectors when the block is in this mode. Sample-based length-M row vector inputs are also treated as M-by-1 column vectors when the Treat sample-based row input as a column check box is selected.
Specified Dimension — The output at each sample time depends on Dimension. If Dimension is set to 1, the output is the same as when you select Each column. If Dimension is set to 2, the output is the same as when you select Each row. If Dimension is set to 3, the output at each sample time is an M-by-N matrix containing the standard deviation of each vector over the third dimension of the input. In this mode, the frame status of the output is the same as that of the input.
y = std(u,0,Dimension) % Equivalent MATLAB code
For purely real or purely imaginary inputs, the standard deviation of the jth column of an M-by-N input matrix is the square root of its variance:

For complex inputs, the output is the total standard deviation, which equals the square root of the total variance, or the square root of the sum of the variances of the real and imaginary parts. The standard deviation of each column in an M-by-N input matrix is given by:
![]()
Note The total standard deviation does not equal the sum of the real and imaginary standard deviations. |
When you select the Running standard deviation check box, the block tracks the standard deviation of successive inputs to the block. For sample-based M-by-N inputs, the output is a sample-based M-by-N matrix with each element yij containing the standard deviation of element uij over all inputs since the last reset. For frame-based M-by-N inputs, the output is a frame-based M-by-N matrix with each element yij containing the standard deviation of the jth column over all inputs since the last reset, up to and including element uij of the current input.
N-D signals cannot be frame based. When the block is set to Running mode,
each element of the N-D signal is treated as a separate channel. There
are
channels, where di is
the size of the ith dimension.
The block resets the running standard deviation 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.
You specify the reset event in 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)
Non-zero 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 one-sample latency. Therefore, when the block detects a reset event, there is a one-sample 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 Models with Multiple Sample Rates in the Real-Time Workshop User's Guide. |
To calculate the statistical value within a particular region of interest (ROI) of the input, select the Enable ROI processing check box. This option is only available when the Find the standard deviation value over parameter is set to Entire input and the Running standard deviation check box is not selected. ROI processing is only supported for 2-D inputs.
Note Full ROI processing is only available to users who have a Video and Image Processing Blockset license. If you only have a Signal Processing Blockset license, you can still use ROI processing, but are limited to the ROI type Rectangles. |
Use the ROI type parameter to specify whether the ROI is a rectangle, line, label matrix, or binary mask. A binary mask is a binary image that enables you to specify which pixels to highlight, or select. In a label matrix, pixels equal to 0 represent the background, pixels equal to 1 represent the first object, pixels equal to 2 represent the second object, and so on. When the ROI type parameter is set to Label matrix, the Label and Label Numbers ports appear on the block. Use the Label Numbers port to specify the objects in the label matrix for which the block calculates statistics. The input to this port must be a vector of scalar values that correspond to the labeled regions in the label matrix. For more information about the format of the input to the ROI port when the ROI is a rectangle or a line, see the Draw Shapes block reference page.
For rectangular ROIs, use the ROI portion to process parameter to specify whether to calculate the statistical value for the entire ROI or just the ROI perimeter.
Use the Output parameter to specify the block output. The block can output separate statistical values for each ROI or the statistical value for all specified ROIs. This parameter is not available if, for the ROI type parameter, you select Binary mask.
If, for the ROI type parameter, you select Rectangles or Lines, the Output flag indicating if ROI is within image bounds check box appears in the dialog box. If you select this check box, the Flag port appears on the block. The following tables describe the Flag port output based on the block parameters.
Output = Individual statistics for each ROI
| Flag Port Output | Description |
|---|---|
| 0 | ROI is completely outside the input image. |
| 1 | ROI is completely or partially inside the input image. |
Output = Single statistic for all ROIs
| Flag Port Output | Description |
|---|---|
| 0 | All ROIs are completely outside the input image. |
| 1 | At least one ROI is completely or partially inside the input image. |
If the ROI is partially outside the image, the block only computes the statistical values for the portion of the ROI that is within the image.
If, for the ROI type parameter, you select Label matrix, the Output flag indicating if input label numbers are valid check box appears in the dialog box. If you select this check box, the Flag port appears on the block. The following tables describe the Flag port output based on the block parameters.
Output = Individual statistics for each ROI
| Flag Port Output | Description |
|---|---|
| 0 | Label number is not in the label matrix. |
| 1 | Label number is in the label matrix. |
Output = Single statistic for all ROIs
| Flag Port Output | Description |
|---|---|
| 0 | None of the label numbers are in the label matrix. |
| 1 | At least one of the label numbers is in the label matrix. |
The Standard Deviation block in the next model calculates the running standard deviation of a frame-based 3-by-2 (two-channel) matrix input, u. The running standard deviation is reset at t=2 by an impulse to the block's Rst port.

The Standard Deviation block has the following settings:
Running standard deviation =
![]()
Reset port = Non-zero sample
The Signal From Workspace block has the following settings:
Signal = dsp_examples_u
Sample time = 1/3
Samples per frame = 3
where
dsp_examples_u = [6 1 3 -7 2 5 8 0 -1 -3 2 1;1 3 9 2 4 1 6 2 5 0 4 17]'
The Discrete Impulse block has the following settings:
Delay (samples) = 2
Sample time = 1
Samples per frame = 1
The block's operation is shown in the next figure.


Enables running operation when selected.
Determines the reset event that causes the block to reset the running standard deviation. The reset signal rate must be a positive integer multiple of the rate of the data signal input. This parameter is enabled only when you select Running standard deviation. For more information, see Resetting the Running Standard Deviation.
Specify whether to find the standard deviation value along rows, columns, entire input, or the dimension specified in the Dimension parameter. For more information, see Basic Operation.
Select to treat sample-based length-M row vector inputs as M-by-1 column vectors. This parameter is only visible when the Find the standard deviation value over parameter is set to Each column.
Specify the dimension (one-based value) of the input signal, over which the standard deviation 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 standard deviation value over parameter is set to Specified dimension.
Select this check box to calculate the statistical value within a particular region of each image. This parameter is only available when the Find the standard deviation value over parameter is set to Entire input, and the block is not in running mode.
Note Full ROI processing is only available to users who have a Video and Image Processing Blockset license. If you only have a Signal Processing Blockset license, you can still use ROI processing, but are limited to the ROI type Rectangles. |
Specify the type of ROI you want to use. Your choices are Rectangles, Lines, Label matrix, or Binary mask.
Specify whether you want to calculate the statistical value for the entire ROI or just the ROI perimeter. This parameter is only visible if, for the ROI type parameter, you specify Rectangles.
Specify the block output. The block can output a vector of separate statistical values for each ROI or a scalar value that represents the statistical value for all the specified ROIs. This parameter is not available if, for the ROI type parameter, you select Binary mask.
If you select this check box, the Flag port appears on the block. For a description of the Flag port output, see the tables in ROI Processing. This parameter is visible if, for the ROI type parameter, you select Rectangles or Lines.
If you select this check box, the Flag port appears on the block. For a description of the Flag port output, see the tables in ROI Processing. This parameter is visible if, for the ROI type parameter, you select Label matrix.
| Port | Supported Data Types |
|---|---|
Input |
|
Reset |
|
ROI | Rectangles and lines:
Binary Mask:
|
Label |
|
Label Numbers |
|
Output |
|
Flag |
|
| Mean | Signal Processing Blockset |
| RMS | Signal Processing Blockset |
| Variance | Signal Processing Blockset |
| std | MATLAB |
![]() | Stack | Submatrix | ![]() |
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |