DSPRelated.com
Free Books

DW State Space Model

As discussed in §E.2, the traveling-wave decomposition Eq.$ \,$(E.4) defines a linear transformation Eq.$ \,$(E.10) from the DW state to the FDTD state:

$\displaystyle \underline{x}_K= \mathbf{T}\, \underline{x}_W \protect$ (E.27)

Since $ \mathbf{T}$ is invertible, it qualifies as a linear transformation for performing a change of coordinates for the state space. Substituting Eq.$ \,$(E.27) into the FDTD state space model Eq.$ \,$(E.24) gives
$\displaystyle \mathbf{T}\,\underline{x}_W(n+2)$ $\displaystyle =$ $\displaystyle \mathbf{A}_K\, \mathbf{T}\,\underline{x}_W(n) + \mathbf{B}_K\, \underline{u}(n+2)\protect$ (E.28)
$\displaystyle \underline{y}(n)$ $\displaystyle =$ $\displaystyle \mathbf{C}_K\, \mathbf{T}\,\underline{x}_W(n).
\protect$ (E.29)

Multiplying through Eq.$ \,$(E.28) by $ \mathbf{T}^{-1}$ gives a new state-space representation of the same dynamic system which we will show is in fact the DW model of Fig.E.2:
$\displaystyle \underline{x}_W(n+2)$ $\displaystyle =$ $\displaystyle \mathbf{A}_W\, \underline{x}_W(n) + {\mathbf{B}_W}\, \underline{u}(n+2)$  
$\displaystyle \underline{y}(n)$ $\displaystyle =$ $\displaystyle \mathbf{C}_W\, \underline{x}_W(n)$ (E.30)

where
$\displaystyle \mathbf{A}_W$ $\displaystyle \isdef$ $\displaystyle \mathbf{T}^{-1}\mathbf{A}_K\,\mathbf{T}$  
$\displaystyle {\mathbf{B}_W}$ $\displaystyle \isdef$ $\displaystyle \mathbf{T}^{-1}\mathbf{B}_K$  
$\displaystyle \mathbf{C}_W$ $\displaystyle \isdef$ $\displaystyle \mathbf{C}_K\,\mathbf{T}
\protect$ (E.31)

To verify that the DW model derived in this manner is the computation diagrammed in Fig.E.2, we may write down the state transition matrix for one subgrid from the figure to obtain the permutation matrix $ \mathbf{A}_W$,

$\displaystyle \underbrace{\left[\! \begin{array}{l} \qquad\vdots \\ y^{+}_{n+2,...
...{-}_{n,m+4} \\ \quad\vdots \end{array} \!\right]}_{\underline{x}_W(n)} \protect$ (E.32)

and displacement output matrix $ \mathbf{C}_W$:

\begin{displaymath}
\underbrace{\left[\!
\begin{array}{c}
\vdots \\
y_{n,m-2} \...
...+4} \\
\quad\vdots
\end{array}\!\right]}_{\underline{x}_W(n)}
\end{displaymath}

DW Displacement Inputs

We define general DW inputs as follows:

$\displaystyle y^{+}_{n,m}$ $\displaystyle =$ $\displaystyle y^{+}_{n-1,m-1} + (\underline{\gamma}^{+}_m)^T \underline{\upsilon}(n)$ (E.33)
$\displaystyle y^{-}_{n,m}$ $\displaystyle =$ $\displaystyle y^{-}_{n-1,m+1} + (\underline{\gamma}^{-}_m)^T \underline{\upsilon}(n)$ (E.34)

The $ m$th $ 2q\times2$ block of the input matrix $ {\mathbf{B}_W}$ driving state components $ [y^{+}_{n+2,m},y^{-}_{n+2,m}]^T$ and multiplying $ [\underline{\upsilon}(n+2)^T,\underline{\upsilon}(n+1)^T]^T$ is then given by

$\displaystyle \left({\mathbf{B}_W}\right)_m = \left[\! \begin{array}{cc} (\unde...
...ma}^{-}_m)^T & (\underline{\gamma}^{-}_{m+1})^T \end{array} \!\right]. \protect$ (E.35)

Typically, input signals are injected equally to the left and right along the string, in which case

$\displaystyle \underline{\gamma}^{+}_m = \underline{\gamma}^{-}_m \isdef \underline{\gamma}_m.
$

Physically, this corresponds to applied forces at a single, non-moving, string position over time. The state update with this simplification appears as

\begin{displaymath}
\underbrace{\left[\!
\begin{array}{c}
\vdots\\
y^{+}_{n+2,m...
...ine{\upsilon}(n+1)
\end{array}\!\right]}_{\underline{u}(n+2)}.
\end{displaymath}

Note that if there are no inputs driving the adjacent subgrid ( $ \underline{\gamma}_{m-1}=\underline{\gamma}_{m+1}=0$), such as in a half-rate staggered grid scheme, the input reduces to

\begin{displaymath}
\underline{x}_W(n+2) = \mathbf{A}_W\underline{x}_W(n) +
\un...
...d{array}\!\right]}_{{\mathbf{B}_W}}
\underline{\upsilon}(n+2).
\end{displaymath}

To show that the directly obtained FDTD and DW state-space models correspond to the same dynamic system, it remains to verify that $ \mathbf{A}_W=\mathbf{T}^{-1}\mathbf{A}_K\,\mathbf{T}$. It is somewhat easier to show that

\begin{eqnarray*}
\mathbf{T}\,\mathbf{A}_W&=& \mathbf{A}_K\,\mathbf{T}\\
&=&
\l...
...dots & \vdots & \vdots & \vdots & \vdots
\end{array}\!\right].
\end{eqnarray*}

A straightforward calculation verifies that the above identity holds, as expected. One can similarly verify $ \mathbf{C}_W=\mathbf{C}_K\,\mathbf{T}$, as expected. The relation $ {\mathbf{B}_W}=\mathbf{T}^{-1}\,\mathbf{B}_K$ provides a recipe for translating any choice of input signals for the FDTD model to equivalent inputs for the DW model, or vice versa. For example, in the scalar input case ($ q=1$), the DW input-weights $ {\mathbf{B}_W}$ become FDTD input-weights $ \mathbf{B}_K$ according to

\begin{displaymath}
\left[\!
\begin{array}{l}
\qquad\vdots\\
y_{n+1,m-1}\\
y_{...
...psilon}(n+2)\\
\underline{\upsilon}(n+1)
\end{array}\!\right]
\end{displaymath}

The left- and right-going input-weight superscripts indicate the origin of each coefficient. Setting $ \gamma^{+}_m=\gamma^{-}_m$ results in

$\displaystyle \mathbf{B}_K= \left[\! \begin{array}{cc} \vdots & \vdots\\ \gamma...
...ma _{m+1}+\gamma _{m+3} \\ [5pt] \vdots & \vdots \end{array} \!\right] \protect$ (E.36)

Finally, when $ \gamma _m=1$ and $ \gamma _{\mu}=0$ for all $ \mu\neq m$, we obtain the result familiar from Eq.$ \,$(E.23):

\begin{displaymath}
\mathbf{B}_K=
\left[\!
\begin{array}{cc}
\vdots & \vdots\\
...
...0 \\
2 & 0 \\
1 & 0 \\
\vdots & \vdots
\end{array}\!\right]
\end{displaymath}

Similarly, setting $ \gamma^{\pm}_{\mu}=0$ for all $ \mu\neq m+1$, the weighting pattern $ (1,2,1)$ appears in the second column, shifted down one row. Thus, $ \mathbf{B}_K$ in general (for physically stationary displacement inputs) can be seen as the superposition of weight patterns $ (1,2,1)$ in the left column for even $ m$, and the right column for odd $ m$ (the other subgrid), where the $ 2$ is aligned with the driven sample. This is the general collection of displacement inputs.



DW Non-Displacement Inputs

Since a displacement input at position $ m$ corresponds to symmetrically exciting the right- and left-going traveling-wave components $ y^{+}_m$ and $ y^{-}_m$, it is of interest to understand what it means to excite these components antisymmetrically. As discussed in §E.3.3, an antisymmetric excitation of traveling-wave components can be interpreted as a velocity excitation. It was noted that localized velocity excitations in the FDTD generally correspond to non-localized velocity excitations in the DW, and that velocity in the DW is proportional to the spatial derivative of the difference between the left-going and right-going traveling displacement-wave components (see Eq.$ \,$(E.13)). More generally, the antisymmetric component of displacement-wave excitation can be expressed in terms of any wave variable which is linearly independent relative to displacement, such as acceleration, slope, force, momentum, and so on. Since the state space of a vibrating string (and other mechanical systems) is traditionally taken to be position and velocity, it is perhaps most natural to relate the antisymmetric excitation component to velocity.

In practice, the simplest way to handle a velocity input $ v_m(n)$ in a DW simulation is to first pass it through a first-order integrator of the form

$\displaystyle H(z) = \frac{1}{1-z^{-1}} = 1 + z^{-1}+ z^{-2} + \cdots \protect$ (E.37)

to convert it to a displacement input. By the equivalence of the DW and FDTD models, this works equally well for the FDTD model. However, in view of §E.3.3, this approach does not take full advantage of the ability of the FDTD scheme to provide localized velocity inputs for applications such as simulating a piano hammer strike. The FDTD provides such velocity inputs for ``free'' while the DW requires the external integrator Eq.$ \,$(E.37).

Note, by the way, that these ``integrals'' (both that done internally by the FDTD and that done by Eq.$ \,$(E.37)) are merely sums over discrete time--not true integrals. As a result, they are exact only at dc (and also trivially at $ f_s/2$, where the output amplitude is zero). Discrete sums can also be considered exact integrators for impulse-train inputs--a point of view sometimes useful when interpreting simulation results. For normal bandlimited signals, discrete sums most accurately approximate integrals in a neighborhood of dc. The KW-converter filter $ H(z)=1-z^{-2}$ has analogous properties.


Input Locality

The DW state-space model is given in terms of the FDTD state-space model by Eq.$ \,$(E.31). The similarity transformation matrix $ \mathbf{T}$ is bidiagonal, so that $ \mathbf{C}_K$ and $ \mathbf{C}_W=\mathbf{C}_K\,\mathbf{T}$ are both approximately diagonal when the output is string displacement for all $ m$. However, since $ \mathbf{T}^{-1}$ given in Eq.$ \,$(E.11) is upper triangular, the input matrix $ {\mathbf{B}_W}=\mathbf{T}^{-1}\mathbf{B}_K$ can replace sparse input matrices $ \mathbf{B}_K$ with only half-sparse $ {\mathbf{B}_W}$, unless successive columns of $ \mathbf{T}^{-1}$ are equally weighted, as discussed in §E.3. We can say that local K-variable excitations may correspond to non-local W-variable excitations. From Eq.$ \,$(E.35) and Eq.$ \,$(E.36), we see that displacement inputs are always local in both systems. Therefore, local FDTD and non-local DW excitations can only occur when a variable dual to displacement is being excited, such as velocity. If the external integrator Eq.$ \,$(E.37) is used, all inputs are ultimately displacement inputs, and the distinction disappears.


Next Section:
Boundary Conditions
Previous Section:
FDTD State Space Model