[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
|
// E(n) = E(n-1) + U(n)^2 - U(n-N)^2.
energy += filter_input * filter_input - deline_end;
normalized_stepsize = alpha / (gamma + energy);
filter_error = filter_desire - filter_output;
factor = filter_error * normalized_stepsize;
// Wi(n+1) = Wi(n) + e(n) * normalized_stepsize * u(n-i)
for(i = 0; i < (TAPS-1); i++)
*coeffs_ptr = factor * (*deline_ptr--) + (*coeffs_ptr++); /* update vector Wi(n+1), beginning with W0(n+1) */
*coeffs_ptr += factor * (*deline_ptr); /* update last coefficient */
deline_end = (*deline_ptr) * (*deline_ptr); /* estimate the U(n-N+1)^2 for normalized */
E-mail: info@telesys.ru