In fixed-point implementations, the round-off error and other
nonlinear operations should be confined when possible to physically
meaningful wave variables. When this is done, it is easy to ensure
that signal power is not increased by the nonlinear operations. In
other words, nonlinear operations such as rounding can be made
*passive*. Since signal power is proportional to the square of
the wave variables, all we need to do is make sure amplitude is never
increased by the nonlinearity. In the case of rounding,
*magnitude truncation*, sometimes called ``rounding toward
zero,'' is one way to achieve passive rounding. However, magnitude
truncation can attenuate the signal excessively in low-precision
implementations and in scattering-intensive applications such as the
digital waveguide mesh [520]. Another option is
*error power feedback* in which case the cumulative round-off
error power averages to zero over time.

A valuable byproduct of passive arithmetic is the suppression of
*limit cycles* and *overflow oscillations* [436].
Formally, the signal power of a conceptually infinite-precision
implementation can be taken as a Lyapunov function bounding the
squared amplitude of the finite-precision implementation.

The Kelly-Lochbaum and one-multiply scattering junctions are *structurally lossless* [502,462] (see also
§C.17) because they have only one parameter
(or
), and all quantizations of the parameter within the allowed
interval
(or
) correspond to lossless
scattering.^{C.6}

In the Kelly-Lochbaum and one-multiply scattering junctions, because they
are structurally lossless, we need only double the number of bits at the
output of each multiplier, and add one bit of extended dynamic range at the
output of each two-input adder. The final outgoing waves are thereby *exactly* computed before they are finally rounded to the working precision
and/or clipped to the maximum representable magnitude.

For the Kelly-Lochbaum scattering junction, given
-bit signal samples
and
-bit reflection coefficients, the reflection and transmission
multipliers produce
and
bits, respectively, and each of the
two additions adds one more bit. Thus, the intermediate word length
required is
bits, and this must be rounded *without
amplification* down to
bits for the final outgoing samples. A similar
analysis gives also that the one-multiply scattering junction needs
bits for the extended precision intermediate results before final rounding
and/or clipping.

To formally show that magnitude truncation is sufficient to suppress
overflow oscillations and limit cycles in waveguide networks built using
structurally lossless scattering junctions, we can look at the signal power
entering and leaving the junction. A junction is passive if the power
flowing away from it does not exceed the power flowing into it. The total
power flowing away from the
th junction is bounded by the incoming power
if

Let denote the finite-precision version of . Then a

Thus, if the junction computations do not increase either of the output force amplitudes, no signal power is created. An analogous conclusion is reached for velocity scattering junctions.

Unlike the structurally lossless cases, the (four-multiply) normalized
scattering junction has *two* parameters,
and
, and these can ``get out of synch'' in the
presence of quantization. Specifically, let
denote the quantized value of
, and let
denote the quantized value of
. Then it is no longer the
case in general that
. As a result, the
normalized scattering junction is not structurally lossless in the presence
of coefficient quantization. A few lines of algebra shows that a passive
rounding rule for the normalized junction must depend on the sign of the
wave variable being computed, the sign of the coefficient quantization
error, and the sign of at least one of the two incoming traveling waves.
We can assume one of the coefficients is exact for passivity purposes, so
assume
and define
, where
denotes largest quantized value less than or equal to
.
In this case we have
. Therefore,

and a passive rounding rule which guarantees need only look at the sign bits of and .

The three-multiply normalized scattering junction is easier to ``passify.'' While the transformer is not structurally lossless, its simplicity allows it to be made passive simply by using non-amplifying rounding on both of its coefficients as well as on its output wave variables. (The transformer is passive when the product of its coefficients has magnitude less than or equal to .) Since there are no additions following the transformer multiplies, double-precision adders are not needed. However, precision and a half is needed in the junction adders to accommodate the worst-case increased dynamic range. Since the one-multiply junction is structurally lossless, the overall junction is passive if non-amplifying rounding is applied to , , and the outgoing wave variables from the transformer and from the one-multiply junction.

In summary, a general means of obtaining passive waveguide junctions is to
compute exact results internally, and apply *saturation* (clipping on
overflow) and *magnitude truncation* (truncation toward zero) to the
final outgoing wave variables. Because the Kelly-Lochbaum and one-multiply
junctions are structurally lossless, exact intermediate results are
obtainable using extended internal precision. For the (four-multiply)
normalized scattering junction, a passive rounding rule can be developed
based on two sign bits. For the three-multiply normalized
scattering junction, it is sufficient to apply magnitude truncation to the
transformer coefficients and all outgoing wave variables. In all cases,
the signal energy corresponding to round-off error at a scattering
junction can be summed into an accumulator which is then observed to
control the direction of future rounding [437,520];
in this way, the long-term behavior is energy-invariant (energy is
slightly ``dispersed'' in time, instead of lost or gained).

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University