Impulse invariance
Impulse invariance is a technique in digital signal processing for designing discrete-time infinite impulse response (IIR) filters from continuous-time analog filters, such that the impulse response of the digital filter matches the sampled impulse response of the analog filter at the sampling instants.[1] This method ensures that the digital filter's time-domain response preserves the essential shape of the analog counterpart, particularly useful for applications requiring accurate transient responses, such as audio processing and control systems.[2] The core principle involves mapping the poles of the analog transfer function H_a(s) to the z-plane via z = e^{sT}, where T is the sampling period, while scaling residues appropriately to maintain the sampled impulse response h = h_a(nT).[3] For an analog filter expressed in partial fractions as H_a(s) = \sum_{k=1}^N \frac{A_k}{s - s_k}, the corresponding digital transfer function becomes H(z) = \sum_{k=1}^N \frac{A_k}{1 - e^{s_k T} z^{-1}}, ensuring stability if the analog filter is stable (i.e., \operatorname{Re}\{s_k\} \leq 0).[1] The design process typically starts with analog filter specifications transformed from digital requirements, followed by partial fraction expansion and pole mapping.[3] While impulse invariance preserves the filter order and time-domain characteristics effectively for bandlimited signals, it suffers from aliasing in the frequency domain, as the digital frequency response is a summed aliased version of the analog response scaled by the sampling rate.[2] This aliasing can distort high-frequency components unless the sampling rate is sufficiently high relative to the analog filter's bandwidth, making it less suitable for wideband signals compared to alternatives like the bilinear transform.[1] Despite these limitations, the method remains a foundational approach in IIR filter design, as detailed in classic texts on digital signal processing.[2]Overview
Definition
Impulse invariance is a technique in digital signal processing for converting continuous-time analog filters to discrete-time infinite impulse response (IIR) filters by ensuring the discrete-time impulse response matches a scaled, uniformly sampled version of the continuous-time impulse response.[1] This method preserves the time-domain behavior of the analog filter at the sampling instants, facilitating the design of digital filters that approximate their analog counterparts.[2] The core relation is defined by the equation h = T \, h_c(nT), \quad n \geq 0, where h is the discrete-time impulse response, h_c(t) is the continuous-time impulse response, and T is the sampling period.[4] The scaling factor T accounts for the sampling rate to align the frequency responses appropriately in the low-frequency range.[5] The technique assumes the analog filter possesses a rational transfer function of the form H_c(s) = \frac{P(s)}{Q(s)} in the Laplace domain, where P(s) and Q(s) are polynomials, ensuring the impulse response can be expressed as a sum of exponentials for practical computation.[1] Impulse invariance emerged as part of early digital filter design methods during the 1960s and 1970s, contributing to the foundational tools for IIR filter synthesis without a single credited inventor. It serves a primary role in IIR filter design by directly linking analog prototypes to digital implementations through impulse response sampling.[5]Purpose and applications
Impulse invariance is a digital filter design technique employed to convert continuous-time analog filters into discrete-time infinite impulse response (IIR) filters, with the primary goal of preserving the shape of the analog filter's impulse response at the sampling instants. This method ensures that the discrete-time impulse response h matches the sampled version of the continuous-time impulse response h(t), specifically h = T \cdot h(nT), where T is the sampling period, thereby approximating the analog system's transient behavior in the digital domain. By focusing on this time-domain equivalence, impulse invariance facilitates the emulation of analog prototypes in digital implementations without requiring complex frequency-domain adjustments.[1][6] The technique finds widespread applications in digital signal processing tasks where analog filter characteristics need to be replicated digitally, such as in audio processing for bandlimited signals, control systems for discrete-time controller design, and communications for signal conditioning. For instance, it is commonly used to transform well-established analog prototypes like Butterworth or Chebyshev low-pass filters into digital IIR equivalents, enabling efficient processing in real-time systems like digital audio effects or sampled-data control loops. In these contexts, impulse invariance is particularly valuable when the analog filter is inherently band-limited, minimizing discrepancies between continuous and discrete responses.[7][8][6] Key advantages of impulse invariance include its simplicity in implementation for low-pass filters, as it directly maps the analog transfer function via partial fraction expansion and z-transform, while maintaining the filter order and stability—provided the analog system is stable, the resulting digital poles lie inside the unit circle. This approach yields a digital filter that closely mimics the analog transient response, which is beneficial for applications requiring similar settling times or impulse shapes, and it offers lower computational demands compared to finite impulse response (FIR) alternatives for equivalent specifications. However, its efficacy is most pronounced in scenarios where aliasing is negligible, positioning it as one of several methods in the broader toolkit for analog-to-digital filter conversion, alongside techniques like the bilinear transform.[1][8]Mathematical Derivation
Impulse response sampling
The impulse invariance method for designing discrete-time filters from continuous-time prototypes fundamentally relies on sampling the impulse response of the analog system. Consider a continuous-time linear time-invariant (LTI) system with transfer function H_c(s), excited by the Dirac delta function \delta(t). The resulting impulse response h_c(t) is the inverse Laplace transform of H_c(s), and for a causal system, h_c(t) = 0 for t < 0. To obtain the discrete-time impulse response h, sample h_c(t) at uniform intervals t = nT, where T is the sampling period and n is an integer. This yields h = T h_c(nT) for n \geq 0, with h = 0 for n < 0, preserving the causality of the original system. The scaling factor T is essential to match the gain of the discrete-time filter to that of the continuous-time prototype, ensuring consistent response amplitudes across the sampling instants without introducing extraneous scaling in the overall system behavior.[9] For practical computation, particularly when H_c(s) is a rational function with simple poles, the partial fraction expansion is employed to express h_c(t) explicitly. Assume H_c(s) = \sum_{k=1}^{N} \frac{K_k}{s - p_k}, where p_k are the poles and K_k are the corresponding residues (determined as K_k = \lim_{s \to p_k} (s - p_k) H_c(s)). The inverse Laplace transform then gives h_c(t) = \sum_{k=1}^{N} K_k e^{p_k t} u(t), where u(t) is the unit step function. Sampling this at t = nT produces h = T \sum_{k=1}^{N} K_k e^{p_k n T} u. This form facilitates direct implementation in discrete-time filter structures.Transfer function equivalence
The discrete-time transfer function H(z) in the impulse invariance method is obtained as the Z-transform of the scaled sampled impulse response, where h = T h_c(nT) for n \geq 0, with T denoting the sampling period and h_c(t) the continuous-time impulse response of H_c(s). This scaling by T ensures that the discrete convolution approximates the continuous-time convolution via a Riemann sum, preserving the system's response characteristics at sampling instants.[9] To derive H(z), assume H_c(s) is a proper rational function with simple poles at s = s_k for k = 1, \dots, N. Perform partial fraction expansion: H_c(s) = \sum_{k=1}^N \frac{A_k}{s - s_k}, where A_k is the residue of H_c(s) at pole s_k, given by A_k = \lim_{s \to s_k} (s - s_k) H_c(s). The inverse Laplace transform yields h_c(t) = \sum_{k=1}^N A_k e^{s_k t} u(t), with u(t) the unit step function. Sampling and scaling gives h = T \sum_{k=1}^N A_k e^{s_k n T}, \quad n \geq 0. The Z-transform is then H(z) = \sum_{n=0}^\infty h z^{-n} = T \sum_{k=1}^N A_k \sum_{n=0}^\infty (e^{s_k T} z^{-1})^n = T \sum_{k=1}^N \frac{A_k}{1 - e^{s_k T} z^{-1}}, for |z| > \max_k |e^{s_k T}|. Equivalently, this can be expressed as H(z) = T \sum_{k=1}^N \left[ \text{residue of } H_c(s) \text{ at } s_k \bigg/ (1 - e^{s_k T} z^{-1}) \right], since the denominator is constant with respect to the residue computation.[9] For a single-pole system H_c(s) = 1/(s - s_k), the residue A_k = 1, so H(z) = \frac{T}{1 - e^{s_k T} z^{-1}}. This form arises directly from the geometric series sum in the Z-transform of h = T e^{s_k n T}.[9] The equivalence between H(z) and the sampled continuous-time system is proven by the inverse Z-transform: applying it to H(z) recovers h = T h_c(nT), which matches the scaled samples of the continuous impulse response, ensuring the discrete system replicates the continuous one's time-domain behavior at t = nT.[1]Frequency Domain Characteristics
Aliasing in frequency response
In the impulse invariance method, the frequency response of the resulting digital filter H(e^{j\omega}) is derived from the continuous-time analog filter's frequency response H_c(j\Omega) through the sampling process, leading to a periodic extension in the frequency domain.[10] Specifically, the digital frequency response is given by H(e^{j\omega}) = \sum_{k=-\infty}^{\infty} H_c \left( j \frac{\omega + 2\pi k}{T} \right), where T is the sampling period and \omega is the normalized digital frequency ranging from -\pi to \pi.[10] This expression represents an infinite sum of shifted copies of the analog frequency response, with each term corresponding to a spectral replica centered at multiples of the sampling frequency $2\pi / T.[1] Aliasing arises when these spectral replicas overlap within the principal frequency range |\omega| \leq \pi, which occurs if the analog filter's response H_c(j\Omega) is not sufficiently band-limited and extends beyond the Nyquist frequency \pi / T.[10] Such overlap distorts the desired frequency response by introducing contributions from higher-frequency components that "fold back" into the baseband, thereby altering the filter's magnitude and phase characteristics compared to the original analog prototype.[1] This aliasing effect is inherent to the sampling of the impulse response and cannot be avoided without modifications to the design process. To eliminate aliasing entirely, the analog filter must be strictly band-limited such that H_c(j\Omega) = 0 for all |\Omega| > \pi / T, ensuring no spectral energy exists outside the Nyquist bandwidth.[10] In practice, this condition is rarely met perfectly, but aliasing can be minimized for low-pass filters when the cutoff frequency is much lower than the Nyquist frequency, as the higher-frequency tails contribute negligibly.[11] However, the impact is more severe for high-pass or band-pass filters, where significant energy resides at higher frequencies near or beyond \pi / T, leading to substantial distortion from overlapping replicas.[11]Relation to continuous-time spectrum
In the impulse invariance method, under the assumption of negligible aliasing, the discrete-time frequency response H(e^{j\omega}) directly corresponds to the continuous-time frequency response H_c(j\Omega) through a linear frequency scaling, where the digital frequency \omega (in radians per sample) maps to the analog frequency \Omega = \omega / T (in radians per second), with T being the sampling period.[12] This mapping arises from the time-domain equivalence where the discrete impulse response is set as h = T h_c(nT), leading to the approximation H(e^{j\omega}) \approx H_c\left(j \frac{\omega}{T}\right) for |\omega| < \pi, preserving the shape of the continuous-time spectrum in the baseband without distortion.[12] The inclusion of the scaling factor T in the impulse response ensures that the magnitudes align appropriately, particularly at DC where \omega = 0, yielding H(e^{j0}) = H_c(j0), or more generally matching the overall gain to avoid attenuation due to sampling density.[12] Without this normalization, the discrete response would be scaled by $1/T, underestimating the continuous-time gain for typical sampling rates where T < 1. This adjustment is crucial for applications requiring faithful reproduction of low-frequency behavior, such as in audio or control systems. To visualize this relation, the magnitude responses can be compared by plotting |H_c(j\Omega)| against \Omega (scaled to the analog Nyquist frequency \pi / T) alongside |H(e^{j\omega})| against \omega over the principal interval [0, \pi]; the curves overlay precisely under the linear mapping, demonstrating how the digital spectrum folds the continuous one without warping in the passband.[12] This direct proportionality contrasts with methods like the bilinear transform, which introduce nonlinear frequency warping (e.g., \Omega = (2/T) \tan(\omega / 2)) to prevent aliasing but distort the spectral shape.System Properties
Pole mapping
In the impulse invariance method, each pole s_k of the continuous-time transfer function is mapped to a corresponding pole z_k = e^{s_k T} in the discrete-time transfer function, where T is the sampling period.[1][13] This transformation derives from the sampling of the analog impulse response, ensuring the digital filter's response matches the sampled continuous counterpart at discrete times.[14] The mapping preserves the stability properties of the analog system, as poles in the open left-half s-plane (\Re(s_k) < 0) are relocated inside the unit circle in the z-plane (|z_k| < 1).[1][15] Specifically, the real part of the analog pole dictates the magnitude of the digital pole through |z_k| = e^{\Re(s_k) T}, which remains less than 1 for stable poles due to the negative real part and positive T, thereby maintaining exponential decay in the time domain.[13] The imaginary part determines the angular position via \arg(z_k) = \Im(s_k) T, positioning the pole at a frequency scaled by the sampling rate.[1] Repeated poles in the analog domain, sharing the same s_k, map directly to repeated poles at the identical z_k without any modification to their multiplicity.[14] This pole mapping is often illustrated graphically by the exponential function, which conformally transforms the s-plane to the z-plane such that radial lines in the s-plane correspond to spirals in the z-plane, emphasizing the preservation of relative pole positions while accounting for the nonlinear distortion introduced by sampling.[14]Zero placement and stability
In the impulse invariance method, the zeros of the digital filter transfer function H(z) do not map directly from the zeros of the analog prototype H(s) in the same exponential manner as the poles. Instead, H(z) is constructed via the partial fraction expansion of H(s) = \sum_{k=1}^N \frac{c_k}{s - p_k}, yielding H(z) = \sum_{k=1}^N \frac{c_k T}{1 - e^{p_k T} z^{-1}}, where the numerator coefficients arise from combining these terms into a rational polynomial of degree N-1 for an Nth-order denominator. This process often introduces additional zeros not present in the analog filter, determined by the residues c_k and sampling period T, rather than a direct transformation; for strictly proper analog filters, these extra zeros account for the degree difference and may appear at locations such as z = -1 to reflect high-frequency attenuation equivalent to analog zeros at infinity.[16][17] Stability in the resulting digital filter is directly inherited from the analog prototype under the impulse invariance transformation. Analog poles p_k with negative real parts (\operatorname{Re}(p_k) < 0) map to digital poles z_k = e^{p_k T} inside the unit circle (|z_k| < 1), preserving bounded-input bounded-output stability for causal systems. Poles on the j\omega-axis in the analog domain would map to the unit circle, potentially causing marginal stability, but standard stable prototypes avoid this by design; thus, the method reliably maintains stability without additional checks beyond verifying the analog filter's pole locations.[14][16] Causality is inherently ensured by the impulse invariance approach, as the discrete-time impulse response h = h_a(nT) for n \geq 0 (and h = 0 for n < 0) directly samples the one-sided causal response of the analog filter h_a(t). However, at extremely high sampling rates (small T), implementation challenges such as finite-precision arithmetic or overflow in computing exponentials can indirectly compromise effective causality in practice, though the theoretical formulation remains strictly causal.[16] The non-conformal mapping of zeros can introduce phase distortions absent in the analog filter, altering the overall phase response of H(z). These additional or relocated zeros, often resulting in non-minimum-phase behavior (e.g., zeros outside the unit circle), contribute to deviations in the phase characteristics, particularly in the passband, where the digital phase may exhibit nonlinearity not matching the analog prototype's smoother response. For example, a zero with magnitude greater than 1, as seen in transformed second-order filters, exacerbates this effect by adding excess phase lag.[17]Comparisons
With bilinear transform
Impulse invariance and the bilinear transform represent two prominent methods for designing infinite impulse response (IIR) digital filters from continuous-time prototypes, differing fundamentally in their frequency domain mappings. In impulse invariance, the frequency axis is mapped linearly as \Omega = \omega / T, where \Omega is the analog frequency, \omega is the digital frequency, and T is the sampling period; this direct scaling preserves the shape of the continuous-time frequency response at low frequencies but introduces aliasing from higher-frequency components folding back into the baseband.[13] In contrast, the bilinear transform employs a nonlinear mapping \omega = 2 \tan^{-1}(\Omega T / 2), which compresses the entire analog frequency range into the digital range from 0 to \pi without aliasing, though it warps the frequency scale, particularly compressing higher frequencies.[18][17] The pole transformation in each method further highlights these differences, affecting stability margins in the z-plane. Impulse invariance uses an exponential mapping z = e^{sT}, which places poles based on the sampled impulse response and maintains stability for stable analog poles but can lead to clustered poles near the unit circle due to aliasing effects.[13] The bilinear transform, however, applies z = \frac{1 + s T/2}{1 - s T/2}, mapping the left-half s-plane conformally onto the interior of the unit circle in the z-plane, preserving stability without aliasing but altering pole locations through frequency warping, which can result in wider stability margins for certain filter types.[18][17] Regarding advantages and disadvantages, impulse invariance excels in matching the time-domain impulse response of the analog filter, making it suitable for applications where transient response fidelity is critical, such as in low-pass or bandpass filters with minimal high-frequency content; however, its aliasing renders it inappropriate for high-pass or bandstop filters.[13][18] The bilinear transform, by avoiding aliasing, provides exact preservation of the frequency response up to the Nyquist frequency when prewarping is applied to critical frequencies, offering better overall frequency domain accuracy and broader applicability, though it requires compensation for the warping distortion.[17] In a representative example of a first-order low-pass filter with analog transfer function H_c(s) = 1/(s + 1) and sampling period T = 1, impulse invariance yields a digital filter H(z) = \frac{1}{1 - e^{-1} z^{-1}} with 3 dB cutoff frequency approximately 1 rad/sample (exactly ~1.1 rad/sample), but introduces aliasing and significantly alters the DC gain to ~1.58; the bilinear transform, without prewarping, yields H(z) = \frac{1 + z^{-1}}{3 - z^{-1}} with cutoff compressed to ~0.93 rad/sample due to warping, but prewarping adjusts it precisely to match a desired digital cutoff, demonstrating superior frequency control at the cost of nonlinear scaling.[17][18]With step invariance method
The step invariance method, also known as step-invariant transformation, is a design technique for infinite impulse response (IIR) digital filters that ensures the discrete-time filter's response to a unit step input matches the sampled values of the continuous-time analog prototype's step response at the sampling instants. This approach is particularly useful in applications involving step-like inputs, such as control systems or signal processing where transient responses to abrupt changes are critical. Unlike methods that focus on frequency-domain mapping, step invariance prioritizes time-domain equivalence for the integrated impulse response, achieved by sampling the analog step response s_a(t) = \int_0^t h_a(\tau) \, d\tau, where h_a(t) is the analog impulse response, to obtain the discrete step response s = s_a(nT), with T as the sampling period. The digital transfer function H(z) is then derived from the z-transform of s, often involving partial fraction expansion of H_a(s)/s followed by sampling and transformation.[10][19] In contrast to the impulse invariance method, which directly samples the analog impulse response to yield h = T h_a(nT) and preserves the shape of the impulse response but introduces aliasing due to the lack of scaling in higher frequencies, the step invariance method avoids the T-scaling factor in the impulse response sampling. This results in a digital filter where the step response equivalence holds without the proportional scaling seen in impulse invariance, leading to a more direct match for cumulative responses. For a first-order analog filter with pole at -p, the step-invariant mapping produces H(z) = \frac{A (1 - e^{-pT}) / p}{1 - e^{-pT} z^{-1}}, where A is the residue, differing from the impulse-invariant form by emphasizing the integrated behavior rather than the differential impulse. For higher-order systems with complex poles, the mapping involves trigonometric terms like z = e^{aT} (\cos(\theta T) + j \sin(\theta T)), ensuring pole relocation similar to impulse invariance but tailored to step response preservation.[19][10] The step invariance method offers advantages over impulse invariance in scenarios with low sampling rates relative to the filter's passband frequency (f_s / f_p < 10), where it provides superior magnitude response accuracy for low-pass and band-pass filters, reducing aliasing distortions that plague impulse invariance at undersampled conditions. However, it does not preserve the impulse response, potentially leading to discrepancies in applications requiring sharp transient peaks, and introduces phase errors near complex poles, making it less suitable for precise phase-sensitive designs compared to the bilinear transform. Stability is maintained if the analog filter is stable, as poles map inside the unit circle in the z-plane, but the method's complexity increases with filter order due to the need for step response computation and z-transform inversion. An illustrative example is transforming an analog filter with h_a(t) = e^{-0.9t} u(t), whose step response s_a(t) = \frac{1 - e^{-0.9t}}{0.9} is sampled to derive H(z) = \frac{(1 - e^{-0.9T}) / 0.9}{1 - e^{-0.9T} z^{-1}}, demonstrating exact step response matching at samples nT. Overall, while impulse invariance excels in replicating transient impulses, step invariance is preferred for integrated response fidelity, though both suffer from frequency-domain aliasing without additional anti-aliasing measures.[19][10]Practical Implementation
Design procedure
The design procedure for impulse invariance begins with selecting an appropriate continuous-time analog prototype filter H_c(s), typically a classical filter such as Butterworth, Chebyshev, or elliptic, designed to meet the desired frequency response specifications translated from the digital domain.[20] Next, compute the continuous-time impulse response h_c(t) by taking the inverse Laplace transform of H_c(s). This step often involves partial fraction expansion for rational transfer functions to facilitate the inversion.[1] Then, sample the impulse response to obtain the discrete-time impulse response h = T h_c(nT) for n = 0, 1, 2, \dots, where T is the sampling period. The scaling factor T ensures that the digital filter's frequency response approximates the analog one without additional gain adjustment due to sampling.[20] Proceed by computing the z-transform of h to yield the digital transfer function H(z). For pole-residue forms, this results in H(z) = \sum_{k=1}^N \frac{A_k T}{1 - e^{p_k T} z^{-1}}, where A_k and p_k are residues and poles from the analog filter.[1] Finally, realize the digital filter from H(z) using standard structures, such as direct form I or II, to implement it via a difference equation y = \sum_{k=0}^M b_k x[n-k] - \sum_{k=1}^N a_k y[n-k].[20] Prior to sampling, it is recommended to apply an analog anti-aliasing filter to the input signal if the analog prototype does not sufficiently attenuate frequencies above the Nyquist rate, though this is more relevant in hardware implementations.[21] The sampling period T (or equivalently, sampling frequency f_s = 1/T) should be chosen such that the Nyquist frequency is at least 2-3 times the analog filter's cutoff frequency to minimize aliasing effects in the baseband response.[1] In practice, this procedure can be automated using software tools, such as MATLAB'simpinvar function, which converts analog filter coefficients to digital ones via impulse invariance.[4]