Learn R Programming

signal (version 1.8-0)

Arma: Create an autoregressive moving average (ARMA) model.

Description

Returns an ARMA model. The model could represent a filter or system model.

Usage

Arma(b, a)

# S3 method for Zpg as.Arma(x, ...)

# S3 method for Arma as.Arma(x, ...)

# S3 method for Ma as.Arma(x, ...)

Value

A list of class Arma with the following list elements:

b

moving average (MA) polynomial coefficients

a

autoregressive (AR) polynomial coefficients

Arguments

b

moving average (MA) polynomial coefficients.

a

autoregressive (AR) polynomial coefficients.

x

model or filter to be converted to an ARMA representation.

...

additional arguments (ignored).

Author

Tom Short, EPRI Solutions, Inc., (tshort@eprisolutions.com)

Details

The ARMA model is defined by:

$$a(L)y(t) = b(L)x(t)$$

The ARMA model can define an analog or digital model. The AR and MA polynomial coefficients follow the Matlab/Octave convention where the coefficients are in decreasing order of the polynomial (the opposite of the definitions for filter from the stats package and polyroot from the base package). For an analog model,

$$H(s) = \frac{b_1s^{m-1} + b_2s^{m-2} + \dots + b_m}{a_1s^{n-1} + a_2s^{n-2} + \dots + a_n}$$

For a z-plane digital model,

$$H(z) = \frac{b_1 + b_2z^{-1} + \dots + b_mz^{-m+1}}{a_1 + a_2z^{-1} + \dots + a_nz^{-n+1}}$$

as.Arma converts from other forms, including Zpg and Ma.

See Also

See also as.Zpg, Ma, filter, and various filter-generation functions like butter and cheby1 that return Arma models.

Examples

Run this code
filt <- Arma(b = c(1, 2, 1)/3, a = c(1, 1))
zplane(filt)

Run the code above in your browser using DataLab