DSPRelated.com
Free Books

Wave Digital Modeling Examples

This section presents a series of examples, working up from very simple to more complicated situations.

``Piano hammer in flight''

Suppose we wish to model a situation in which a mass of size $ m$ kilograms is traveling with a constant velocity. This is an appropriate model for a piano hammer after its key has been pressed and before the hammer has reached the string.

Figure F.2 shows the ``wave digital mass'' derived previously. The derivation consisted of inserting an infinitesimal waveguideF.3 having (real) impedance $ m$, solving for the force-wave reflectance of the mass as seen from the waveguide, and then mapping it to the discrete time domain using the bilinear transform.

We now need to attach the other end of the transmission line to a ``force source'' which applies a force of zero newtons to the mass. In other words, we need to terminate the line in a way that corresponds to zero force.

Let the force-wave components entering and leaving the mass be denoted $ f^{{+}}$ and $ f^{{-}}$, respectively (i.e., we are dropping the subscript `d' in Fig.F.2). The physical force associated with the mass is

$\displaystyle f(n) = f^{{+}}(n) + f^{{-}}(n)
= f^{{+}}(n) - f^{{+}}(n-1)
$

The zero-force case is therefore obtained when $ f^{{+}}(n) = -f^{{-}}(n) =
f^{{+}}(n-1)$. This is illustrated in Fig.F.8.

Figure F.8: Wave digital mass in flight at a constant velocity.
\includegraphics{eps/wdhammer}

Figure F.8a (left portion) illustrates what we derived by physical reasoning, and as such, it is most appropriate as a physical model of the constant-velocity mass. However, for actual implementation, Fig.F.8b would be more typical in practice. This is because we can always negate the state variable $ x(n)$ if needed to convert it from $ f^{{+}}(n-1)$ to $ f^{{-}}(n)$. It is very common to see final simplifications like this to maximize efficiency.

Note that Fig.F.8b can be interpreted physically as a wave digital spring displaced by a constant force $ f(n) = 2x(n)$.

Extracting Physical Quantities

Since we are using a force-wave simulation, the state variable $ x(n)$ (delay element output) is in units of physical force (newtons). Specifically, $ x(n) = f^{{+}}(n-1)$. (The physical force is, of course, 0, while its traveling-wave components are not 0 unless the mass is at rest.) Using the fundamental relations relating traveling force and velocity waves

\begin{eqnarray*}
f^{{+}}(n) &\isdef & \quad\! R_0 v^{+}(n)\\
f^{{-}}(n) &\isdef & - R_0 v^{-}(n)\\
\end{eqnarray*}

where $ R_0= m$ here, it is easy to convert the state variable $ x(n)$ to other physical units, as we now demonstrate.

The velocity of the mass, for example, is given by

$\displaystyle v(n) = v^{+}(n) + v^{-}(n) =
\frac{f^{{+}}(n)}{m} - \frac{f^{{-}}(n)}{m} = \frac{2f^{{+}}(n)}{m} = \frac{2}{m}x(n)
$

Thus, the state variable $ x(n)$ can be scaled by $ 2/m$ to ``read out'' the mass velocity.

The kinetic energy of the mass is given by

$\displaystyle {\cal E}_m = \frac{1}{2}mv^2(n) = \frac{2}{m}x^2(n)
$

I.e., the square of the state variable $ x(n)$ can be scaled by $ 2/m$ to produce the physical kinetic energy associated with the mass.


Force Driving a Mass

Suppose now that we wish to drive the mass along a frictionless surface using a variable force $ f(n)$. This is similar to the previous example, except that we now want the traveling-wave components of the force on the mass to sum to $ f(n)$ instead of 0:

$\displaystyle f(n) = f^{{+}}(n) + f^{{-}}(n)
$

Since $ f(n)$ and $ f^{{-}}(n)$ are given, $ f^{{+}}(n)$ must be computed as $ f^{{+}}(n) = f(n) - f^{{-}}(n)$. This is shown in Fig.F.9.

Figure F.9: Wave digital mass driven by external force $ f(n)$.
\includegraphics{eps/wdhf}

The simplified form in Fig.F.9b can be interpreted as a wave digital spring with applied force $ f(n)$ delivered from an infinite source impedance. That is, when the applied force goes to zero, the termination remains rigid at the current displacement.

A More Formal Derivation of the Wave Digital Force-Driven Mass

Above we derived how to handle the external force by direct physical reasoning. In this section, we'll derive it using a more general step-by-step procedure which can be applied systematically to more complicated situations.

Figure F.10 gives the physical picture of a free mass driven by an external force in one dimension. Figure F.11 shows the electrical equivalent circuit for this scenario in which the external force is represented by a voltage source emitting $ f(t)$ volts, and the mass is modeled by an inductor having the value $ L=m$ Henrys.

Figure F.10: Physical diagram of an external force driving a mass sliding on a frictionless surface.
\includegraphics{eps/forcemass}

Figure: Electrical equivalent circuit of the force-driven mass in Fig.F.10.
\includegraphics{eps/forcemassec}

The next step is to convert the voltages and currents in the electrical equivalent circuit to wave variables. Figure F.12 gives an intermediate equivalent circuit in which an infinitesimal transmission line section with real impedance $ R_0= m$ has been inserted to facilitate the computation of the wave-variable reflectance, as we did in §F.1.1 to derive Eq.$ \,$(F.1).

Figure F.12: Intermediate equivalent circuit for the force-driven mass in which an infinitesimal transmission line section has been inserted to facilitate conversion of the mass impedance $ ms$ into a wave-variable reflectance.
\includegraphics{eps/forcemassscat}

Figure: Intermediate wave-variable model of the force-driven mass of Fig.F.11.
\includegraphics{eps/forcemassdt}

Figure F.13 depicts a next intermediate equivalent circuit in which the mass has been replaced by its reflectance (using ``$ z^{-1}$'' to denote the continuous-time reflectance $ (1-s)/(1+s)$, as derived in §F.1.1). The infinitesimal transmission-line section is now represented by a ``resistor'' since, when the voltage source is initially ``switched on'', it only ``sees'' a real resistance having the value $ m$ Ohms (the waveguide interface). After a short period of time determined by the reflectance of the mass,F.4 ``return waves'' from the mass result in an ultimately reactive impedance. This of course must be the case because the mass does not dissipate energy. Therefore, the ``resistor'' of $ m$ Ohms is not a resistor in the usual sense since it does not convert potential energy (the voltage drop across it) into heat. Instead, it converts potential energy into propagating waves with 100% efficiency. Since all of this wave energy is ultimately reflected by the terminating element (mass, spring, or any combination of masses and springs), the net effect is a purely reactive impedance, as we know it must be.

Figure F.14: Interconnection of the wave digital mass with an ideal force source by means of a two-port parallel adaptor. The symbol ``$ \vert\vert$'' is used in the WDF literature to signify a parallel adaptor.
\includegraphics{eps/forcemassjunc}

To complete the wave digital model, we need to connect our wave digital mass to an ideal force source which asserts the value $ f(n)$ each sample time. Since an ideal force source has a zero internal impedance, we desire a parallel two-port junction which connects the impedances $ R_1 = 0$ ( $ \Gamma _1=\infty$) and $ R_2=m$ ( $ \Gamma _2=1/m$), as shown in Fig.F.14. From Eq.$ \,$(F.18) we have that the common junction force is equal to

\begin{eqnarray*}
f(n) &=& \alpha_1 f^{{+}}_1(n) + \alpha_2 f^{{+}}_2(n)\\
&=&...
...c{2}{m}}{\infty+\frac{1}{m}} f^{{+}}_2(n)\\
&=& 2 f^{{+}}_1(n)
\end{eqnarray*}

from which we conclude that

$\displaystyle \fbox{$\displaystyle f^{{+}}_1(n) = \frac{f(n)}{2}$}
$

The outgoing waves are, by Eq.$ \,$(F.19),

\begin{eqnarray*}
f^{{-}}_1(n) &=& f(n) - f^{{+}}_1(n) = \frac{f(n)}{2}\\
f^{{-}}_2(n) &=& f(n) - f^{{+}}_2(n) = f(n) - f^{{-}}_m(n)
\end{eqnarray*}

Since $ \alpha_1=1$ and $ \alpha_2=0$ for this model, the reflection coefficient seen on port 1 is $ \rho = \alpha_1 - 1 = 1$. The transmission coefficient from port 1 is $ 1+\rho=2$. In the opposite direction, the reflection coefficient on port 2 is $ -\rho= -1$, and the transmission coefficient from port 2 is $ 1-\rho = 0$. The final result, drawn in Kelly-Lochbaum form (see §F.2.1), is diagrammed in Fig.F.15, as well as the result of some elementary simplifications. The final model is the same as in Fig.F.9, as it should be.

Figure F.15: Wave digital mass driven by external force $ f(n)$.
\includegraphics{eps/forcemasswdf}


Force Driving a Spring against a Wall

For this example, we have an external force $ f(n)$ driving a spring $ k$ which is terminated on the other end at a rigid wall. Figure F.16 shows the physical diagram and the electrical equivalent circuit is given in Fig.F.17.

Figure F.16: External force driving a spring terminated by a rigid wall.
\includegraphics{eps/forcespring}

Figure: Electrical equivalent circuit of the compressed spring of Fig.F.16.
\includegraphics{eps/forcespringec}

Figure F.18 depicts the insertion of an infinitesimal transmission line, and Fig.F.19 shows the result of converting the spring impedance to wave variable form.

Figure F.18: Intermediate equivalent circuit for the force-driven spring in which an infinitesimal transmission line section has been inserted to facilitate conversion of the spring impedance $ k/s$ into a wave-variable reflectance.
\includegraphics{eps/forcespringscat}

Figure: Intermediate wave-variable model of Fig.F.17.
\includegraphics{eps/forcespringdt}

The two-port adaptor needed for this problem is the same as that for the force-driven mass, and the final result is shown in Fig.F.20.

Figure F.20: Wave digital spring driven by external force $ f(n)$.
\includegraphics{eps/forcespringwdf}

Note that the spring model is being driven by a force from a zero source impedance, in contrast with the infinite source impedance interpretation of Fig.F.8b as a compressed spring. In this case, if the driving force goes to zero, the spring force goes immediately to zero (``free termination'') rather than remaining fixed.


Spring and Free Mass

For this example, we have an external force $ f(n)$ driving a spring $ k$ which in turn drives a free mass $ m$. Since the force on the spring and the mass are always the same, they are formally ``parallel'' impedances.

This problem is easier than it may first appear since an ideal ``force source'' (i.e., one with a zero source impedance) driving impedances in parallel can be analyzed separately for each parallel branch. That is, the system is equivalent to one in which the mass and spring are not connected at all, and each has its own copy of the force source. With this insight in mind, one can immediately write down the final wave-digital model shown in Fig.F.25. However, we will go ahead and analyze this case more formally since it has some interesting features.

Figure F.21 shows the physical diagram of the spring-mass system driven by an external force. The electrical equivalent circuit appears in Fig.F.22, and the first stage of a wave-variable conversion is shown in Fig.F.23.

Figure F.21: External force driving a spring which in turn drives a free mass sliding on a frictionless surface.
\includegraphics{eps/springmass}

Figure: Electrical equivalent circuit of the spring/mass system of Fig.F.21.
\includegraphics{eps/springmassec}

Figure: Intermediate wave-variable model of the mass and dashpot of Fig.F.22.
\includegraphics{eps/springmassdt}

Figure F.24: Wave digital model for the parallel combination of a wave digital mass $ m$, wave digital spring $ k$, and driving force $ f(n)$. The corresponding port impedances are $ m$, $ k$, and 0, respectively.
\includegraphics{eps/springmassjunc}

For this example we need a three-port parallel adaptor, as shown in Fig.F.24 (along with its attached mass and spring). The port impedances are 0, $ k$, and $ m$, yielding alpha parameters $ \alpha_1 =2$ and $ \alpha_2=\alpha_3=0$. The final result, after the same sorts of elementary simplifications as in the previous example, is shown in Fig.F.25. As predicted, a force source driving elements in parallel is equivalent to a set of independent force-driven elements.

Figure F.25: Wave digital filter model of an external force driving a mass through a spring. The mass force-wave components are denoted $ f^\pm _m$, while those for the spring are denoted $ f^\pm _k$.
\includegraphics{eps/wdspringmass}

From this and the preceding example, we can see a general pattern: Whenever there is an ideal force source driving a parallel junction, then $ \Gamma _1=\infty$ and all other port admittances are finite. In this case, we always obtain $ \alpha_1 =2$ and $ \alpha_i=0$, $ i\neq 1$.


Mass and Dashpot in Series

This is our first example illustrating a series connection of wave digital elements. Figure F.26 gives the physical scenario of a simple mass-dashpot system, and Fig.F.27 shows the equivalent circuit. Replacing element voltages and currents in the equivalent circuit by wave variables in an infinitesimal waveguides produces Fig.F.28.

Figure F.26: External force driving a mass which in turn drives a dashpot terminated on the other end by a rigid wall.
\includegraphics{eps/massdash}

Figure: Electrical equivalent circuit of the mass and dashpot system of Fig.F.26.
\includegraphics{eps/massdashec}

Figure: Intermediate wave-variable model of the mass and dashpot of Fig.F.27.
\includegraphics{eps/massdashdt}

Figure F.29: Wave digital filter for an ideal force source in parallel with the series combination of a mass $ m$ and dashpot $ \mu $. The parallel and series adaptors are joined at an impedance $ R$ which is calculated to suppress reflection from port 1 of the series adaptor.
\includegraphics{eps/massdashjunc}

The system can be described as an ideal force source $ f(t)$ connected in parallel with the series connection of mass $ m$ and dashpot $ \mu $. Figure F.29 illustrates the resulting wave digital filter. Note that the ports are now numbered for reference. Two more symbols are introduced in this figure: (1) the horizontal line with a dot in the middle indicating a series adaptor, and (2) the indication of a reflection-free port on input 1 of the series adaptor (signal $ f^{{+}}_1(n)$). Recall that a reflection-free port is always necessary when connecting two adaptors together, to avoid creating a delay-free loop.

Let's first calculate the impedance $ R$ necessary to make input 1 of the series adaptor reflection free. From Eq.$ \,$(F.37), we require

$\displaystyle R = m + \mu
$

That is, the impedance of the reflection-free port must equal the series combination of all other port impedances meeting at the junction.

The parallel adaptor, viewed alone, is equivalent to a force source driving impedance $ R=m+\mu$. It is therefore realizable as in Fig.F.20 with the wave digital spring replaced by the mass-dashpot assembly in Fig.F.29. However, we can also carry out a quick analysis to verify this: The alpha parameters are

\begin{eqnarray*}
\alpha_1 &\isdef & \frac{2\Gamma _1}{\Gamma _1+\Gamma _2}
= \...
...\mu}\right)}{\infty+\left(\frac{1}{m}+\frac{1}{\mu}\right)}
= 0
\end{eqnarray*}

Therefore, the reflection coefficient seen at port 1 of the parallel adaptor is $ \rho = \alpha_1 - 1 = 1$, and the Kelly-Lochbaum scattering junction depicted in Fig.F.20 is verified.

Let's now calculate the internals of the series adaptor in Fig.F.29. From Eq.$ \,$(F.26), the beta parameters are

\begin{eqnarray*}
\beta_1 &\isdef & \frac{2R_1}{R_1+R_2+R_3}
= \frac{2(m+\mu)}{...
...R_3}{R_1+R_2+R_3}
= \frac{2m}{(m+\mu)+m+\mu}
= \frac{m}{m+\mu}
\end{eqnarray*}

Following Eq.$ \,$(F.30), the series adaptor computes

\begin{eqnarray*}
f^{{+}}_J(n) &=& f^{{+}}_1(n)+f^{{+}}_2(n)+f^{{+}}_3(n)
= f(...
...(n)\\
&=& \frac{\mu}{m+\mu}f^{{+}}_3(n) - \frac{m}{m+\mu} f(n)
\end{eqnarray*}

We do not need to explicitly compute $ f^{{-}}_2(n)$ because it goes into a purely resistive impedance $ \mu $ and produces no return wave. For the same reason, $ f^{{+}}_2(n)\equiv\message{CHANGE eqv TO equiv IN SOURCE}0$. Figure F.30 shows a wave flow diagram of the computations derived, together with the result of elementary simplifications.

Figure F.30: Wave flow diagram for the WDF modeling an ideal force source in parallel with the series combination of a mass $ m$ and dashpot $ \mu $.
\includegraphics{eps/massdashwdf}

Because the difference of the two coefficients in Fig.F.30 is 1, we can easily derive the one-multiply form in Fig.F.31.

Figure: One-multiply form of the WDF in Fig.F.30.
\includegraphics{eps/massdashwdfom}

Checking the WDF against the Analog Equivalent Circuit

Let's check our result by comparing the transfer function from the input force to the force on the mass in both the discrete- and continuous-time cases.

For the discrete-time case, we have

$\displaystyle H_m(z) \isdef \frac{F_3(z)}{F(z)}
= \frac{F^{+}_3(z) + F^{-}_3(z)}{F(z)}
= (1-z^{-1}) \frac{F^{-}_3(z)}{F(z)}
$

where the last simplification comes from the mass reflectance relation $ F^{+}_3(z) = -z^{-1}F^{-}_3(z)$. (Note that we are using the standard traveling-wave notation for the adaptor, so that the $ \pm$ signs are swapped relative to element-centric notation.)

We now need $ F^{-}_3(z)/F(z)$. To simplify notation, define the two coefficients as

\begin{eqnarray*}
a &=& \frac{m}{m+\mu}\\
b &=& \frac{\mu}{m+\mu}
\end{eqnarray*}

From Figure F.30, we can write

\begin{eqnarray*}
F^{-}_3(z) &=& -a\left[F(z)-z^{-1}F^{-}_3(z)\right] + b\left[-...
...\,\,\quad
F^{-}_3(z) &=& -a\frac{F(z)}{1-(a-b)z^{-1}F^{-}_3(z)}
\end{eqnarray*}

Thus, the desired transfer function is

$\displaystyle H_m(z) = -a \frac{1-z^{-1}}{1-(a-b)z^{-1}}
= -\frac{m}{m+\mu} \frac{1-z^{-1}}{1-\left(\frac{m-\mu}{m+\mu}\right)z^{-1}}
$

We now wish to compare this result to the bilinear transform of the corresponding analog transfer function. From Figure F.27, we can recognize the mass and dashpot as voltage divider:

$\displaystyle H^a_m(s) = \frac{ms}{ms+\mu}
$

Applying the bilinear transform yields

\begin{eqnarray*}
H^a_m\left(\frac{1-z^{-1}}{1+z^{-1}}\right) &=& \frac{m\left(\...
...{-1}}{1 - \left(\frac{m-\mu}{m+\mu}\right)z^{-1}}\\
&=& H_m(z)
\end{eqnarray*}

Thus, we have verified that the force transfer-function from the driving force to the mass is identical in the discrete- and continuous-time models, except for the bilinear transform frequency warping in the discrete-time case.


Wave Digital Mass-Spring Oscillator

Let's look again at the mass-spring oscillator of §F.3.4, but this time without the driving force (which effectively decouples the mass and spring into separate first-order systems). The physical diagram and equivalent circuit are shown in Fig.F.32 and Fig.F.33, respectively.

Figure F.32: Elementary mass-spring oscillator.
\includegraphics{eps/tank}

Figure F.33: Equivalent circuit for the mass-spring oscillator.
\includegraphics{eps/tankec}

Note that the mass and spring can be regarded as being in parallel or in series. Under the parallel interpretation, we have the WDF shown in Fig.F.34 and Fig.F.35.F.5 The reflection coefficient $ \rho$ can be computed, as usual, from the first alpha parameter:

$\displaystyle \rho = \alpha_1 - 1 = \frac{2\Gamma _1}{\Gamma _1+\Gamma _2} - 1 ...
..._1-\Gamma _2}{\Gamma _1+\Gamma _2}
= \frac{R_2-R_1}{R_2+R_1}
= \frac{m-k}{m+k}
$

This result, $ \rho=(m-k)/(m+k)$, is just the ``impedance step over impedance sum'', so no calculation was really necessary.

Figure F.34: Wave digital mass-spring oscillator.
\includegraphics{eps/tankjunc}

Figure F.35: Detailed wave-flow diagram for the wave digital mass-spring oscillator.
\includegraphics{eps/tankwdf}

Oscillation Frequency

From Fig.F.33, we can see that the impedance of the parallel combination of the mass and spring is given by

$\displaystyle R_{m\vert\vert k}(s) \isdef \left.\frac{k}{s} \right\Vert ms = \frac{\frac{k}{s}ms}{\frac{k}{s}+ms} = \frac{ks}{s^2+\frac{k}{m}} \protect$ (F.38)

(using the product-over-sum rule for combining impedances in parallel). The poles of this impedance are given by the roots of the denominator polynomial in $ s$:

$\displaystyle s = \pm j\sqrt{\frac{k}{m}} \protect$ (F.39)

The resonance frequency of the mass-spring oscillator is therefore

$\displaystyle \omega_0 = \sqrt{\frac{k}{m}} \protect$ (F.40)

Since the poles $ s=\pm j\omega_0$ are on the $ j\omega $ axis, there is no damping, as we expect.

We can now write reflection coefficient $ \rho$ (see Fig.F.35) as

$\displaystyle \rho = \frac{m-k}{m+k} = \frac{1-\frac{k}{m}}{1+\frac{k}{m}} = \frac{1-\omega_0^2}{1+\omega_0^2}
$

We see that dc ( $ \omega_0=0$) corresponds to $ \rho=1$, and $ \omega_0=\infty$ corresponds to $ \rho=-1$.


DC Analysis of the WD Mass-Spring Oscillator

Considering the dc case first ($ \rho=1$), we see from Fig.F.35 that the state variable $ x_1(n)$ will circulate unchanged in the isolated loop on the left. Let's call this value $ x_1(n)\equiv\message{CHANGE eqv TO equiv IN SOURCE}
x_0$. Then the physical force on the spring is always equal to

$\displaystyle f_k(n) = f^{{+}}_k(n) + f^{{-}}_k(n) = 2x_1(n) = 2 x_0. \qquad\hbox{(spring force, dc case)} \protect$ (F.41)

The loop on the right in Fig.F.35 receives $ 2 x_0$ and adds $ x_2(n)$ to that. Since $ x_2(n+1) = 2x_1(n)+x_2(n)$, we see it is linearly growing in amplitude. For example, if $ x_2(0)=0$ (with $ x_1(0)=x_0$), we obtain $ x_2=[0, 2x_0, 4x_0, 6x_0,\ldots]$, or

$\displaystyle x_2(n) = 2 n x_0, \quad n=0,1,2,3,\ldots\,. \protect$ (F.42)

At first, this result might appear to contradict conservation of energy, since the state amplitude seems to be growing without bound. However, the physical force is fortunately better behaved:

$\displaystyle f_m(n) = f^{{+}}_m(n) + f^{{-}}_m(n) = x_2(n+1) - x_2(n) = 2x_0. \protect$ (F.43)

Since the spring and mass are connected in parallel, it must be the true that they are subjected to the same physical force at all times. Comparing Equations (F.41-F.43) verifies this to be the case.


WD Mass-Spring Oscillator at Half the Sampling Rate

Under the bilinear transform, the $ s=\infty$ maps to $ z=-1$ (half the sampling rate). It is therefore no surprise that given $ \omega_0=\infty$ ($ \rho=-1$), inspection of Fig.F.35 reveals that any alternating sequence (sinusoid sampled at half the sampling rate) will circulate unchanged in the loop on the right, which is now isolated. Let $ x_2(n) = (-1)^n x_0$ denote this alternating sequence. The loop on the left receives $ - 2 x_2(n)$ and adds $ - x_1(n-1)$ to it, i.e., $ x_1(n+1)= - x_1(n) - 2 x_2(n) = -x_1(n) - 2x_2(0)(-1)^n$. If we start out with $ x_1(0)=0$ and $ x_2(0)=x_0$, we obtain $ x_1 =
[0,-2x_0, 4x_0, -6x_0, \ldots]$, or

$\displaystyle x_1(n) = (-1)^n 2 n x_0, \quad n=0,1,2,3,\ldots\,.
$

However, the physical spring force is well behaved, since

$\displaystyle f_k(n) = f^{{+}}_k(n) + f^{{-}}_k(n) = x_1(n+1) + x_1(n) = (-1)^{n+1}2 x_0
$

As a check, the mass force is found to be

\begin{eqnarray*}
f_m(n) &=& x_2(n+1) - x_2(n)\\
&=& (-1)^{n+1}x_0 - (-1)^n x_0\\
&=& (-1)^{n+1}x_0 + (-1)^{n+1}x_0\\
&=& (-1)^{n+1}2 x_0,
\end{eqnarray*}

which agrees with the spring, as it must.


Linearly Growing State Variables in WD Mass-Spring Oscillator

It may seem disturbing that such a simple, passive, physically rigorous simulation of a mass-spring oscillator should have to make use of state variables which grow without bound for the limiting cases of simple harmonic motion at frequencies zero and half the sampling rate. This is obviously a valid concern in practice as well. However, it is easy to show that this only happens at dc and $ f_s/2$, and that there is a true degeneracy at these frequencies, even in the physics. For all frequencies in the audio range (e.g., for typical sampling rates), such state variable growth cannot occur. Let's take closer look at this phenomenon, first from a signal processing point of view, and second from a physical point of view.


A Signal Processing Perspective on Repeated Mass-Spring Poles

Going back to the poles of the mass-spring system in Eq.$ \,$(F.39), we see that, as the imaginary part of the two poles, $ \pm\omega_0 =
\pm\sqrt{k/m}$, approach zero, they come together at $ s=0$ to create a repeated pole. The same thing happens at $ \omega_0=\infty$ since both poles go to ``the point at infinity''.

It is a well known fact from linear systems theory that two poles at the same point $ s=s_0=\sigma_0$ in the $ s$ plane can correspond to an impulse-response component of the form $ te^{\sigma_0 t}$, in addition to the component $ e^{\sigma_0 t}$ produced by a single pole at $ s=\sigma_0$. In the discrete-time case, a double pole at $ z=r_0$ can give rise to an impulse-response component of the form $ n r_0^n$. This is the fundamental source of the linearly growing internal states of the wave digital sine oscillator at dc and $ f_s/2$. It is interesting to note, however, that such modes are always unobservable at any physical output such as the mass force or spring force that is not actually linearly growing.


Physical Perspective on Repeated Poles in the Mass-Spring System

In the physical system, dc and infinite frequency are in fact strange cases. In the case of dc, for example, a nonzero constant force implies that the mass $ m$ is under constant acceleration. It is therefore the case that its velocity is linearly growing. Our simulation predicts this, since, using Eq.$ \,$(F.43) and Eq.$ \,$(F.42),

\begin{eqnarray*}
v_m(n) &=& \frac{f^{{+}}_m(n)}{m} - \frac{f^{{-}}_m(n)}{m}
=...
...m} \left[2(n+1) + 2n\right]x_0
= \frac{1}{m} (4 n x_0 + 2 x_0).
\end{eqnarray*}

The dc term $ 2x_0/m$ is therefore accompanied by a linearly growing term $ 2nx_0/m$ in the physical mass velocity. It is therefore unavoidable that we have some means of producing an unbounded, linearly growing output variable.


Mass-Spring Boundedness in Reality

To approach the limit of $ \omega_0 = \sqrt{k/m} = 0$, we must either take the spring constant $ k$ to zero, or the mass $ m$ to infinity, or both.

In the case of $ k\to0$, the constant force must approach zero, and we are left with at most a constant mass velocity in the limit (not a linearly growing one, since there can be no dc force at the limit). When the spring force reaches zero, $ x_1(n)=0$, so that only zeros will feed into the loop on the right in Fig.F.35, thus avoiding a linearly growing velocity, as demanded by the physics. (A constant velocity is free to circulate in the loop on the right, but the loop on the left must be zeroed out in the limit.)

In the case of $ m\to\infty$, the mass becomes unaffected by the spring force, so its final velocity must be zero. Otherwise, the attached spring would keep compressing or stretching forever, and this would take infinite energy. (Another way to arrive at this conclusion is to note that the final kinetic energy of the mass would be $ mv^2/2=\infty$.) Since the total energy in an undriven mass-spring oscillator is always constant, the infinite-mass limit must be accompanied by a zero-velocity limit.F.6 This means the mass's state variable $ x_2(n)$ in Fig.F.35 must be forced to zero in the limit so that there will be no linearly growing solution at dc.

In summary, when two or more system poles approach each other to form a repeated pole, care must be taken to ensure that the limit is approached in a physically meaningful way. In the case of the mass-spring oscillator, for example, any change in the spring constant $ k$ or mass $ m$ must be accompanied by the physically appropriate change in the state variables $ x_1(n)$ and/or $ x_2(n)$. It is obviously incorrect, for example, to suddenly set $ k=0$ in the simulation without simultaneously clearing the spring's state variable $ x_1(n)$, since the force across an infinitely compliant spring can only be zero.

Similar remarks apply to repeated poles corresponding to $ \omega_0=\infty$. In this case, the mass and spring basically change places.


Energy-Preserving Parameter Changes (Mass-Spring Oscillator)

If the change in $ k$ or $ m$ is deemed to be ``internal'', that is, involving no external interactions, the appropriate accompanying change in the internal state variables is that which conserves energy. For the mass and its velocity, for example, we must have

$\displaystyle \frac{1}{2} m_1 v_1^2 =\frac{1}{2} m_2 v_2^2
$

where $ m_1,m_2$ denote the mass values before and after the change, respectively, and $ v_1,v_2$ denote the corresponding velocities. The velocity must therefore be scaled according to

$\displaystyle v_2 = v_1\sqrt{\frac{m_1}{m_2}},
$

since this holds the kinetic energy of the mass constant. Note that the momentum of the mass is changed, however, since

$\displaystyle m_2v_2 = m_2 v_1\sqrt{\frac{m_1}{m_2}}
=v_1\sqrt{m_1m_2}
=m_1v_1\sqrt{\frac{m_2}{m_1}}
$

If the spring constant $ k$ is to change from $ k_1$ to $ k_2$, the instantaneous spring displacement $ x$ must satisfy

$\displaystyle \frac{1}{2} k_1 x_1^2 =\frac{1}{2} k_2 x_2^2
$

In a velocity-wave simulation, displacement is the integral of velocity. Therefore, the energy-conserving velocity correction is impulsive in this case.


Exercises in Wave Digital Modeling

  1. Comparing digital and analog frequency formulas. This first exercise verifies that the elementary ``tank circuit'' always resonates at exactly the frequency it should, according to the bilinear transform frequency mapping $ \omega_a = \tan(\omega_d T /
2)$, where $ \omega_a$ denotes ``analog frequency'' and $ \omega_d$ denotes ``digital frequency''.
    1. Find the poles of Fig.F.35 in terms of $ \rho$.

    2. Show that the resonance frequency is given by

      $\displaystyle f_s\arccos\left(\rho\right)
$

      where $ f_s$ denotes the sampling rate.

    3. Recall that the mass-spring oscillator resonates at $ \omega_0=\sqrt{k/m}$. Relate these two resonance frequency formulas via the analog-digital frequency map $ \omega_a = \tan(\omega_d T /
2)$.

    4. Show that the trig identity you discovered in this way is true. I.e., show that

      $\displaystyle f_s \arccos\left[\frac{k-m}{k+m}\right] =
2f_s \arctan\left[\sqrt{\frac{m}{k}}\right].
$



Previous Section:
Adaptors for Wave Digital Elements