Free Books

Finite Difference Implementation

Digitizing $ \underline{{\ddot x}}_i(t)$ via the centered second-order difference [Eq.$ \,$(7.5)]

$\displaystyle \underline{{\ddot x}}_n\isdefs \underline{x}_{n+1} - 2\underline{x}_n + \underline{x}_{n-1}

we obtain the following explicit finite-difference schemeD.1):

$\displaystyle \underline{X}_{n+1} \eqsp \left[2\mathbf{I}+ \mathbf{M}^{-1}\mathbf{A}\right]\underline{X}_n - \underline{X}_{n-1} + B\uv_n,

where $ \uv_n$ is the external input vector for exciting the string (driving three adjacent masses in simulations to date).

Note that requiring three adjacent spatial string samples to be in contact with the piano hammer during the attack (which helps to suppress aliasing of spatial frequencies on the string during the attack) implies a sampling rate in the vicinity of 6 megahertz [265]. Thus, the model is expensive to compute! However, results to date show a high degree of accuracy, as desired. In particular, the stretching of the partial overtones in the stiff-string model of Fig.[*] has been measured to be highly accurate despite using only three spring attachment points on one side of each mass disk [265].

See [53] for alternative finite-difference formulations that better preserve physical energy and have other nice properties worth considering.

Next Section:
Force-Pulse Synthesis
Previous Section:
Nonlinear Piano-String Equations of Motion in State-Space Form