Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books

Sponsor

DM6467T DaVinci video processor enables H.264 1080p decoding up to 60 fps/eight D1 channel encoding.
Details Here!

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?

  

Spatial Derivatives

In addition to time derivatives, we may apply any number of spatial derivatives to obtain yet more wave variables to choose from. The first spatial derivative of string displacement yields slope waves:

$\displaystyle y'(t,x)$ $\displaystyle \isdef$ $\displaystyle \frac{\partial}{\partial x}y(t,x)$  
  $\displaystyle =$ $\displaystyle y'_r(t-x/c) + y'_l(t+x/c)$ (H.39)
  $\displaystyle =$ $\displaystyle -\frac{1}{c} {\dot y}_r(t-x/c) + \frac{1}{c}{\dot y}_l(t+x/c)$  

or, in discrete time,
$\displaystyle y'(t_n,x_m)$ $\displaystyle \isdef$ $\displaystyle y'(nT,mX)$  
  $\displaystyle =$ $\displaystyle y'_r\left[(n-m)T\right]+ y'_l\left[(n+m)T\right]$  
  $\displaystyle \isdef$ $\displaystyle y'^{+}(n-m) + y'^{-}(n+m)$  
  $\displaystyle =$ $\displaystyle -\frac{1}{c} \dot y^{+}(n-m) + \frac{1}{c}\dot y^{-}(n+m)$ (H.40)
  $\displaystyle \isdef$ $\displaystyle -\frac{1}{c} v^{+}(n-m) + \frac{1}{c}v^{-}(n+m)$  
  $\displaystyle =$ $\displaystyle \frac{1}{c} \left[v^{-}(n+m) - v^{+}(n-m) \right]$  

From this we may conclude that $ v^{-}= cy'^{-}$ and $ v^{+}= -cy'^{+}$. That is, traveling slope waves can be computed from traveling velocity waves by dividing by $ c$ and negating in the right-going case. Physical string slope can thus be computed from a velocity-wave simulation in a digital waveguide by subtracting the upper rail from the lower rail and dividing by $ c$.

By the wave equation, curvature waves, $ y''= {\ddot y}/c^2$, are simply a scaling of acceleration waves, in the case of ideal strings.

In the field of acoustics, the state of a vibrating string at any instant of time $ t_0$ is normally specified by the displacement $ y(t_0,x)$ and velocity $ {\dot y}(t_0,x)$ for all $ x$ [325]. Since displacement is the sum of the traveling displacement waves and velocity is proportional to the difference of the traveling displacement waves, one state description can be readily obtained from the other.

In summary, all traveling-wave variables can be computed from any one, as long as both the left- and right-going component waves are available. Alternatively, any two linearly independent physical variables, such as displacement and velocity, can be used to compute all other wave variables. Wave variable conversions requiring differentiation or integration are relatively expensive since a large-order digital filter is necessary to do it right. Slope and velocity waves can be computed from each other by simple scaling, and curvature waves are identical to acceleration waves to within a scale factor.

In the absence of factors dictating a specific choice, velocity waves are a good overall choice because (1) it is numerically easier to perform digital integration to get displacement than it is to differentiate displacement to get velocity, (2) slope waves are immediately computable from velocity waves. Slope waves are important because they are proportional to force waves.


Order a Hardcopy of Physical Audio Signal Processing

Previous: Alternative Wave Variables
Next: Force Waves

written by 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? )