An important issue and source of error with respect to digital filtering
(and digital systems in general) is the finite word l
An important issue and
source of error with respect to digital filtering (and digital systems in
general) is the finite word lengths used to represent data.The finite number of bits available to
represent data leads to an inherent lack of precision.There are several places in which these
errors can effect the processing of digital signals.
If we are performing digital filtering of analog
signals, the analog signal must pass through an analog to digital
converter (ADC), where the signal is quantized.This quantization will cause some accuracy to be lost.
The coefficients used to specify the behavior of
the filter are usually real numbers.Again, the finite number of available bits limits our ability to
enter these coefficients exactly.Instead, the coefficients will be rounded to the nearest
representable number, causing the filter to behave slightly differently
from its specification.
When calculating the output signal, a signal
data point is multiplied by the filter coefficient.The result of this multiplication will
sometimes be too long to fit into the original word size.Thus, it must be truncated and rounded.This product round off will lead to
some additional imprecision.
The DSP functions that we
use require that their input data be represented in Q0.15 format, though it is
more commonly referred to as Q15.In a
Qm.n format, there are m
bits used to represent the two's complement integer portion of the number, and n bits used to represent the two's
complement fractional portion.Also, m+n+1 bits are needed to store a general
Qm.n number.The extra bit is
needed to store the sign of the number in the most-significant bit
position.The representable integer
range is specified by and the finest
fractional resolution is .Thus, each Q15 data
word is 16 bits long.The leftmost bit
is the sign bit and the rightmost 15 bits are used to represent the two’s
complement fractional part of the number.The allowable range of numbers is (-1, 1) and the smallest fractional
resolution is 2^-15 or approximately 3.05 * 10^-5.