Digital transfer functions/en
<languages/>
|
| |
| Series | Geophysical References Series |
|---|---|
| Title | Digital Imaging and Deconvolution: The ABCs of Seismic Exploration and Processing |
| Author | Enders A. Robinson and Sven Treitel |
| Chapter | 15 |
| DOI | http://dx.doi.org/10.1190/1.9781560801610 |
| ISBN | 9781560801481 |
| Store | SEG Online Store |
In one key place, the conventions used in signal processing by geophysicists differ from those used by electrical engineers. At the outset, it is good to point out the differences so as to make the literature more accessible. Geophysicists and electrical engineers have different conventions with respect to the z-transform. Let Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_0 , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_{1} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_{2} , ... be the impulse response of a causal time-invariant linear filter. The engineering z-transform is
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} {H}_{{\rm engineenng}} \left(z\right)=h_0+h_{1}z^{-1}+h_{2}z^{-2}+\ldots , \end{align} ()
whereas the geophysics Z-transform is
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)=h_0+h_{1}Z+h_{1}Z^{2}+\ldots . \end{align} ()
To distinguish between the two, we use a capital Z in the geophysics Z-transform and a lowercase z in the engineering z-transform. Throughout this book, we use mostly the geophysics Z-transform. The two transforms are related thusly: Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): Z=z^{-1} . Whereas the engineering z represents a unit advance operator, the geophysics Z represents a unit-delay operator. The common mathematical terminology for the geophysics Z-transform is generating function.
The transfer function (or system function) of a digital system is defined as the Z-transform of the impulse response. If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_k is the impulse response, the transfer function is
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)=\sum^{\infty }_{k=-\infty }{h_k}Z^k. \end{align} ()

The Z-transform establishes a correspondence between the signal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_k and the transfer function H(Z). This expression for H(Z) is in the form of a Laurent series (i.e., a power series that can involve negative as well as positive powers of Z). As we know from the theory of functions, the region of convergence of the Laurent series is an annular region (i.e., a ring-shaped region) Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): r_{1}<|Z|<r_{2} , whose inner radius Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): r_{1} and outer radius Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): r_{2} depend on the behavior of the signal as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): k \to - \infty and as Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): k \to \infty , respectively. Within this ring, the Laurent series has no poles or other singularities (Figure 4). The Z-transform given above is called a two-sided Z-transform because it involves a signal with both negative and positive values of the time index k.
Causal signals are zero for negative values of k, and for such signals, we can use the one-sided Z-transform
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} F\left(Z\right)=\sum^{\infty }_{k=0}{f_k}Z^k=Z\left(f_k\right) . \end{align} ()
In this case, the radius of the inner ring is zero, so the region of convergence is the interior Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\rm |Z|<}r of a circle. The one-sided Z-transform is in the form of a series that involves only nonnegative powers of Z. The symbol Z denotes the parameter in the Z-transform, whereas the symbol Z denotes the one-sided Z-transform itself.
The digital ARMA(p, q) model
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} y_k+{\alpha }_{1}y_{k-1}+\ldots +{\alpha }_py_{k-p}={\beta }_0u_k\\ +{\beta }_{1}u_{k-1}+\ldots +{\beta }_qu_{k-q} \end{align} ()
represents a recursion relationship between the input signal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): u_k and the output signal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): y_k . If the input signal is causal, then the output signal also must be causal. The recursion relations are
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{array}{l} y_o \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _0 u_0 \; \\ y_1 + \alpha _1 y_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _0 u_1 + \beta _1 u_0 \\ y_2 + \alpha _1 y_1 + \alpha _2 y_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _0 u_1 + \beta _1 u_0 \\ ... \\ y_k + \alpha _1 y_{k - 1} + \alpha _2 y_{k - 2} + ... + \alpha _p y_{k - p} \;\;\;\;\;\;\;\; = \beta _0 u_k + \beta _1 u_{k - 1} + ... + \beta _q u_{k - q} . \\ ... \\ \end{array} ()
Given the input signal, the first equation determines Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): y_0 . The next equation can be used to find Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): y_{1} . The third equation then can be solved for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): y_{2} . By continuing in this way, equation by equation, we can find all values of the output signal. We recall that the impulse response Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_k is the output resulting from a spike input. Thus we let the input be the Kronecker delta signal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\delta }_k . The recursion relations (in the case in which p > q) are
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{array}{l} h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _0 \\ h_1 + \alpha _1 h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _1 \\ h_2 + \alpha _1 h_1 \alpha _2 h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _2 \\ ... \\ h_q + \alpha _1 h_{q - 1} + ... + \alpha _q h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _q \\ h_{q + 1} + \alpha _1 h_q + ... + \alpha _q h_1 + \alpha _{q + 1} h_0 \;\;\;\;\;\;\;\; = 0\;\;\;\;\;\;\;\;\;\; \\ ... \\ h_p + \alpha _1 h_{p - 1} + ... + \alpha _p h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = 0 \\ ... \\ h_k + \alpha _1 h_{k - 1} + ... + \alpha _p h_{k - p} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = 0\;\;\;{\rm for}\;\;k > p. \\ \end{array} ()
Solving equation by equation, we can obtain the impulse response Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_k .
Alternatively, let us multiply the first equation by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): Z^{{\rm 0}} , the second by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): Z^{1} , the third by Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {{\rm Z}}^{2} , and so on. We obtain
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{array}{l} h_0 Z^0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _0 Z^0 \\ h_1 Z^1 + \alpha _0 h_0 Z^1 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _1 N^1 \\ h_2 Z^2 + \alpha _1 h_1 Z^2 + \alpha _2 h_0 Z^2 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _2 Z^2 \\ ... \\ h_q Z^q + \alpha _1 h_{q - 1} Z^q + ... + \alpha _q h_0 Z^q \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = \beta _q Z^q \\ h_{q + 1} Z^{q + 1} + \alpha _1 h_q Z^{q + 1} + ... + \alpha _q h_1 Z^{q + 1} + \alpha _{q + 1} h_0 Z^{q + 1} \;\;\;\;\; = 0 \\ ... \\ h_p Z^p + \alpha _1 h_{p - 1} Z^p + ... + \alpha _p h_0 \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = 0 \\ ... \\ h_k Z^k + \alpha _1 h_{k - 1} Z^k + ... + \alpha _p h_{k - p} Z^k \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; = 0\;\;\;{\rm for}\;k > p. \\ \end{array} ()
We now add these equations, column by column, to obtain
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)+{\alpha }_{1}ZH\left(Z\right)+{\alpha }_{2}Z^{2}H\left(Z\right)+\ldots +{\alpha }_pZ^pH\left(Z\right)=B\left(Z\right) , \end{align} ()
where
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)=\sum^{\infty }_{k=0}{h_k}Z^k,\;\;\;\;\;\;\;\; B\left(Z\right)=\sum^q_{k=0}{{\beta }_k}Z^k. \end{align} ()
We recognize H(Z) and B(Z) as the Z-transforms of the impulse response Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): h_k and the feedforward coefficients Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\beta }_k , respectively. If we factor out H(Z), we have
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} \left(1+{\alpha }_{1}Z+{\alpha }_{2}Z^{2}+\ldots +{\alpha }_pZ^p\right)H\left(Z\right)=B\left(Z\right) . \end{align} ()
We recognize the expression in parentheses as the Z-transform A(Z) of the feedback coefficients Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\alpha }_k ; that is,
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} 1+{\alpha }_{1}Z+{\alpha }_{2}Z^{2}+\ldots +{\alpha }_pZ^p=A\left(Z\right) . \end{align} ()
Thus, we have
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)=\frac{B\left(Z\right)}{A\left(Z\right)}=\frac{{\beta }_0+{\beta }_{1}Z+{\beta }_{2}Z^{2}+\ldots+{\beta }_qZ^q}{1+{\alpha }_{1}Z+{\alpha }_{2}Z^{2}+\ldots+{\alpha }_pZ^P}. \end{align} ()
The function H(Z), which is the Z-transform of the impulse response, is the transfer function. The Z-transforms A(Z) and B(Z) are polynomials. We can write H(Z) in factored form as
Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): \begin{align} H\left(Z\right)=\frac{{\beta }_0\left(1-b_{1}Z\right)\left(1-b_{2}Z\right).\ldots \left(1-b_qZ\right)}{\left(1-a_{1}Z\right)\left(1-a_{2}Z\right)\ldots \left(1-a_pZ\right)}. \end{align} ()
The constants Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a_{{1}^{-1}} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a_{{2}^{-1}} , ..., Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a_{{{\rm p}}^{-1}} are the poles, and the constants Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): b_{{1}^{-1}} , Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): b_{{2}^{-1}} , ..., Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): b_{{{\rm q}}^{-1}} are the zeros of H(Z). In the case in which the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\alpha }_k and $ {\beta }_{k} $ coefficients are real, all of the complex Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): a^{-1}_i and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): b^{-1}_i values occur in complex-conjugate pairs. Because an AR(p) system has only poles, it also is called an all-pole system. Likewise, an MA(q) system is called an all-zero system.
Continue reading
| Previous section | Next section |
|---|---|
| Analog linear time-invariant systems | Analog transfer functions |
| Previous chapter | Next chapter |
| Absorption | none |
Also in this chapter
- Introduction
- Digital linear time-invariant systems
- Analog linear time-invariant systems
- Analog transfer functions
- Causality and stability of digital systems
- Causality and stability of analog systems
- Frequency response of a digital system
- Digital prediction
- Digital prediction error
- Analog prediction error