The Dispersive 1D Wave Equation
In the ideal vibrating string, the only restoring force for transverse displacement comes from the string tension (§C.1 above); specifically, the transverse restoring force is equal the net transverse component of the axial string tension. Consider in place of the ideal string a bundle of ideal strings, such as a stranded cable. When the cable is bent, there is now a new restoring force arising from some of the fibers being compressed and others being stretched by the bending. This force sums with that due to string tension. Thus, stiffness in a vibrating string introduces a new restoring force proportional to bending angle. It is important to note that string stiffness is a linear phenomenon resulting from the finite diameter of the string.
In typical treatments,C.3bending stiffness adds a new term to the wave equation that is proportional to the fourth spatial derivative of string displacement:
where the moment constant
![$ \kappa = YI$](http://www.dsprelated.com/josimages_new/pasp/img3382.png)
![$ Y$](http://www.dsprelated.com/josimages_new/pasp/img454.png)
![$ I$](http://www.dsprelated.com/josimages_new/pasp/img238.png)
![$ a$](http://www.dsprelated.com/josimages_new/pasp/img788.png)
![$ \pi a^2 \cdot (a/2)^2 = \pi a^4/4$](http://www.dsprelated.com/josimages_new/pasp/img3383.png)
To solve the stiff wave equation Eq.(C.32),
we may set
to get
![$\displaystyle \epsilon s^2 = Kv^2 - \kappa v^4.
$](http://www.dsprelated.com/josimages_new/pasp/img3384.png)
![$ K/v^2$](http://www.dsprelated.com/josimages_new/pasp/img3385.png)
![$ \epsilon s^2\approx Kv^2 \,\,\Rightarrow\,\,v=\pm s/c$](http://www.dsprelated.com/josimages_new/pasp/img3386.png)
At very high frequencies, or when the tension is negligible relative
to
, we obtain the ideal bar (or rod) approximation:
![$\displaystyle \epsilon s^2 \approx -\kappa v^4
\,\,\Rightarrow\,\,v \approx \pm e^{\pm j\frac{\pi}{4}} \left(\frac{\epsilon }{\kappa} \right)^{1/4}\sqrt{s}
$](http://www.dsprelated.com/josimages_new/pasp/img3388.png)
![$ s=j\omega$](http://www.dsprelated.com/josimages_new/pasp/img360.png)
![$ v=\pm j\left(
\epsilon /\kappa\right)^{1/4}\sqrt{\omega}$](http://www.dsprelated.com/josimages_new/pasp/img3389.png)
![$ v=\pm\left(
\epsilon /\kappa\right)^{1/4}\sqrt{\omega}$](http://www.dsprelated.com/josimages_new/pasp/img3390.png)
![$ \sqrt{\omega}$](http://www.dsprelated.com/josimages_new/pasp/img3391.png)
At intermediate frequencies, between the ideal string and the ideal bar,
the stiffness contribution can be treated as a correction term
[95]. This is the region of most practical interest because
it is the principal operating region for strings, such as piano strings,
whose stiffness has audible consequences (an inharmonic, stretched overtone
series). Assuming
,
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
Substituting for
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ e^{st+vx}$](http://www.dsprelated.com/josimages_new/pasp/img3397.png)
![$\displaystyle e^{st+vx} = \exp{\left\{{s\left[t\pm \frac{x}{c_0}\left(
1+\frac{1}{2}\kappa_0 \frac{s^2}{c_0^2} \right)\right]}\right\}}.
$](http://www.dsprelated.com/josimages_new/pasp/img3398.png)
![$ s=j\omega$](http://www.dsprelated.com/josimages_new/pasp/img360.png)
![$ \omega $](http://www.dsprelated.com/josimages_new/pasp/img15.png)
![$\displaystyle e^{st+vx} = e^{j\omega\left[t\pm {x/ c(\omega)}\right]}
$](http://www.dsprelated.com/josimages_new/pasp/img3399.png)
![$\displaystyle c(\omega) \isdef c_0\left(1 + \frac{\kappa\omega^2}{2Kc_0^2}\right).
$](http://www.dsprelated.com/josimages_new/pasp/img3400.png)
![$ \omega $](http://www.dsprelated.com/josimages_new/pasp/img15.png)
![$ x=0$](http://www.dsprelated.com/josimages_new/pasp/img126.png)
![$ x=0$](http://www.dsprelated.com/josimages_new/pasp/img126.png)
Since the temporal and spatial sampling intervals are related by , this must generalize to
, where
is the size of a unit
delay in the absence of stiffness. Thus, a unit delay
may be
replaced by
![$\displaystyle z^{-1}\to z^{-c_0/c(\omega)}$](http://www.dsprelated.com/josimages_new/pasp/img3403.png)
![$ H_a(z)$](http://www.dsprelated.com/josimages_new/pasp/img3404.png)
![$ z^{-c_0/c(\omega)}$](http://www.dsprelated.com/josimages_new/pasp/img3405.png)
The general, order , allpass filter is given by [449]
![$\displaystyle H_a(z) \isdef z^{-L} {A(z^{-1})/A(z)}
$](http://www.dsprelated.com/josimages_new/pasp/img3407.png)
![$\displaystyle A(z) \isdef 1 + a_1 z^{-1}+ a_2 z^{-2} + \cdots + a_L z^{-L}
$](http://www.dsprelated.com/josimages_new/pasp/img3408.png)
![$ A(z)$](http://www.dsprelated.com/josimages_new/pasp/img16.png)
![$ 1$](http://www.dsprelated.com/josimages_new/pasp/img138.png)
![$ p_i$](http://www.dsprelated.com/josimages_new/pasp/img301.png)
![$ z_i=1/p_i$](http://www.dsprelated.com/josimages_new/pasp/img3409.png)
For computability of the string simulation in the presence of scattering
junctions, there must be at least one sample of pure delay along each
uniform section of string. This means for at least one allpass filter in
Fig.C.8, we must have
which
implies
can be factored as
. In a
systolic VLSI implementation, it is desirable to have at least one real
delay from the input to the output of every allpass filter, in order
to be able to pipeline the computation of all of the allpass filters in
parallel. Computability can be arranged in practice by deciding on a
minimum delay, (e.g., corresponding to the wave velocity at a maximum
frequency), and using an allpass filter to provide excess delay beyond the
minimum.
Because allpass filters are linear and time invariant, they commute
like gain factors with other linear, time-invariant components.
Fig.C.9 shows a diagram equivalent to
Fig.C.8 in which the allpass filters have been
commuted and consolidated at two points. For computability in all
possible contexts (e.g., when looped on itself), a single sample of
delay is pulled out along each rail. The remaining transfer function,
in the example of
Fig.C.9, can be approximated using any allpass filter
design technique
[1,2,267,272,551].
Alternatively, both gain and dispersion for a stretch of waveguide can
be provided by a single filter which can be designed using any
general-purpose filter design method which is sensitive to
frequency-response phase as well as magnitude; examples include
equation error methods (such as used in the matlab invfreqz
function (§8.6.4), and Hankel norm methods
[177,428,36].
![]() |
In the case of a lossless, stiff string, if denotes the
consolidated allpass transfer function, it can be argued that the filter
design technique used should minimize the phase-delay error, where
phase delay is defined by [362]
![$\displaystyle P_c(\omega) \isdefs
- \frac{\angle H_c\left(e^{j\omega T}\right)}{\omega}.$](http://www.dsprelated.com/josimages_new/pasp/img3415.png)
![$\displaystyle \vert\vert\,P_c(\omega)-c_0/c(\omega)\,\vert\vert _\infty
$](http://www.dsprelated.com/josimages_new/pasp/img3416.png)
Alternatively, a lumped allpass filter can be designed by minimizing group delay,
![$\displaystyle D_c(\omega) \isdefs
- \frac{ d\angle H_c\left(e^{j\omega T}\right)}{d\omega}.$](http://www.dsprelated.com/josimages_new/pasp/img3417.png)
![$ \omega $](http://www.dsprelated.com/josimages_new/pasp/img15.png)
![$ \omega $](http://www.dsprelated.com/josimages_new/pasp/img15.png)
![$ \omega $](http://www.dsprelated.com/josimages_new/pasp/img15.png)
See §9.4.1 for designing allpass filters with a prescribed delay versus frequency. To model stiff strings, the allpass filter must supply a phase delay which decreases as frequency increases. A good approximation may require a fairly high-order filter, adding significantly to the cost of simulation. (For low-pitched piano strings, order 8 allpass filters work well perceptually [1].) To a large extent, the allpass order required for a given error tolerance increases as the number of lumped frequency-dependent delays is increased. Therefore, increased dispersion consolidation is accompanied by larger required allpass filters, unlike the case of resistive losses.
The function piano_dispersion_filter in the Faust distribution (in effect.lib) designs and implements an allpass filter modeling the dispersion due to stiffness in a piano string [154,170,368].
Higher Order Terms
The complete, linear, time-invariant generalization of the lossy, stiff string is described by the differential equation
which, on setting
![$ y(t,x) = e^{st+vx}$](http://www.dsprelated.com/josimages_new/pasp/img3325.png)
![]() |
(C.34) |
Solving for
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ G(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3346.png)
![$ c(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3420.png)
![$ s=0$](http://www.dsprelated.com/josimages_new/pasp/img152.png)
![$ v=0$](http://www.dsprelated.com/josimages_new/pasp/img3421.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ j{{\Delta}}\omega $](http://www.dsprelated.com/josimages_new/pasp/img3422.png)
![$ \alpha_0+\alpha_1j{{\Delta}}\omega $](http://www.dsprelated.com/josimages_new/pasp/img3423.png)
![$ s/v(s)$](http://www.dsprelated.com/josimages_new/pasp/img3424.png)
![$ \beta_0+\beta_1 \Delta v$](http://www.dsprelated.com/josimages_new/pasp/img3425.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
![$ v(s)$](http://www.dsprelated.com/josimages_new/pasp/img3426.png)
![$ {v_r}(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3427.png)
![$ v(j\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3428.png)
![$ {v_i}(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3429.png)
![$ \exp{\left\{j\omega t\pm
v(j\omega)x\right\}}=\exp{\left\{\pm{v_r}(\omega)x\right\}}\cdot\exp{\left\{j\omega\left(t
\pm {v_i}(\omega)x/\omega\right)\right\}}$](http://www.dsprelated.com/josimages_new/pasp/img3430.png)
![$ c(\omega)\isdeftext \omega/{v_i}(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3431.png)
![$ x\to x_m\isdeftext mX$](http://www.dsprelated.com/josimages_new/pasp/img3432.png)
![$ t\to t_n\isdeftext
nT(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3433.png)
![$ X\isdeftext c(\omega)T(\omega)$](http://www.dsprelated.com/josimages_new/pasp/img3434.png)
![]() |
![]() |
![]() |
(C.35) |
![]() |
![]() |
where
![$ G(\omega)\isdef e^{\pm{v_r}(\omega)X}$](http://www.dsprelated.com/josimages_new/pasp/img3438.png)
![$ v$](http://www.dsprelated.com/josimages_new/pasp/img345.png)
![$ s$](http://www.dsprelated.com/josimages_new/pasp/img144.png)
We see that a large class of wave equations with constant coefficients, of any order, admits a decaying, dispersive, traveling-wave type solution. Even-order time derivatives give rise to frequency-dependent dispersion and odd-order time derivatives correspond to frequency-dependent losses. The corresponding digital simulation of an arbitrarily long (undriven and unobserved) section of medium can be simplified via commutativity to at most two pure delays and at most two linear, time-invariant filters.
Every linear, time-invariant filter can be expressed as a zero-phase filter in series with an allpass filter. The zero-phase part can be interpreted as implementing a frequency-dependent gain (damping in a digital waveguide), and the allpass part can be seen as frequency-dependent delay (dispersion in a digital waveguide).
Next Section:
Alternative Wave Variables
Previous Section:
A Lossy 1D Wave Equation