Page 209 - DSP Integrated Circuits
P. 209
194 Chapter 5 Finite Word Length Effects
detected as an increased probability of overflow. That is, an overflow is more likely
to occur if an input signal that normally does not cause overflow is applied while a
nonobservable oscillation persists in the filter. We illustrate a nonobservable oscil-
lation inside part of a ladder wave digital filter that does not use a proper quanti-
zation scheme. The design of wave digital filters that suppress parasitic
oscillations will be discussed in section 5.4.
EXAMPLE 5.4
Figure 5.8 shows an example of a nonobservable, zero-input oscillation. Note that
the output of the filter is zero. The quantization points are indicated with boxes
denoted by Q. Quantization is performed such that the magnitude of the signal
values is reduced (magnitude truncation). The signal values during one sample
interval are indicated in the figure. For the sake of simplicity, they have been mul-
tiplied by 1/Q = 1024. Verify that the signal values in the next sample interval
remain the same except for a change in sign. Hence, a nonobservable zero-input
oscillation persists.
Figure 5.8 Nonobservable parasitic oscillation in a part of a ladder wave digital filter
with magnitude truncation
5.2.5 Parasitic Oscillations In Algorithms Using
Floating-Point Arithmetic
Parasitic oscillations also occur in recursive structures implemented with floating-
point arithmetic. Overflow oscillations are, of course, not a problem if floating-
point arithmetic is used. The parasitic oscillations are caused by nonlinearities
due to quantization of products and denormalization and normalization of the
mantissa that are required in addition and subtraction. The magnitude of the par-
asitic oscillations can be arbitrarily large in floating-point arithmetic, since the
actual value of the exponent does not affect the nonlinearities. Thus, the large
dynamic range of floating-point arithmetic is no remedy in avoiding undesirable
phenomena caused by nonlinearities.
We will not discuss floating-point arithmetic further because it is much more
expensive to implement than fixed-point arithmetic and, in general, we do not