filter {signal} | R Documentation |
Generic filtering function. The default is to filter with an ARMA filter of given coefficients. The default filtering operation follows Matlab/Octave conventions.
## Default S3 method: filter(filt, a, x, ...) ## S3 method for class 'Arma': filter(filt, x, ...) ## S3 method for class 'Ma': filter(filt, x, ...) ## S3 method for class 'Zpg': filter(filt, x, ...)
filt |
For the default case, the moving-average coefficients of
an ARMA filter (normally called 'b'). Generically, filt
specifies an arbitrary filter operation. |
a |
the autoregressive (recursive) coefficients of an ARMA filter. |
x |
the input signal to be filtered. |
... |
additional arguments (ignored). |
The default filter is an ARMA filter defined as:
a[1]*y[n] + a[2]*y[n-1] + ... + a[n]*y[1] = b[1]*x[n] + b[2]*x[m-1] + ... + b[m]*x[1]
The default filter calls stats:::filter
, so it returns a
time-series object.
Since filter
is generic, it can be extended to call other filter types.
The filtered signal, normally of the same length of the input signal x
.
Tom Short, EPRI Solutions, Inc., (tshort@eprisolutions.com)
http://en.wikipedia.org/wiki/Digital_filter
Octave Forge http://octave.sf.net
filter
in the stats package, Arma
,
fftfilt
, filtfilt
, and runmed
.
bf = butter(3, 0.1) # 10 Hz low-pass filter t = seq(0, 1, len=100) # 1 second sample x = sin(2*pi*t*2.3) + 0.25*rnorm(length(t)) # 2.3 Hz sinusoid+noise z = filter(bf, x) # apply filter plot(t, x, type = "l") lines(t, z, col="red")