run.avg {imagefx} | R Documentation |
Perform Running Average via Convolution
Description
Smooth input data by convolution it with with a boxcar function of specified width. This is done in the frequency domain using multiplication.
Usage
run.avg(data, win)
Arguments
data |
signal (vector) to convolve. |
win |
width of the boxcar in samples. |
Details
Convolution occurs in the frequency domain via a multiplication.
Value
Smoothed vector with the same dimension as data
Note
This function uses fft
which can take significantly long run times if the input signal is prime or is divisible by few integers.
Author(s)
Alex J.C. Witsil
See Also
Examples
## make a delta 2D (time series) function
delta <- rep(0,101)
delta[floor(length(delta)/2)] = 1
## define a window length to average over
win = 20
## filter the delta function...this will result in a boxcar
box.car <- run.avg(delta,win)
## note sum(box.car) should equal the sum of the original signal...
## in this case sum(box.car)==1
##############
## PLOTTING ##
##############
plot(delta,type='h',lwd=2)
lines(box.car,col='blue',lwd=2,type='h')
legend('topright',col=c('black','blue'),legend=c('delta','running average'),lwd=2)
[Package imagefx version 0.4.1 Index]