void vsip_vexpoavg_f(vsip_scalar_f alpha, const vsip_vview_f *b, const vsip_vview_f *c); void vsip_cvexpoavg_f(vsip_cscalar_f alpha, const vsip_cvview_f *b, const vsip_cvview_f *c);
This function computes the exponential average (also known as exponential moving average or first-order IIR filtering) of a
vector. It updates the accumulator vector
using the input vector
and a smoothing factor
. The operation performs
element-wise exponential averaging:

for all
from 0 to
, where
is the length of the vectors,
is the smoothing factor
,
is the current input
value, and
is the accumulated average value.
The smoothing factor
determines the weight of the new data relative to the accumulated average:
Smaller
values (closer to 0) give more weight to the accumulated average (more smoothing)
Larger
values (closer to 1) give more weight to the new data (less smoothing)
vsip_dscalar_p alpha: Smoothing factor.
const vsip_dvview_p* b: Input vector containing the new data values.
const vsip_dvview_p* c: Input/Output vector that contains the accumulated average values on input and will store the updated averages on output.
Both vectors must have the same length.
The smoothing factor
should be in the range
. Values outside this range may lead to numerical instability.