Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Properties of the Modal Representation

The vector $ {\tilde B}$ in a modal representation (Eq.(G.21)) specifies how the modes are driven by the input. That is, the $ i$ th mode receives the input signal $ u(n)$ weighted by $ {\tilde b}_i$ . In a computational model of a drum, for example, $ {\tilde B}$ may be changed corresponding to different striking locations on the drumhead.

The vector $ {\tilde C}$ in a modal representation (Eq.(G.21)) specifies how the modes are to be mixed into the output. In other words, $ {\tilde C}$ specifies how the output signal is to be created as a linear combination of the mode states:

$\displaystyle y(n) = {\tilde C}\underline{{\tilde x}}(n) = {\tilde c}_1 {\tilde x}_1(n) + {\tilde c}_2 {\tilde x}_2(n) + \cdots + {\tilde c}_N {\tilde x}_N(n)
$

In a computational model of an electric guitar string, for example, $ {\tilde C}$ changes whenever a different pick-up is switched in or out (or is moved [99]).

The modal representation is not unique since $ {\tilde B}$ and $ {\tilde C}$ may be scaled in compensating ways to produce the same transfer function. (The diagonal elements of $ \tilde{A}$ may also be permuted along with $ {\tilde B}$ and $ {\tilde C}$ .) Each element of the state vector $ \underline{{\tilde x}}(n)$ holds the state of a single first-order mode of the system.

For oscillatory systems, the diagonalized state transition matrix must contain complex elements. In particular, if mode $ i$ is both oscillatory and undamped (lossless), then an excited state-variable $ {\tilde x}_i(n)$ will oscillate sinusoidally, after the input becomes zero, at some frequency $ \omega_i$ , where

$\displaystyle \lambda _i = e^{j\omega_iT}
$

relates the system eigenvalue $ \lambda_i $ to the oscillation frequency $ \omega_i$ , with $ T$ denoting the sampling interval in seconds. More generally, in the damped case, we have

$\displaystyle \lambda _i = R_i e^{j\omega_iT}
$

where $ R_i$ is the pole (eigenvalue) radius. For stability, we must have

$\displaystyle \left\vert R_i\right\vert<1.
$

In practice, we often prefer to combine complex-conjugate pole-pairs to form a real, ``block-diagonal'' system; in this case, the transition matrix $ \tilde{A}$ is block-diagonal with two-by-two real matrices along its diagonal of the form

$\displaystyle \mathbf{A}_i = \left[\begin{array}{cc} 2R_iC_i & -R_i^2 \\ [2pt] 1 & 0 \end{array}\right]
$

where $ R_i=\left\vert\lambda_i\right\vert$ is the pole radius, and $ 2R_iC_i \isdef
2R_i\cos(\omega_i T) = \lambda_i + \overline{\lambda_i} =
2$re$ \left\{\lambda_i\right\}$ . Note that, for real systems, a real second order block requires only two multiplies (one in the lossless case) per time update, while a complex second-order system requires two complex multiplies. The function cdf2rdf() in the Matlab Control Toolbox can be used to convert complex diagonal form to real block-diagonal form.


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite this work]  [Order a printed hardcopy]  [Comment on this page via email]

``Introduction to Digital Filters with Audio Applications'', by Julius O. Smith III, (September 2007 Edition)
Copyright © 2024-09-03 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA