# dsp.MovingAverage

Moving average

## Description

The `dsp.MovingAverage`

System object™ computes the moving average 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 average. In the sliding window method, a window of
specified length is moved over the data, sample by sample, and the average is computed over
the data in the window. In the exponential weighting method, the object multiplies the data
samples with a set of weighting factors. The average is computed by summing the weighted data.
For more details on these methods, see Algorithms.

The `dsp.MovingAverage`

object and the `movmean`

function both compute the moving average 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 average of the input:

Create the

`dsp.MovingAverage`

object 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
average object, `movAvg`

= dsp.MovingAverage`movAvg`

, using the default properties.

sets the `movAvg`

= dsp.MovingAverage(`Len`

)`WindowLength`

property to `Len`

.

sets the `movAvg`

= dsp.MovingAverage(`Len`

,`Overlap`

)`WindowLength`

property to `Len`

and the
`OverlapLength`

property to `Overlap`

.

specifies additional properties using `movAvg`

= dsp.MovingAverage(`Name,Value`

)`Name,Value`

pairs. Unspecified
properties have default values.

**Example: **```
movAvg = dsp.MovingAverage('Method','Exponential
weighting','ForgettingFactor',0.9);
```

## 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 R2016b**

## See Also

### Functions

### Objects

`dsp.MovingRMS`

|`dsp.MovingMaximum`

|`dsp.MovingMinimum`

|`dsp.MovingStandardDeviation`

|`dsp.MovingVariance`

|`dsp.MedianFilter`

|`powermeter`