| 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")