Impulse invariance
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, {\displaystyle h_{c}(t)}, is sampled with sampling period {\displaystyle T} to produce the discrete-time system's impulse response, {\displaystyle h[n]}.
- {\displaystyle h[n]=Th_{c}(nT),円}
Thus, the frequency responses of the two systems are related by
- {\displaystyle 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)},円}
If the continuous time filter is approximately band-limited (i.e. {\displaystyle H_{c}(j\Omega )<\delta } when {\displaystyle |\Omega |\geq \pi /T}), 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):
- {\displaystyle H(e^{j\omega })=H_{c}(j\omega /T),円} for {\displaystyle |\omega |\leq \pi ,円}
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 {\displaystyle s=s_{k}}, the system function can be written in partial fraction expansion as
- {\displaystyle H_{c}(s)=\sum _{k=1}^{N}{\frac {A_{k}}{s-s_{k}}},円}
Thus, using the inverse Laplace transform, the impulse response is
- {\displaystyle h_{c}(t)={\begin{cases}\sum _{k=1}^{N}{A_{k}e^{s_{k}t}},&t\geq 0\0,円&{\mbox{otherwise}}\end{cases}}}
The corresponding discrete-time system's impulse response is then defined as the following
- {\displaystyle h[n]=Th_{c}(nT),円}
- {\displaystyle h[n]=T\sum _{k=1}^{N}{A_{k}e^{s_{k}nT}u[n]},円}
Performing a z-transform on the discrete-time impulse response produces the following discrete-time system function
- {\displaystyle H(z)=T\sum _{k=1}^{N}{\frac {A_{k}}{1-e^{s_{k}T}z^{-1}}},円}
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 {\displaystyle t=0}, the expressions above are not consistent.[1] This is because {\displaystyle h_{c}(0)} has different right and left limits, and should really only contribute their average, half its right value {\displaystyle h_{c}(0_{+})}, to {\displaystyle h[0]}.
Making this correction gives
- {\displaystyle h[n]=T\left(h_{c}(nT)-{\frac {1}{2}}h_{c}(0_{+})\delta [n]\right),円}
- {\displaystyle h[n]=T\sum _{k=1}^{N}{A_{k}e^{s_{k}nT}}\left(u[n]-{\frac {1}{2}}\delta [n]\right),円}
Performing a z-transform on the discrete-time impulse response produces the following discrete-time system function
- {\displaystyle H(z)=T\sum _{k=1}^{N}{{\frac {A_{k}}{1-e^{s_{k}T}z^{-1}}}-{\frac {T}{2}}\sum _{k=1}^{N}A_{k}}.}
The second sum is zero for filters without a discontinuity, which is why ignoring it is often safe.
See also
[edit ]References
[edit ]- ^ 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
External links
[edit ]- Impulse Invariant Transform at CircuitDesign.info Brief explanation, an example, and application to Continuous Time Sigma Delta ADC's.