Frequency response of a digital system/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

We recall that impulse response $ h_{k} $ is the system’s response to a unit spike. Thus, the impulse response represents a transient that dies out over time for a stable system. On the other hand, the frequency response can be interpreted as a steady-state response of the system to signals, each with a pure frequency. Let the real variable $ \omega $ denote frequency (in radians per second), and let $ \Delta t $ be the discrete time spacing (in seconds). The function $ e^{i\omega \Delta tn} $ is a steady-state sinusoidal wave of pure frequency $ \omega $ If we let this steady-state signal be the input to a unit-delay system Z, the steady-state output is the delayed signal $ e^{i\omega \Delta t\left(n-1\right)} $. The frequency response is the ratio of the steady-state output to the steady-state input $ e^{-i\omega \Delta t} $; that is,


$ {\begin{aligned}{\frac {e^{i\omega \Delta t\left(n-1\right)}}{e^{i\omega \Delta tn}}}=e^{-i\omega \Delta t}.\end{aligned}} $ (67)

Thus, the pure-delay operator Z can be represented as the point $ Z=e^{-i\omega \Delta t} $ on the unit circle. More generally, if we let the steady-state input $ u_{n}=e^{i\omega \Delta tn} $ be the input to the system


$ {\begin{aligned}y_{n}=\sum _{k=-\infty }^{\infty }{h_{k}}u_{n-k},\end{aligned}} $ (68)

the steady-state output is


$ {\begin{aligned}y_{n}=\sum _{k=0}^{\infty }{h_{k}}e^{i\omega \Delta t\left(n-k\right)}{=e^{i\omega \Delta tn}\sum _{k=0}^{\infty }{h_{k}}e^{-i\omega \Delta tk}}.\end{aligned}} $ (69)

The frequency response $ H\left(e^{-{\rm {i}}\omega \Delta t}\right) $ is defined as the ratio of the steady-state output to the steady-state input; that is, the frequency response is


$ {\begin{aligned}H(e^{-i\omega \Delta t})={\frac {\sum \limits _{k=0}^{\infty }{h_{k}e^{i\omega \Delta t(n-k)}}}{e^{i\omega \Delta tn}}}=\sum \limits _{k=0}^{\infty }{h_{k}e^{-i\omega \Delta tk}.}\end{aligned}} $ (70)

The frequency response written thus conforms to the standard electrical engineering convention, with negative signs in the exponents. Therefore, although we use the geophysics Z-transform (i.e., the generating function) instead of the electrical engineering z-transform, we use the same convention regarding frequency that electrical engineers use. The transfer function


$ {\begin{aligned}H\left(Z\right)=\sum _{k=0}^{\infty }{h_{k}}Z^{k}\end{aligned}} $ (71)

of a stable digital system exists in a region that includes the unit circle. If we substitute $ Z=e^{-i\omega \Delta t} $ into the transfer function $ H\left(Z\right) $, we obtain the frequency response $ H\left(e^{-i\omega \Delta t}\right) $. That is, the values of H(Z) on the unit circle make up the frequency response of the system. Instead of the cumbersome notation $ H\left(e^{-i\omega \Delta t}\right) $, the frequency response is written more conveniently as $ H\left(\omega \right) $. Thus, we have


$ {\begin{aligned}H(e^{-i\omega \Delta t})=H(\omega )=\sum \limits _{k=-\infty }^{\infty }{h_{k}e^{-i\omega \Delta tk}=A(\omega )e^{i\theta (\omega )}.}\end{aligned}} $ (72)

The frequency response is in the form of a discrete Fourier transform. The magnitude $ A\left(\omega \right) $ of the frequency response is called the magnitude spectrum, and the angle 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/":): \theta \left(\omega \right) is called the phase spectrum — both of which we first encountered in Chapter 6. The phase-lag spectrum 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/":): \phi \left(\omega \right) is defined as the negative of the phase spectrum; 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/":): \varphi \left(\omega \right)=-\theta \left(\omega \right) . The slope of the phase-lag spectrum is called the group delay; that is, the group delay 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/":): d\phi (\omega )/d\omega . Because


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} e^{ - i\omega \Delta t} = e^{i\left( {\omega + \frac{{2\pi }} {{\Delta t}}} \right)\Delta t} , \end{align} (73)

it follows that the frequency response is periodic in 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/":): \omega , with a period of 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/":): 2\pi/\Delta t . As a result, we have to examine only the frequency response over one period, which usually is taken from the point 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/":): \omega =-\pi/\Delta t to the point 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/":): \omega =\pi/\Delta t . The frequency $ \omega =\pi /\Delta t $ is known as the Nyquist frequency, which we discussed in Chapter 4. For a causal system, the frequency response is the one-sided discrete Fourier 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} H\left(e^{-i\omega \Delta t}\right)=\sum^{\infty }_{k=0}{h_k}e^{-i\omega \Delta tk}. \end{align} (74)

The frequency response of an ARMAFailed 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/":): \left(p, \ q\right) system 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(e^{-i\omega \Delta t}\right)=\frac{{\beta }_0+{\beta }_{1}e^{-i\omega \Delta {\rm t}} +{\beta }_{2}e^{-i\omega \Delta t2}+\ldots +{\beta }_qe^{-i2\omega \Delta tq}}{1+{\alpha }_{1}e^{-i\omega \Delta t}+{\alpha }_{2}e^{-{\rm i\omega}\Delta t2}{\rm +\ldots+}{\alpha }_pe^{-i\omega \Delta tp}}, \end{align} (75)

which in factored form 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(e^{-i\omega \Delta t}\right)=\frac{{\beta }_0\left(1-b_{1}e^{-i\omega \Delta t}\right)\left(1-b_{2}e^{-i\omega \Delta t}\right)\ldots \left(1-b_qe^{-j\omega \Delta t}\right)}{\left(1-a_{1}e^{-i\omega \Delta t}\right)\left(1-a_{2}e^{-i\omega \Delta t}\right)\ldots\left(1-a_pe^{-i\omega \Delta t}\right)}. \end{align} (76)

An all-pass system 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/":): P\left(z\right) is defined as a stable causal system with unit magnitude spectrum; 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} |P\left(e^{-i\omega\Delta t}\right){\rm |=1}\;\;\;\; \rm for\ all\ \omega. \end{align} (77)

All-pass systems can be broken down into four types: trivial, pure-delay, dispersive, and impure-delay systems. The transfer function of a trivial all-pass system is merely a constant of magnitude one. In the case of real systems, this constant must be either +1 or -1, so a (real) trivial all-pass system either produces no phase shift or a 180° phase shift for all frequencies. A pure-delay all-pass system delays a signal by a given positive constant N; that is, it transforms the input 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 into 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-{\rm N}} . As a result, the transfer function of a pure-delay all-pass system 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} P\left(Z\right)=Z^N \mathrm{\;\;\; where\;\; } n>0, \end{align} (78)

so the frequency response is


$ {\begin{aligned}P\left(e^{-i\omega \Delta t}\right)=e^{-i\omega \Delta tN}.\end{aligned}} $ (79)

Thus, a pure-delay all-pass system produces a phase lag of


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} \psi \left(\omega \right)=\Delta tN\omega , \end{align} (80)

which is a linear function of 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/":): \omega . A dispersive all-pass system is an ARMAFailed 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/":): \left(q, \ q\right) system of the form


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{\left(-a^{*}_{1}+Z\right)\left(-a^{*}_{2}+Z\right)\ldots \left(-a^{* }_q+Z\right)}{\left(1-a_{1}Z\right)\left(1-a_{2}Z\right)\ldots \left(1-a_qZ\right)}. \end{align} (81)

In other words, an all-pass system has a special arrangement of poles and zeros: The poles 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 the zeros 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_{i^{*}} are symmetric with respect to the unit circle. If we write 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_i = r_i \;\exp \;( - i\vartheta _i ) , then the pole 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/":): a_i^{ - 1} = r_i^{ - 1} \;\exp \;(i\vartheta _i ) and the zero 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/":): a_i^* = r_i \;\exp \;(i\vartheta _i ) . Both are on the same radial line, with the pole outside the unit circle and the zero inside the unit circle.

Therefore, the frequency spectrum is the product of q factors of the form


$ {\begin{aligned}{\frac {\left(-a_{i}^{*}+e^{-i\omega \Delta t}\right)}{(1-a_{i}e^{-i\omega \Delta t})}}.\end{aligned}} $ (82)

The frequency spectrum 82 has a magnitude of unity because the complex conjugate of the numerator is equal to 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 \ exp\ }\left(i\omega \Delta t\right) times the denominator. Hence, the numerator has the same magnitude as the denominator.

An impure-delay all-pass system never is used in engineering applications, so we will omit its consideration here.

Let us say a word about notation. We use 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/":): P\left(Z\right) 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/":): p_k as the transfer function and the impulse response, respectively, of an all-pass system. This use of p should be kept distinct from the constant p appearing in the designation of an ARMAFailed 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/":): \left(p, \ q\right) system.

The group-delay theorem (Bode, 1945[1]; Robinson, 1963[2], theorem 5, p. 204) deals with group delay of a digital all-pass system. The group delay of a nontrivial digital all-pass system is positive for all frequencies.

We can prove the group-delay theorem as follows: Often it is convenient to change our time scale from a scale in seconds to a scale in which the discrete time-spacing 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 t is one unit. Then we can 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/":): \Delta t=1 so 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=e^{-i\omega } . The Nyquist frequency becomes simply 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/":): \pi , and the Nyquist range becomes 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/":): -\pi \le \omega \le \pi . The pure-delay all-pass system, as we have seen, has phase lag $ \phi \left(\omega \right)=N\omega $ where time delay 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/":): N>0 , so it satisfies the theorem. The dispersive all-pass system is made up of q factors of the form 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/":): \left(-a^{*}+Z\right)/\left(1-aZ\right) . In terms of frequency, this factor becomes


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} \frac{-a^{*}+e^{-i\omega }} {1-ae^{-l\omega }}=\frac{-e^{i\omega }a^{* }{\rm +l}}{e^{i\omega }-a}=-a^{*}\frac{e^{i\omega }-a^{*-1}}{e^{i\omega }-a}. \end{align} (83)

The constant 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^{*} increases the phase lag by an additive constant, so we can neglect it as far as this proof is concerned. The phase lag 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/":): \phi of the factor is the difference of the angles of the numerator and denominator; 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} \phi {\rm =angle}\left(e^{i\omega }-(a^{*}\right)^{-1})-{\rm angle}\left(e^{i\omega }-a\right). \end{align} (84)

In Figure 10, we show the angle 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/":): \phi for various points on the unit circle. We trace out one period of the frequency function if we travel counterclockwise around the unit circle from point A to B, C, D, E, and back to A. Over this journey, we see that the angle 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/":): \phi increases monotonically from 0 to 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/":): 2\pi . Thus, the given factor of a dispersive all-pass system produces an increase in phase lag of $ 2\pi $ over one complete period 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/":): 2\pi of frequency 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/":): \omega Therefore, a dispersive all-pass system of q such factors would have a phase-lag spectrum 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/":): \phi \left(\omega \right) that increases monotonically by an amount 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/":): 2\pi q over one complete period; that is,

Figure 10.  As the unit circle is traversed counterclockwise from A back to A again, the phase-lag increases from 0 to 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/":): 2\pi .


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} \phi \left(\phi \right)-\psi \left(-\phi \right){\rm 2}\pi q. \end{align} (85)

Because the phase-lag spectrum 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/":): \phi \left(\omega \right) of an all-pass system is increasing monotonically, it follows that its derivative 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/":): d\phi \left(\omega \right)ld\omega is positive. This derivative is the group delay. Thus, a nontrivial all-pass system has positive group delay for all frequencies 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/":): \omega .

By definition, an all-pass system is a causal system with the property that the magnitude spectrum of the output signal is the same as the magnitude spectrum of the input signal. The energy-delay theorem (Robinson, 1963, theorem 7, p. 204) establishes that an all-pass system has the property that the time structure of output energy is delayed with respect to the time structure of input energy. In other words, an all-pass system differentially delays the return of energy in passing a signal from input to output. An all-pass system is comparable to a bureaucrat who day by day receives written requests on his desk and who holds them and later passes them on in some other order to a subordinate. Nothing in content has changed, but certain requests are delayed with respect to others. In seismic processing, an all-pass system always gives trouble.

The energy-delay theorem has the formal statement: Let a stable causal signal $ u_{k} $ be the input to a nontrivial digital all-pass system 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/":): P\left(Z\right) , and let the stable causal 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 be the resulting output. The front-end energy of the input is greater than or equal to the front-end energy of the output for all time indices n; 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} \sum^n_{k=0}{u^{2}_k}\ge \sum^n_{k=0}{y^{2}_k}. \end{align} (86)

The strict inequality (i.e., greater than) holds for some 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/":): n\ge 0 . 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/":): n=\infty , the equality holds (i.e., the energy of the input is equal to the energy of the output).

We can prove the energy-delay theorem as follows: Bessel’s equality gives


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} \sum^{\infty }_{k=0}{y^{2}_k}=\frac{\Delta t}{2\pi }\int\limits^{\pi/\Delta t}_{-\pi/\Delta t}{|}P\left(e^{i\omega \Delta t}\right)U\left(e^{i\omega \Delta t}\right){|}^{2}d\omega . \end{align} (87)

Because 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/":): |P\left(e^{i\omega \Delta t}\right){|}^{2}=1 , the above equation becomes


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} \sum^{\infty }_{k=0}{y^{2}_k}=\frac{\Delta t}{2\pi }\int\limits^{\pi/\Delta t}_{-\pi/\Delta t}{|}U\left(e^{i\omega \Delta {\rm t}} \right){|}^{2}d\omega =\sum^{\infty }_{k=0}{u^{2}_k}, \end{align} (88)

which says that output and input have the same total energy. The truncated input 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/":): f_k (for time index n) is defined as


$ {\begin{aligned}f_{k}=u_{k}\mathrm {\;\;\;for\;} k\leq n,\;\;\;f_{k}=0\mathrm {\;\;\;for\;} k>n.\end{aligned}} $ (89)

In other words, the truncated input is the front end of the input signal. 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/":): g_k designate the output of the all-pass system to the truncated input 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/":): f_k . Two statements can be made immediately about the output 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/":): g_k : (1) because the system is all pass, the total energy of the truncated input 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/":): f_k is equal to the total energy of 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/":): g_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} \sum^n_{k=0}{u^{2}_k}=\sum^n_{k=0}{f^{2}_k}=\sum^{\infty }_{k=0}{g^{2}_{k}} ; \end{align} (90)

and (2) because the system is causal, the front-end values of 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 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/":): g_k are the same; 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} g_k=y_k \mathrm{\;\; for\;} k\le n. \end{align} (91)

Putting these two things together, we have


$ {\begin{aligned}\sum _{k=0}^{n}{u_{k}^{2}}=\sum _{k=0}^{\infty }{g_{k}^{2}}=\sum _{k=0}^{n}{y_{k}^{2}}+\sum _{k=n+1}^{\infty }{g_{k}^{2}}.\end{aligned}} $ (92)

Because the all-pass system is nontrivial, it can be shown that


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} \sum^{\infty }_{k=n+1}{g^{2}_k}>0 \end{align} (93)

for some n. Hence, it follows that the front-end energy of 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/":): u_k exceeds the front-end energy of the all-pass filtered 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 . In other words, an all-pass system delays the energy from input to output.

Let us consider a numerical example. The all-pass filter 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/":): P\left(Z\right)=\left(0.5+Z\right)/\left({\rm l\ +0.5}Z\right) , with 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/":): p_k (Table 1, first row below the column headings). The input signal to the all-pass filter is the wavelet 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 (Table 1, second row) with three coefficients. The resulting output signal is the wavelet 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=u_k*p_k (Table 1, third row). For the cutoff n = 0, the front-end 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/":): f_k (i.e., the front end of the input 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 ) is $ f_{0}=u_{0}=-{\rm {0.75,}}{\rm {and}}{\rm {f}}_{\rm {k}}=0 $ for other k (Table 1, fourth row). In other words, the front-end 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/":): f_k has only one nonzero coefficient, and it occurs at time 0. The resulting output of the all-pass system to the front-end signal is 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/":): g_k (Table 1, fifth row). Note that the front ends of both the inputs u and f are the same (namely, –0.75), and the front ends of both the outputs y and g are the same (namely, –0.375).

Table 1. All-pass filter, input signal, resulting output, front end of input, and resulting output.
Time k 0 1 2 3 4
All-pass filter 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/":): p_k 0.500 0.750 -0.375 0.188 -0.094
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 -0.750 2.750 1.000 0 0
Output 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/":): g_k for input signal -0.375 0.813 2.844 -0.422 0.211
Front end 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/":): f_k of input signal –0.750 0 0 0 0
Output 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/":): g_k for front end -0.375 -0.563 0.282 -0.141 0.070
Table 2. Front end of 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/":): g_k , tailgate of 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/":): g_k , front-end energy of $ g_{k} $, and components of tailgate energy of 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/":): g_k .
Time k 0 1 2 3 4
Front end of 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/":): g_k –0.375 0 0 0 0
Tailgate of 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/":): g_k 0 –0.563 0.282 –0.141 0.070
Front-end energy of 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/":): g_k 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/":): {\left(-{ 0.375}\right)}^{2} 0 0 0 0
Tailgate energy of 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/":): g_k 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/":): ( - 0.563)^2 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/":): (0.282)^2 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/":): ( - 0.141)^2 $ (0.070)^{2} $

The output 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/":): g_k is separated into two parts: (1) the front end (Table 2, first row below the column headings) and (2) the tailgate (Table 2, second row extended to infinity). The front-end energy of 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/":): g_k (Table 2, third row) 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/":): g^{2}_0=y^{2}_0=\left(-{ 0.375}\right){ =0.1406} . The tailgate energy of 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/":): g_k is the sum of squares of its elements (Table 2, fourth row extended to infinity), which is 0.4219. Because the filter is an all-pass filter, the sum of front-end energy of 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/":): g_k and the tailgate energy of 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/":): g_k , namely 0.1406 + 0.4219 = 0.5625, is equal to the input front-end energy, namely 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/":): f^{2}_0=u^{2}_0={\left(-{ 0.75}\right)}^{2}{ =0.5625} . Thus, the front-end energy 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^{2}_0{ =0.5625} of the input to the all-pass filter exceeds the front-end energy 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}_0{ =0.l406} of the output. This demonstration is shown graphically in Figure 11.

Figure 11.  Graphic demonstration that the front-end energy of the input to an all-pass system exceeds that of the output.

The concept of minimum phase is attributable to Bode (1945). Let $ a_{i}^{-1} $ be the poles and 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/":): b^{-1}_i be the zeros of a system. A minimum-phase (or minimum-delay) system is a stable causal system that has its zeros as well as its poles lying outside of the unit circle. That is, stability requires that 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_i|<1 , whereas minimum delay requires in addition that 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_i|<1 . The canonical representation theorem (Robinson, 1963, theorem 1, p. 203) can be stated as follows:

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/":): g_k is stable and causal if and only 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/":): \begin{align} g_k=\sum^{\infty }_{n=0}{f_n}p_{k-n}, \end{align} (94)

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/":): f_k is the minimum-delay signal (with the same magnitude spectrum as that 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/":): g_k ) 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/":): p_k is an all-pass signal. In other words, a minimum-delay system is comparable to an executive who day by day receives written requests, acts on them as soon as possible, and immediately passes the results to a bureaucrat (an all-pass system). The bureaucrat holds the results, changes nothing, and then passes them on with various delays.

The inverse of the system 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\left(Z\right) is defined as the system 1/H(Z). Thus, the inverse of the ARMA(p,q) system B(Z)/A(Z) is the ARMA(q,p) system A(Z)/B(Z). The poles and zeros of the original system become, respectively, the zeros and poles of the inverse system. If $ h_{k} $ is the impulse response for H(Z), then we write 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}_k for the impulse response 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/":): H^{-1}\left(Z\right)=1/H\left(Z\right) . However, 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^{ - 1} is not 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/":): 1/h_k , even 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/":): {{\rm sin}}^{-1}\theta is not 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/":): 1/\sin \theta .

Because an AR(p) system is an all-pole system, it follows that a stable causal AR(p) system is necessarily a minimum-delay system. The inverse of a stable AR(p) system is an MA(p) system, in which the poles of the AR(p) system become the zeros of the MA(p) system. Thus we see that the inverse of an AR(p) system is a minimum-delay MA(p) system.

In our first such example, the given system is the stable causal AR(1) system 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/":): F\left(Z\right)={\left(1-aZ\right)}^{-1} , 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/":): |a| < 1 . It has the stable causal 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/":): f_k=a^k for k = 0, 1, 2, …. The inverse system is the minimum-delay MA(1) system $ F^{-1}\left(Z\right)=1-aZ $, with 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/":): f^{-1}_k={\delta }_k-a{\delta }_{k-1} .

In a second example, the given system is the minimum-delay ARMA(2,1) system


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)=\frac{{4}+Z}{\left({2}+Z\right)\left({3}+Z\right)}=\frac{2}{{2}+Z}-\frac{1}{{3}+Z}, \end{align} (95)

so the impulse response is the minimum-delay 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/":): \begin{align} f_k={\left(-\frac{1}{2}\right)}^k-{\left(-\frac{1}{3}\right)}^k \mathrm{\;\;for\;\;} k=0, 1, 2,\ldots . \end{align} (96)

The inverse system is the minimum-delay ARMA(1,2) system


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^{-1}\left(Z\right)=\frac{\left({2}+Z\right)\left({3}+Z\right)}{{4}+Z}=1+Z+\frac{2}{{4}+Z}, \end{align} (97)

so the impulse response of the inverse system is the causal 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/":): \begin{align} f^{-1}_k={\delta }_k+{\delta }_{k-1}+\frac{1}{2}{\left(-\frac{1}{4}\right)}^k \mathrm{\;\;for\;\;} k=0, 1, 2,\ldots . \end{align} (98)

In conclusion, let us state the (digital) minimum-delay theorem (Robinson, 1963, theorem 10, p. 205). Let 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/":): f_k be a stable causal signal in the class of all stable causal signals with the same magnitude spectrum. Then each of the following conditions is necessary and sufficient 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/":): f_k to be minimum delay:

1) The group delay of 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/":): f_k is minimum for all frequencies.

2) The front-end energy $ \sum \limits _{k=0}^{n}{\;f_{k}^{2}} $ is a maximum for all time indices 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/":): n \ge 0 .

3) The inverse system 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/":): f_k^{ - 1} is causal.


References

  1. Bode, H. W., 1945, Network analysis and feedback amplifier design: Van Nostrand.
  2. Robinson, E. A., 1963, Nekotorye svoystva razlozheniya vol’da statsionarnykh sluchaynykh protsessov [Properties of the Wold Decomposition of stationary stochastic processes; in Russian]: Teoriya Veroyatnostei i ee Primememiya Akademiya Nauk SSSR, 7, no. 2, 201–211.

Continue reading

Previous section Next section
Causality and stability of analog systems Digital prediction
Previous chapter Next chapter
Absorption none

Table of Contents (book)


Also in this chapter


External links

find literature about
Frequency response of a digital system/en