NOTE: This is a hosting of the works of A.J. Fisher who died on February 29 2000.
Source can be found at https://github.com/university-of-york/cs-www-users-fisher

If you would like this to be taken down, please contact me at johan@anteeo.se

Truncated Coefficients


The design program calculates and displays the filter coefficients as floating-point numbers. If you intend to execute your filter on a floating-point process, you can use the coefficients directly. If however you are targetting a fixed-point processor, or a dedicated FIR chip which uses fixed-point, then you will have to convert the coefficients to fixed-point numbers. This entails truncation of the coefficients, so that they will fit in a given number of bits. This truncation will affect the response of the filter to some extent. The ``truncate to ... bits'' option allows you to investigate the extent of this distortion of the response.

Entering a value (an integer, n say) in the ``truncate to ... bits'' box tells the filter generation program to generate coefficients which can be represented exactly in 1:(n-1) fixed-point, that is with a sign bit and n-1 bits after the binary point. It doesn't actually display the coefficients in that form: that's up to you. (C doesn't have a syntax for fixed-point.)

In more detail, what happens is this. First, the coefficients are all scaled so that they lie in the range

Then each coefficient x is adjusted to the closest value which can be represented in 1:(n-1) fixed-point, namely where fix denotes ``nearest integer to''.


Tony Fisher / fisher@minster.york.ac.uk