The result has been tested against 'Matlab' filtfilt
function. Currently this function only supports one filter at a time.
Arguments
- b
one-dimensional real numerical vector, the moving-average
coefficients of an ARMA
filter
- a
the auto-regressive (recursive) coefficients of an ARMA
filter
- x
numerical vector input (real value)
Value
The filtered signal, normally the same length as the input signal
x
.
Examples
t <- seq(0, 1, by = 0.01)
x <- sin(2 * pi * t * 2.3)
bf <- gsignal::butter(2, c(0.15, 0.3))
res <- filtfilt(bf$b, bf$a, x)
## Matlab (2022a) equivalent:
# t = [0:0.01:1];
# x = sin(2 * pi * t * 2.3);
# [b,a] = butter(2,[.15,.3]);
# res = filtfilt(b, a, x)