Jump to content

Impulse invariance: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Citation bot (talk | contribs)
Added bibcode. | Use this bot. Report bugs. | Suggested by Abductive | Category:Digital signal processing | #UCB_Category 137/203
 
(11 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{More footnotes|date=April 2009}}
{{More footnotes|date=April 2009}}


'''Impulse invariance''' is a technique for designing discrete-time [[infinite-impulse-response]] (IIR) filters from continuous-time filters in which the impulse response of the continuous-time system is sampled to produce the impulse response of the discrete-time system. The frequency response of the discrete-time system will be a sum of shifted copies of the frequency response of the continuous-time system; if the continuous-time system is approximately band-limited to a frequency less than the [[Nyquist frequency]] of the sampling, then the frequency response of the discrete-time system will be approximately equal to it for frequencies below the Nyquist frequency.
'''Impulse invariance''' is a technique for designing discrete-time [[infinite-impulse-response]] (IIR) filters from continuous-time filters in which the impulse response of the continuous-time system is sampled to produce the impulse response of the discrete-time system. The frequency response of the discrete-time system will be a sum of shifted copies of the frequency response of the continuous-time system; if the continuous-time system is approximately band-limited to a frequency less than the [[Nyquist frequency]] of the sampling, then the frequency response of the discrete-time system will be approximately equal to it for frequencies below the Nyquist frequency.


==Discussion==
==Discussion==

The continuous-time system's impulse response, <math>h_c(t)</math>, is sampled with sampling period <math>T</math> to produce the discrete-time system's impulse response, <math>h[n]</math>.
The continuous-time system's impulse response, <math>h_c(t)</math>, is sampled with sampling period <math>T</math> to produce the discrete-time system's impulse response, <math>h[n]</math>.


Line 11: Line 10:
Thus, the frequency responses of the two systems are related by
Thus, the frequency responses of the two systems are related by


:<math>H(e^{j\omega}) = \frac{1}{T} \sum_{k=-\infty}^\infty{H_c\left(j\frac{\omega}{T} + j\frac{2{\pi}}{T}k\right)}\,</math>
:<math>H(e^{j\omega}) = \frac{1}{T} \sum_{k=-\infty}^\infty{ TH_c\left(j\frac{\omega}{T} + j\frac{2{\pi}}{T}k\right)}\,</math>


If the continuous time filter is approximately band-limited (i.e. <math>H_c(j\Omega) < \delta</math> when <math>|\Omega| \ge \pi/T</math>), then the frequency response of the discrete-time system will be approximately the continuous-time system's frequency response for frequencies below π radians per sample (below the Nyquist frequency 1/(2''T'') Hz):
If the continuous time filter is approximately band-limited (i.e. <math>H_c(j\Omega) < \delta</math> when <math>|\Omega| \ge \pi/T</math>), then the frequency response of the discrete-time system will be approximately the continuous-time system's frequency response for frequencies below π radians per sample (below the Nyquist frequency 1/(2''T'') Hz):
Line 19: Line 18:
===Comparison to the bilinear transform===
===Comparison to the bilinear transform===


Note that aliasing will occur, including aliasing below the Nyquist frequency to the extent that the continuous-time filter's response is nonzero above that frequency. The [[bilinear transform]] is an alternative to impulse invariance that uses a different mapping that maps the continuous-time system's frequency response, out to infinite frequency, into the range of frequencies up to the Nyquist frequency in the discrete-time case, as opposed to mapping frequencies linearly with circular overlap as impulse invariance does.
Note that aliasing will occur, including aliasing below the Nyquist frequency to the extent that the continuous-time filter's response is nonzero above that frequency. The [[bilinear transform]] is an alternative to impulse invariance that uses a different mapping that maps the continuous-time system's frequency response, out to infinite frequency, into the range of frequencies up to the Nyquist frequency in the discrete-time case, as opposed to mapping frequencies linearly with circular overlap as impulse invariance does.


===Effect on poles in system function===
===Effect on poles in system function===

If the continuous poles at <math>s = s_k</math>, the system function can be written in partial fraction expansion as
If the continuous poles at <math>s = s_k</math>, the system function can be written in partial fraction expansion as


Line 44: Line 42:
:<math>H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}}}\,</math>
:<math>H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}}}\,</math>


Thus the poles from the continuous-time system function are translated to poles at z = e<sup>s<sub>k</sub>T</sup>. The zeros, if any, are not so simply mapped.{{clarify|date=February 2013}}
Thus the poles from the continuous-time system function are translated to poles at z = e<sup>s<sub>k</sub>T</sup>. The zeros, if any, are not so simply mapped.{{clarify|date=February 2013}}


===Poles and zeros===
===Poles and zeros===
If the system function has zeros as well as poles, they can be mapped the same way, but the result is no longer an impulse invariance result: the discrete-time impulse response is not equal simply to samples of the continuous-time impulse response. This method is known as the [[matched Z-transform method]], or pole–zero mapping.

If the system function has zeros as well as poles, they can be mapped the same way, but the result is no longer an impulse invariance result: the discrete-time impulse response is not equal simply to samples of the continuous-time impulse response. This method is known as the [[matched Z-transform method]], or pole–zero mapping. In the case of all-pole filters, the methods are equivalent.


===Stability and causality===
===Stability and causality===

Since poles in the continuous-time system at ''s'' = ''s<sub>k</sub>'' transform to poles in the discrete-time system at z = exp(''s<sub>k</sub>T''), poles in the left half of the ''s''-plane map to inside the unit circle in the ''z''-plane; so if the continuous-time filter is causal and stable, then the discrete-time filter will be causal and stable as well.
Since poles in the continuous-time system at ''s'' = ''s<sub>k</sub>'' transform to poles in the discrete-time system at z = exp(''s<sub>k</sub>T''), poles in the left half of the ''s''-plane map to inside the unit circle in the ''z''-plane; so if the continuous-time filter is causal and stable, then the discrete-time filter will be causal and stable as well.


===Corrected formula===
===Corrected formula===
When a causal continuous-time impulse response has a discontinuity at <math>t=0</math>, the expressions above are not consistent.<ref>{{Cite journal|title = A correction to impulse invariance|journal = IEEE Signal Processing Letters|date = 2000-10-01|issn = 1070-9908|pages = 273–275|volume = 7|issue = 10|doi = 10.1109/97.870677|first = L.B.|last = Jackson| bibcode=2000ISPL....7..273J }}</ref>

This is because <math>h_c (0)</math> has different right and left limits, and should really only contribute their average, half its right value <math>h_c (0_+)</math>, to <math>h[0]</math>.
When a causal continuous-time impulse response has a discontinuity at <math>t=0</math>, the expressions above are not consistent.<ref>{{Cite journal|title = A correction to impulse invariance|url = http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&arnumber=870677&isnumber=18861|journal = IEEE Signal Processing Letters|date = 2000-10-01|issn = 1070-9908|pages = 273-275|volume = 7|issue = 10|doi = 10.1109/97.870677|first = L.B.|last = Jackson}}</ref>
This is because <math>h_c (0)</math> should really only contribute half its value to <math>h[0]</math>.


Making this correction gives
Making this correction gives


:<math>h[n] = T \left( h_c(nT) - \frac{1}{2} h_c(0)\delta [n] \right) \,</math>
:<math>h[n] = T \left( h_c(nT) - \frac{1}{2} h_c(0_+)\delta [n] \right) \,</math>


:<math>h[n] = T \sum_{k=1}^N{A_ke^{s_knT}} \left( u[n] - \frac{1}{2} \delta[n] \right) \,</math>
:<math>h[n] = T \sum_{k=1}^N{A_ke^{s_knT}} \left( u[n] - \frac{1}{2} \delta[n] \right) \,</math>
Line 68: Line 63:


:<math>H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}} - \frac{T}{2} \sum_{k=1}^N A_k}.</math>
:<math>H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}} - \frac{T}{2} \sum_{k=1}^N A_k}.</math>

The second sum is zero for filters without a discontinuity, which is why ignoring it is often safe.


==See also==
==See also==


* [[Infinite impulse response]]
* [[Bilinear transform]]
* [[Bilinear transform]]
* [[Matched Z-transform method]]
* [[Matched Z-transform method]]
* Continuous-time filters:
*:[[Chebyshev filter]]
*:[[Butterworth filter]]
*:[[Elliptic filter]]


==References==
==References==
Line 88: Line 80:
* Oppenheim, Alan V. and Schafer, Ronald W. with Buck, John R. ''Discrete-Time Signal Processing.'' Second Edition. Upper Saddle River, New Jersey: Prentice-Hall, 1999.
* Oppenheim, Alan V. and Schafer, Ronald W. with Buck, John R. ''Discrete-Time Signal Processing.'' Second Edition. Upper Saddle River, New Jersey: Prentice-Hall, 1999.
* Sahai, Anant. Course Lecture. Electrical Engineering 123: Digital Signal Processing. University of California, Berkeley. 5 April 2007.
* Sahai, Anant. Course Lecture. Electrical Engineering 123: Digital Signal Processing. University of California, Berkeley. 5 April 2007.
* Eitelberg, Ed. "Convolution Invariance and Corrected Impulse Invariance." Signal Processing, Vol. 86, Issue 5, pp. 1116–1120. 2006
* Eitelberg, Ed. "Convolution Invariance and Corrected Impulse Invariance." Signal Processing, Vol. 86, Issue 5, pp.&nbsp;1116–1120. 2006


==External links==
==External links==
Line 97: Line 89:


{{DSP}}
{{DSP}}
{{Authority control}}
{{Use dmy dates|date=September 2010}}

{{Use dmy dates|date=April 2020}}


{{DEFAULTSORT:Impulse Invariance}}
{{DEFAULTSORT:Impulse Invariance}}

Latest revision as of 06:07, 12 July 2024

Impulse invariance is a technique for designing discrete-time infinite-impulse-response (IIR) filters from continuous-time filters in which the impulse response of the continuous-time system is sampled to produce the impulse response of the discrete-time system. The frequency response of the discrete-time system will be a sum of shifted copies of the frequency response of the continuous-time system; if the continuous-time system is approximately band-limited to a frequency less than the Nyquist frequency of the sampling, then the frequency response of the discrete-time system will be approximately equal to it for frequencies below the Nyquist frequency.

Discussion

[edit]

The continuous-time system's impulse response, , is sampled with sampling period to produce the discrete-time system's impulse response, .

Thus, the frequency responses of the two systems are related by

If the continuous time filter is approximately band-limited (i.e. when ), then the frequency response of the discrete-time system will be approximately the continuous-time system's frequency response for frequencies below π radians per sample (below the Nyquist frequency 1/(2T) Hz):

for

Comparison to the bilinear transform

[edit]

Note that aliasing will occur, including aliasing below the Nyquist frequency to the extent that the continuous-time filter's response is nonzero above that frequency. The bilinear transform is an alternative to impulse invariance that uses a different mapping that maps the continuous-time system's frequency response, out to infinite frequency, into the range of frequencies up to the Nyquist frequency in the discrete-time case, as opposed to mapping frequencies linearly with circular overlap as impulse invariance does.

Effect on poles in system function

[edit]

If the continuous poles at , the system function can be written in partial fraction expansion as

Thus, using the inverse Laplace transform, the impulse response is

The corresponding discrete-time system's impulse response is then defined as the following

Performing a z-transform on the discrete-time impulse response produces the following discrete-time system function

Thus the poles from the continuous-time system function are translated to poles at z = eskT. The zeros, if any, are not so simply mapped.[clarification needed]

Poles and zeros

[edit]

If the system function has zeros as well as poles, they can be mapped the same way, but the result is no longer an impulse invariance result: the discrete-time impulse response is not equal simply to samples of the continuous-time impulse response. This method is known as the matched Z-transform method, or pole–zero mapping.

Stability and causality

[edit]

Since poles in the continuous-time system at s = sk transform to poles in the discrete-time system at z = exp(skT), poles in the left half of the s-plane map to inside the unit circle in the z-plane; so if the continuous-time filter is causal and stable, then the discrete-time filter will be causal and stable as well.

Corrected formula

[edit]

When a causal continuous-time impulse response has a discontinuity at , the expressions above are not consistent.[1] This is because has different right and left limits, and should really only contribute their average, half its right value , to .

Making this correction gives

Performing a z-transform on the discrete-time impulse response produces the following discrete-time system function

The second sum is zero for filters without a discontinuity, which is why ignoring it is often safe.

See also

[edit]

References

[edit]
  1. ^ Jackson, L.B. (1 October 2000). "A correction to impulse invariance". IEEE Signal Processing Letters. 7 (10): 273–275. Bibcode:2000ISPL....7..273J. doi:10.1109/97.870677. ISSN 1070-9908.

Other sources

[edit]
  • Oppenheim, Alan V. and Schafer, Ronald W. with Buck, John R. Discrete-Time Signal Processing. Second Edition. Upper Saddle River, New Jersey: Prentice-Hall, 1999.
  • Sahai, Anant. Course Lecture. Electrical Engineering 123: Digital Signal Processing. University of California, Berkeley. 5 April 2007.
  • Eitelberg, Ed. "Convolution Invariance and Corrected Impulse Invariance." Signal Processing, Vol. 86, Issue 5, pp. 1116–1120. 2006
[edit]