Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Junction Passivity

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 $ k_i$ (or $ \alpha_i$ ), and all quantizations of the parameter within the allowed interval $ [-1,1]$ (or $ [0,2]$ ) 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 $ n$ -bit signal samples and $ m$ -bit reflection coefficients, the reflection and transmission multipliers produce $ n+m$ and $ n+m+1$ bits, respectively, and each of the two additions adds one more bit. Thus, the intermediate word length required is $ n+m+2$ bits, and this must be rounded without amplification down to $ n$ bits for the final outgoing samples. A similar analysis gives also that the one-multiply scattering junction needs $ n+m+2$ 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 $ i$ th junction is bounded by the incoming power if

$\displaystyle \underbrace{\frac{[f^{{+}}_i(t)]^2}{R_i(t)}
+ \frac{[f^{{-}}_{i-1}(t+T)]^2}{R_{i-1}(t)}}_{\mbox{outgoing power}}
\leq
\underbrace{\frac{[f^{{+}}_{i-1}(t-T)]^2}{R_{i-1}(t)}
+ \frac{[f^{{-}}_i(t)]^2}{R_i(t)}}_{\mbox{incoming power}}$     (C.70)

Let $ {\hat f}$ denote the finite-precision version of $ f$ . Then a sufficient condition for junction passivity is
$\displaystyle \left\vert{\hat f}^{+}_i(t)\right\vert$ $\displaystyle \leq$ $\displaystyle \left\vert f^{{+}}_i(t)\right\vert$ (C.71)
$\displaystyle \left\vert{\hat f}^{-}_{i-1}(t+T)\right\vert$ $\displaystyle \leq$ $\displaystyle \left\vert f^{{-}}_{i-1}(t+T)\right\vert$ (C.72)

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, $ s_i\isdeftext k_i$ and $ c_i\isdeftext \sqrt{1-k_i^2}$ , and these can ``get out of synch'' in the presence of quantization. Specifically, let $ {\hat s}_i \isdeftext s_i -
\epsilon_s$ denote the quantized value of $ s_i$ , and let $ {\hat c}_i\isdeftext
c_i -\epsilon_c$ denote the quantized value of $ c_i$ . Then it is no longer the case in general that $ {\hat s}^2_i + {\hat c}^2_i= 1$ . 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 $ \epsilon_s=0$ and define $ {\hat c}_i=\left\lfloor \sqrt{1-s^2_i}\right\rfloor $ , where $ \left\lfloor x\right\rfloor $ denotes largest quantized value less than or equal to $ x$ . In this case we have $ \epsilon_c\geq 0$ . Therefore,

$\displaystyle {\hat f}^{+}_i= {\hat c}_if^{{+}}_{i-1}- s_i f^{{-}}_i= f^{{+}}_i- \epsilon_c f^{{+}}_{i-1}
$

and a passive rounding rule which guarantees $ \vert{\hat f}^{+}_i\vert \leq
\vert f^{{+}}_i\vert$ need only look at the sign bits of $ {\hat f}^{+}_i$ and $ f^{{+}}_{i-1}$ .

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 $ 1$ .) 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 $ g_i$ , $ 1/g_i$ , 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).


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

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

``Physical Audio Signal Processing'', by Julius O. Smith III, W3K Publishing, 2010, ISBN 978-0-9745607-2-4.
Copyright © 2014-03-23 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA