The simple FIR filter equation:
can be implemented quite directly in C language:
y[n] = 0.0; for (k = 0; k < N; k++) y[n] = y[n] + c[k] * x[n-k];
But this naive code is inefficient:
The code is inefficient because: