Digital transfer functions/en

From SEG Wiki
Jump to navigation Jump to search
ADVERTISEMENT

<languages/>

Digital Imaging and Deconvolution: The ABCs of Seismic Exploration and Processing
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} (24)

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} (25)

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} (26)
Figure 4.  Annular region of convergence of a Laurent series.

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} (27)

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} (28)

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} (29)

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} (30)

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} (31)

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} (32)

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} (33)

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} (34)

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} (35)

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} (36)

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} (37)

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

Table of Contents (book)


Also in this chapter


External links

find literature about
Digital transfer functions/en