TSA Moving Average VI
- Updated2023-02-21
- 6 minute(s) read
TSA Moving Average VI
Owning Palette: Preprocessing VIs
Requires: Advanced Signal Processing Toolkit
Performs moving average on a univariate or multivariate (vector) time series to smooth out fluctuations or to estimate the trend of the time series. Wire data to the Xt input to determine the polymorphic instance to use or manually select the instance.
TSA Moving Average (Waveform)

![]() |
Xt specifies the univariate time series. |
![]() |
method specifies the filter type to use in filtering the input time series. Refer to the Details section for information about available options. |
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. |
![]() |
user defined weights specifies a set of weights for the moving average operation. If you specify a value for user defined weights, this VI ignores the setting for method. The number of weights must be odd, and the weight array must be symmetric so no phase distortion takes places in the moving average operation. |
![]() |
Xt out returns the filtered univariate time series. |
![]() |
error out contains error information. This output provides standard error out functionality. |
TSA Moving Average (Array)

![]() |
Xt specifies the univariate time series. |
![]() |
method specifies the filter type to use in filtering the input time series. Refer to the Details section for information about available options. |
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. |
![]() |
user defined weights specifies a set of weights for the moving average operation. If you specify a value for user defined weights, this VI ignores the setting for method. The number of weights must be odd, and the weight array must be symmetric so no phase distortion takes places in the moving average operation. |
![]() |
Xt out returns the filtered univariate time series. |
![]() |
error out contains error information. This output provides standard error out functionality. |
TSA Vector Moving Average (Waveform)

![]() |
Xt specifies the multivariate (vector) time series. |
![]() |
method specifies the filter type to use in filtering the input time series. Refer to the Details section for information about available options. |
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. |
![]() |
user defined weights specifies a set of weights for the moving average operation. If you specify a value for user defined weights, this VI ignores the setting for method. The number of weights must be odd, and the weight array must be symmetric so no phase distortion takes places in the moving average operation. |
![]() |
Xt out returns the filtered multivariate time series. |
![]() |
error out contains error information. This output provides standard error out functionality. |
TSA Vector Moving Average (Array)

![]() |
Xt specifies the multivariate (vector) time series. Each column of the 2D array represents a vector at certain time. |
![]() |
method specifies the filter type to use in filtering the input time series. Refer to the Details section for information about available options. |
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. |
![]() |
user defined weights specifies a set of weights for the moving average operation. If you specify a value for user defined weights, this VI ignores the setting for method. The number of weights must be odd, and the weight array must be symmetric so no phase distortion takes places in the moving average operation. |
![]() |
Xt out returns the filtered multivariate (vector) time series. Each column of the 2D array represents a vector at certain time. |
![]() |
error out contains error information. This output provides standard error out functionality. |
TSA Moving Average Details
This VI estimates the trend of a time series by using a linear filtering operation according to the following equation:

where {ar} is a set of weights. In practice,
. This operation is a moving average or finite impulse response (FIR) filter.
Spencer's 15-Point Moving Average
The symmetric weights are as follows:

Henderson's Moving Average
This moving average aims to follow a cubic polynomial trend without distortion. You can specify different numbers of weights based on the degree of irregularity of a time series.
The symmetric weights of 7-term are as follows:
[–0.05874 0.05874 0.29371 0.41259 0.29371 0.05874 –0.05874]
The symmetric weights of 9-term are as follows:
[–0.04072 –0.00987 0.11847 0.26656 0.33114 0.26656 0.11847 –0.00987 –0.04072]
The symmetric weights of 13-term are as follows:
[–0.01935 –0.02786 0.00000 0.06549 0.14736 0.21434 0.24006 0.21434 0.14736 0.06549 0.00000 –0.02786 –0.01935]
The symmetric weights of 23-term are as follows:
[–0.00428 –0.01092 –0.01569 –0.01453 –0.00495 0.01343 0.03893 0.06830 0.09740 0.12195 0.13832 0.14406 0.13832 0.12195 0.09740 0.06830 0.03893 0.01343 –0.00495 –0.01453 –0.01569 –0.01092 –0.00428]
Example
Refer to the Moving Average VI in the labview\examples\Time Series Analysis\TSAGettingStarted directory for an example of using the TSA Moving Average VI.










