dsp.MovingStandardDeviation
R2026bMoving standard deviation
Description
The dsp.MovingStandardDeviation
System object™ computes the moving standard deviation of the input signal along each channel,
independently over time. The object uses either the sliding window method or the exponential
weighting method to compute the moving standard deviation. In the sliding window method, a
window of specified length is moved over the data, sample by sample, and the object computes
the standard deviation over the data in the window. In the exponential weighting method, the
object computes the exponentially weighted moving variance, and takes the square root.
You can make the window length tunable by setting
the EnableTunableWindowLength property to true. In
this mode, use the TunableWindowLength property to change the window
length even after you pass some data to the object and the object is locked. The
MaxWindowLength property specifies the maximum allowed window
length. (since R2026b)
For more details, see Algorithms.
The dsp.MovingStandardDeviation object and the movstd function both compute the moving standard deviation of the input signal.
However, the object can process large streams of real-time data and handle system states
automatically. The function performs one-time computations on data that is readily available
and cannot handle system states. For a comparison between the two, see System Objects vs MATLAB Functions.
To compute the moving standard deviation of the input:
Create the
dsp.MovingStandardDeviationobject and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Syntax
Description
returns
a moving standard deviation object, MovStd = dsp.MovingStandardDeviationMovStd, using the
default properties.
sets the MovStd = dsp.MovingStandardDeviation(Len)WindowLength property to Len.
sets the MovStd = dsp.MovingStandardDeviation(Len,Overlap)WindowLength property to Len and the
OverlapLength property to Overlap.
specifies additional properties using MovStd = dsp.MovingStandardDeviation(PropertyName=Value)Name=Value
pairs. For example, to specify an exponential weighting factor of
0.88, set ForgettingFactor to
0.88.
Properties
Usage
Syntax
Description
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj, use
this syntax:
release(obj)
Examples
Algorithms
References
[1] Bodenham, Dean. “Adaptive Filtering and Change Detection for Streaming Data.” PH.D. Thesis. Imperial College, London, 2012.
Extended Capabilities
Version History
Introduced in R2016bSee Also
Functions
Objects
dsp.MovingMaximum|dsp.MovingMinimum|dsp.MovingAverage|dsp.MovingRMS|dsp.MovingVariance|dsp.MedianFilter


![Sliding window method for moving standard deviation with window length 4 and input samples [-1, -2, 3, 2, 5, 2]. At each time step n=0 through n=5, the window fills with zeros until length 4 is reached, then moves along the data. Moving standard deviation computes std for each window position, producing values 0.5, 0.957, 2.16, 2.38, 2.944, 1.414 at n=5](movstd_slidewin.png)
![Exponential weighting method for moving standard deviation with forgetting factor 0.9. Three input frames: [2,3,4,5] at n=0 producing outputs [0, 0.7071, 0.9991, 1.2879], [6,7,8,9] at n=1 producing outputs [1.5742, 1.8578, 2.1386, 2.4161], and [3,4,6,8] at n=2 producing outputs [2.5004, 2.3625, 2.1886, 2.2314]](movstd_expwei.png)