Generic filtering function. The default is to filter with an ARMA filter of given coefficients. The default filtering operation follows Matlab/Octave conventions.
# S3 method for default
filter(filt, a, x, init, init.x, init.y, ...)# S3 method for Arma
filter(filt, x, ...)
# S3 method for Ma
filter(filt, x, ...)
# S3 method for Zpg
filter(filt, x, ...)
The filtered signal, normally of the same length of the input signal x
.
For the default case, the moving-average coefficients of
an ARMA filter (normally called ‘b’). Generically, filt
specifies an arbitrary filter operation.
the autoregressive (recursive) coefficients of an ARMA filter.
the input signal to be filtered.
init, init.x, init.y
allows to supply initial data for the filter - this allows to filter very large timeseries in pieces.
additional arguments (ignored).
Tom Short, EPRI Solutions, Inc., (tshort@eprisolutions.com)
The default filter is an ARMA filter defined as:
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.
https://en.wikipedia.org/wiki/Digital_filter
Octave Forge https://octave.sourceforge.io/
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")
Run the code above in your browser using DataLab