Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books

Sponsor

Industry's highest performing at the lowest power DSPs now as low as $5.00*
Start development today!
*volume pricing for 10ku

Chapters

See Also

Embedded SystemsFPGAElectronics
Chapter Contents:

Search Physical Audio Signal Processing

  

Book Index | Global Index


Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?

  

Stiff String Synthesis Models

Figure 6.13: Commuted simulation of a rigidly terminated, stiff string (no damping).
\includegraphics[width=\twidth]{eps/flstifftstring}

An ideal stiff-string synthesis model is drawn in Fig. 6.13 [10]. See §C.6 for a detailed derivation. The delay-line length $ N$ is the number of samples in $ K$ periods at frequency $ f_K$, where $ K$ is the number of the highest partial supported (normally the last one before $ f_s/2$). This is the counterpart of Fig. 6.12 which depicted ideal-string damping which was lumped at a single point in the delay-line loop. For the ideal stiff string, however, (no damping), it is dispersion filtering that is lumped at a single point of the loop. Dispersion can be lumped like damping because it, too, is a linear, time-invariant (LTI) filtering of a propagating wave. Because it is LTI, dispersion-filtering commutes with other LTI systems in series, such as delay elements. The allpass filter in Fig.C.9 corresponds to filter $ H_s(z)$ in Fig.9.2 for the Extended Karplus-Strong algorithm. In practice, losses are also included for realistic string behavior (filter $ H_d(z)$ in Fig.9.2).

Allpass filters were introduced in §2.8, and a fairly comprehensive summary is given in Book II of this series [449, Appendix C].7.8The general transfer function for an allpass filter is given (in the real, single-input, single-output case) by

$\displaystyle H_s(z) = z^{-K} \frac{\tilde{A}(z)}{A(z)}
$

where $ K\geq 0$ is an integer pure-delay in samples (all delay lines are allpass filters),

$\displaystyle A(z) \isdef 1 + a_1 z^{-1}+ a_2 z^{-2} + \cdots + a_Nz^{-N},
$

and

$\displaystyle \tilde{A}(z)\isdef z^{-N}\overline{A}(z^{-1}) =
\overline{a_N} +...
...^{-1}+ \overline{a_{N-2}} z^{-2} + \cdots
+ \overline{a_1} z^{-N+1} + z^{-N}.
$

We may think of $ \tilde{A}(z)$ as the flip of $ A(z)$. For example, if $ A(z)=1+1.4z^{-1}+0.49z^{-2}$, we have $ \tilde{A}(z)=0.49+1.4z^{-1}+z^{-2}$. Thus, $ \tilde{A}(z)$ is obtained from $ A(z)$ by simply reversing the order of the coefficients (and conjugating them if they are complex, but normally they are real in practice). For an allpass filter $ H_s(z)$ simulating stiffness, we would normally have $ K=0$, since the filter is already in series with a delay line.

Section 6.11 below discusses some methods for designing stiffness allpass filters $ H_s(z)$ from measurements of stiff vibrating strings, and §9.4.1 gives further details for the case of piano string modeling.


Previous: The Stiff String
Next: The Externally Excited String

Order a Hardcopy of Physical Audio Signal Processing


About the Author: Julius Orion Smith III
Julius Smith's background is in electrical engineering (BS Rice 1975, PhD Stanford 1983). He is presently Professor of Music and Associate Professor (by courtesy) of Electrical Engineering at Stanford's Center for Computer Research in Music and Acoustics (CCRMA), teaching courses and pursuing research related to signal processing applied to music and audio systems. See http://ccrma.stanford.edu/~jos/ for details.


Comments


No comments yet for this page


Add a Comment
You need to login before you can post a comment (best way to prevent spam). ( Not a member? )