- The difference equation of the FIR filter is given by,

$y(n)=∑_{m=0}^{N-1}h(m) x(n-m)$

where, each variable is represented by a fixed number of bits. Typically the input and output samples, x(n-m) and y(n), are each represented by 12 bit in the coefficients by 16 bits and two's complement format.

• Output of the filter is obtained as a sum of product of h(m) and x(n-m). After each multiplication the product contains more bit then either h(m) or x(n-m).

• For example, if 12 bit input is multiplied by 16 bit coefficient, result is 28 bit long and will need to be quantize back to 16 bits before it can be stored in a memory or to 12 bits before it can be sent as an output of the DAC.

• This leads to error was effects are similar to those of ADC noise. The common way to quantize the result of arithmetic operation is either:

(i) Truncate the result, i.e. to retain the MSB and to discard the LSB.

(ii) To round of the results, i.e. to choose the higher order bits closest to the unrounded results. This is achieved by adding half an LSB to the results.

• Round-off errors can be minimized by representing all products exactly with the double length register, and then rounding the results after obtaining the final sum.