# NOT RUN {
t <- seq(0, 1, len = 10000) # 1 second sample
x <- sin(2* pi * t * 2.3) + 0.25 * rnorm(length(t)) # 2.3 Hz sinusoid+noise
filt <- rep(0.1, 10) # filter kernel
y1 <- filter(filt, 1, x) # use normal convolution
y2 <- fftfilt(filt, x) # FFT convolution
plot(t, x, type = "l")
lines(t, y1, col = "red")
lines(t, y2, col = "blue")
## use 'filter' with different classes
t <- seq(0, 1, len = 10000) # 1 second sample
x <- sin(2* pi * t * 2.3) + 0.25 * rnorm(length(t)) # 2.3 Hz sinusoid+noise
ma <- Ma(rep(0.1, 10)) # filter kernel
y1 <- filter(ma, x) # convulution filter
y2 <- fftfilt(ma, x) # FFT filter
all.equal(y1, y2) # same result
# }
Run the code above in your browser using DataLab