Hubbry Logo
search
logo

Impulse invariance

logo
Community Hub0 Subscribers
Read side by side
from Wikipedia

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]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
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[n] = 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[n]=Thc(nT),n0, h[n] = T \, h_c(nT), \quad n \geq 0,
where $ h[n] $ 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[n] $ matches the sampled version of the continuous-time impulse response $ h(t) $, specifically $ h[n] = 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[n] $, sample $ h_c(t) $ at uniform intervals $ t = nT $, where $ T $ is the sampling period and $ n $ is an integer. This yields $ h[n] = T h_c(nT) $ for $ n \geq 0 $, with $ h[n] = 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
hc(t)=k=1NKkepktu(t), 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[n]=Tk=1NKkepknTu[n]. h[n] = T \sum_{k=1}^{N} K_k e^{p_k n T} u[n].
This form facilitates direct implementation in discrete-time filter structures.

Transfer function equivalence

The discrete-time transfer function H(z)H(z) in the impulse invariance method is obtained as the Z-transform of the scaled sampled impulse response, where h[n]=Thc(nT)h[n] = T h_c(nT) for n0n \geq 0, with TT denoting the sampling period and hc(t)h_c(t) the continuous-time impulse response of Hc(s)H_c(s). This scaling by TT 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)H(z), assume Hc(s)H_c(s) is a proper rational function with simple poles at s=sks = s_k for k=1,,Nk = 1, \dots, N. Perform partial fraction expansion:
Hc(s)=k=1NAkssk, H_c(s) = \sum_{k=1}^N \frac{A_k}{s - s_k},
where AkA_k is the residue of Hc(s)H_c(s) at pole sks_k, given by Ak=limssk(ssk)Hc(s)A_k = \lim_{s \to s_k} (s - s_k) H_c(s). The inverse Laplace transform yields
hc(t)=k=1NAkesktu(t), h_c(t) = \sum_{k=1}^N A_k e^{s_k t} u(t),
with u(t)u(t) the unit step function. Sampling and scaling gives
h[n]=Tk=1NAkesknT,n0. h[n] = T \sum_{k=1}^N A_k e^{s_k n T}, \quad n \geq 0.
The Z-transform is then
H(z)=n=0h[n]zn=Tk=1NAkn=0(eskTz1)n=Tk=1NAk1eskTz1, H(z) = \sum_{n=0}^\infty h[n] 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>maxkeskT|z| > \max_k |e^{s_k T}|. Equivalently, this can be expressed as
H(z)=Tk=1N[residue of Hc(s) at sk/(1eskTz1)], 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 Hc(s)=1/(ssk)H_c(s) = 1/(s - s_k), the residue Ak=1A_k = 1, so
H(z)=T1eskTz1. 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[n]=TesknTh[n] = T e^{s_k n T}.[9] The equivalence between H(z)H(z) and the sampled continuous-time system is proven by the inverse Z-transform: applying it to H(z)H(z) recovers h[n]=Thc(nT)h[n] = 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=nTt = nT.[1]

Frequency Domain Characteristics

Aliasing in frequency response

In the impulse invariance method, the frequency response of the resulting digital filter H(ejω)H(e^{j\omega}) is derived from the continuous-time analog filter's frequency response Hc(jΩ)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(ejω)=k=Hc(jω+2πkT), H(e^{j\omega}) = \sum_{k=-\infty}^{\infty} H_c \left( j \frac{\omega + 2\pi k}{T} \right),
where TT 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π/T2\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 Hc(jΩ)H_c(j\Omega) is not sufficiently band-limited and extends beyond the Nyquist frequency π/T\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 Hc(jΩ)=0H_c(j\Omega) = 0 for all Ω>π/T|\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 π/T\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[n] = T h_c(nT) $, leading to the approximation
H(ejω)Hc(jωT) 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 )arerelocatedinsidetheunitcircleinthezplane() 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)H(z) do not map directly from the zeros of the analog prototype H(s)H(s) in the same exponential manner as the poles. Instead, H(z)H(z) is constructed via the partial fraction expansion of H(s)=k=1NckspkH(s) = \sum_{k=1}^N \frac{c_k}{s - p_k}, yielding H(z)=k=1NckT1epkTz1H(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 N1N-1 for an NNth-order denominator. This process often introduces additional zeros not present in the analog filter, determined by the residues ckc_k and sampling period TT, 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=1z = -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 pkp_k with negative real parts (Re(pk)<0\operatorname{Re}(p_k) < 0) map to digital poles zk=epkTz_k = e^{p_k T} inside the unit circle (zk<1|z_k| < 1), preserving bounded-input bounded-output stability for causal systems. Poles on the jω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[n]=ha(nT)h[n] = h_a(nT) for n0n \geq 0 (and h[n]=0h[n] = 0 for n<0n < 0) directly samples the one-sided causal response of the analog filter ha(t)h_a(t). However, at extremely high sampling rates (small TT), 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)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 Ω=ω/T\Omega = \omega / T, where Ω\Omega is the analog frequency, ω\omega is the digital frequency, and TT 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 ω=2tan1(ΩT/2)\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=esTz = 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=1+sT/21sT/2z = \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 Hc(s)=1/(s+1)H_c(s) = 1/(s + 1) and sampling period T=1T = 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[n] = s_a(nT) $, with $ T $ as the sampling period. The digital transfer function $ H(z) $ is then derived from the z-transform of $ s[n] $, 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[n] = 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 Hc(s)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 hc(t)h_c(t) by taking the inverse Laplace transform of Hc(s)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[n]=Thc(nT)h[n] = T h_c(nT) for n=0,1,2,n = 0, 1, 2, \dots, where TT is the sampling period. The scaling factor TT 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[n]h[n] to yield the digital transfer function H(z)H(z). For pole-residue forms, this results in H(z)=k=1NAkT1epkTz1H(z) = \sum_{k=1}^N \frac{A_k T}{1 - e^{p_k T} z^{-1}}, where AkA_k and pkp_k are residues and poles from the analog filter.[1] Finally, realize the digital filter from H(z)H(z) using standard structures, such as direct form I or II, to implement it via a difference equation y[n]=k=0Mbkx[nk]k=1Naky[nk]y[n] = \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 TT (or equivalently, sampling frequency fs=1/Tf_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's impinvar function, which converts analog filter coefficients to digital ones via impulse invariance.[4]

Numerical example

Consider a first-order low-pass analog filter with transfer function $ H_c(s) = \frac{1}{s + a} $, where $ a = 1 $. The impulse response is $ h_c(t) = e^{-a t} u(t) $, with $ u(t) $ denoting the unit step function.[1] Using the impulse invariance method with sampling period $ T = 0.1 $, the discrete-time impulse response is obtained as $ h[n] = T h_c(n T) = T e^{-a n T} u[n] $. This yields $ h[n] = 0.1 e^{-0.1 n} u[n] $.[22] The corresponding z-transform is $ H(z) = \sum_{n=0}^{\infty} h[n] z^{-n} = \frac{T}{1 - e^{-a T} z^{-1}} $. Substituting the parameters gives $ e^{-a T} = e^{-0.1} \approx 0.9048 $, so $ H(z) = \frac{0.1}{1 - 0.9048 z^{-1}} $.[23] The analog and digital impulse responses match at the sampling instants $ t = n T $, with the digital version scaled by $ T $ to approximate the continuous-time response in the frequency domain for low frequencies. Plots of the impulse responses show the exponential decay of $ h_c(t) $ closely sampled by $ h[n] $, while the magnitude frequency responses $ |H_c(j \omega)| = 1 / \sqrt{\omega^2 + a^2} $ and $ |H(e^{j \omega})| $ align well below the cutoff frequency near $ \omega = a = 1 $ rad/s, with the digital response exhibiting periodic repetition and minor aliasing tails due to sampling.[24] Stability is verified by the pole location at $ z = e^{-a T} \approx 0.9048 $, satisfying $ |e^{-a T}| < 1 $. Minimal aliasing is ensured since the effective cutoff $ a = 1 $ is much less than $ \pi / T \approx 31.4 $, corresponding to a sampling rate well above the Nyquist frequency for the filter's bandwidth.[5]

Limitations and Extensions

Aliasing issues

In the impulse invariance method, aliasing arises because the frequency response of the digital filter is a periodic summation of the analog filter's frequency response shifted by multiples of the sampling frequency $ f_s $. High-frequency components from these shifted replicas fold back into the baseband (0 to $ f_s/2 $), overlapping with the primary response and causing distortion in both the passband and stopband of the digital filter. This overlap introduces unwanted energy in the stopband, reducing attenuation, and can ripple the passband response, deviating from the desired analog characteristics.[25][26] The severity of aliasing depends on the filter type and the relationship between the analog cutoff frequency and the sampling rate. For low-pass filters, aliasing effects are manageable if the cutoff frequency is sufficiently below the Nyquist frequency, typically recommended to be less than 0.2 $ f_s $ to minimize overlap from high-frequency tails. In contrast, high-pass filters experience severe aliasing, as their analog prototypes exhibit significant response extending to infinite frequencies, leading to substantial folding of high-frequency content into the low-frequency passband and compromising filter performance.[26][27] Aliasing distortion can be quantified using the integrated squared error (ISE) between the desired analog frequency response and the aliased digital response over the baseband, providing a measure of overall deviation; lower ISE values indicate better approximation, often achieved by higher sampling rates that reduce spectral overlap.[6] In contemporary digital signal processing, aliasing issues with impulse invariance are mitigated through oversampling, where the sampling rate exceeds the minimum Nyquist rate by a factor of 4–10 or more, making the method less problematic in high-performance systems. However, it remains pertinent in embedded systems with constrained sampling rates and computational resources, where narrowband low-pass designs are common despite potential aliasing.

Corrected formulations

To address the discontinuity often present in the continuous-time impulse response $ h_c(t) $ at $ t = 0 $, particularly for filters with a Dirac delta component, the standard impulse invariance formula $ h[n] = T h_c(nT) $ for $ n \geq 0 $ is adjusted by taking half the value of the jump discontinuity at $ n = 0 $. This correction ensures a more accurate mapping by using the arithmetic mean of the left-hand and right-hand limits at the discontinuity, yielding $ h[0] = \frac{1}{2} T h_c(0^+) $ where applicable, while subsequent samples remain $ h[n] = T h_c(nT) $ for $ n > 0 $. This modification, proposed by Jackson and Mecklenbräuker, improves the approximation for first-order filters and eliminates inconsistencies in the time-domain response without altering the overall structure.[28] Aliasing effects in impulse invariance can be further mitigated through pre-warping, which treats the aliasing as an equivalent 3 dB frequency warping and applies a compensatory frequency adjustment prior to transformation. In this approach, the analog filter's critical frequencies are pre-distorted to counteract the warping introduced by sampling, resulting in a closer match to the desired digital frequency response, especially in the passband. This method, an extension of the Jackson-Mecklenbräuker correction, enhances accuracy for bandlimited designs but requires careful selection of the warping factor based on the sampling rate.[29] Extensions to impulse invariance include multi-rate formulations, which adapt the method for systems with varying sampling rates by directly synthesizing filters that preserve impulse response characteristics across rate changes. This approach, developed by Crochiere and Rabiner, facilitates efficient implementation in decimation or interpolation scenarios, reducing aliasing through rate-specific scaling while maintaining time-domain invariance. Hybrid techniques combining impulse invariance with the bilinear transform offer additional aliasing control; for instance, impulse invariance handles low-frequency components for time-domain fidelity, while bilinear mapping is applied to high-frequency sections to avoid aliasing distortion. These hybrids balance the strengths of both methods, improving overall stability and frequency selectivity at the expense of increased design complexity.[30] An advanced technique for reducing aliasing tails involves windowing the impulse response in band-limited impulse invariance methods. Here, the continuous-time response is decomposed into a conventional IIR part and a band-limited exponential (BLEX) residual, with the residual truncated and tapered using a window (e.g., Kaiser window with $ \beta = 8.6 $) to form a finite FIR component that suppresses high-frequency replicas. The BLEX residual is given by $ h_a^{BL}(t) = r e^{pt} u(t) + r \varepsilon(t) $, where $ \varepsilon(t) $ is computed via the exponential integral, and its discrete samples are windowed as $ h_{res}[n] = r T \varepsilon((n - M)T) v[n] $ with $ v[n] $ as the window function. This parallel IIR-FIR structure achieves high-fidelity modeling within the Nyquist band, particularly for non-ideal band-limited filters where standard invariance suffers from infinite tails. Such corrections are recommended when precise time-domain matching is needed but aliasing impacts performance, though they introduce computational overhead due to the added FIR processing.[31]

References

User Avatar
No comments yet.