Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Infinite impulse response
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Design Methods == === 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. Impulse invariance is one of the commonly used methods to meet the two basic requirements of the mapping from the s-plane to the z-plane. This is obtained by solving the T(z) that has the same output value at the same sampling time as the analog filter, and it is only applicable when the inputs are in a pulse.<br /> Note that all inputs of the digital filter generated by this method are approximate values, except for pulse inputs that are very accurate. This is the simplest IIR filter design method. It is the most accurate at low frequencies, so it is usually used in low-pass filters. For Laplace transform or z-transform, the output after the transformation is just the input multiplied by the corresponding transformation function, T(s) or T(z). Y(s) and Y(z) are the converted output of input X(s) and input X(z), respectively.<br /> :<math>Y(s)=T(s)X(s)</math><br /> :<math>Y(z)=T(z)X(z)</math><br /> When applying the Laplace transform or z-transform on the unit impulse, the result is 1. Hence, the output results after the conversion are <br /> :<math>Y(s)=T(s)</math><br /> :<math>Y(z)=T(z)</math><br /> Now the output of the analog filter is just the inverse Laplace transform in the time domain.<br /> :<math>y(t)=L^{-1}[Y(s)]=L^{-1}[T(s)]</math><br /> If we use nT instead of t, we can get the output y(nT) derived from the pulse at the sampling time. It can also be expressed as y(n)<br /> :<math>y(n)=y(nT)=y(t)|_{t=sT}</math><br /> This discrete time signal can be applied z-transform to get T(z)<br /> :<math>T(z)=Y(z)=Z[y(n)]</math><br /> :<math>T(z)=Z[y(n)]=Z[y(nT)]</math><br /> :<math>T(z)=Z\left\{L^{-1}[T(s)]_{t=nT}\right\}</math><br /> The last equation mathematically describes that a digital IIR filter is to perform z-transform on the analog signal that has been sampled and converted to T(s) by Laplace, which is usually simplified to<br /> :<math>T(z)=Z[T(s)]*T</math><br /> Pay attention to the fact that there is a multiplier T appearing in the formula. This is because even if the Laplace transform and z-transform for the unit pulse are 1, the pulse itself is not necessarily the same. For analog signals, the pulse has an infinite value but the area is 1 at t=0, but it is 1 at the discrete-time pulse t=0, so the existence of a multiplier T is required.<br /> === Step Invariance === Step invariance is a better design method than impulse invariant. The digital filter has several segments of input with different constants when sampling, which is composed of discrete steps. The step invariant IIR filter is less accurate than the same input step signal to the ADC. However, it is a better approximation for any input than the impulse invariant.<br /> Step invariant solves the problem of the same sample values when T(z) and T(s) are both step inputs. The input to the digital filter is u(n), and the input to the analog filter is u(t). Apply z-transform and Laplace transform on these two inputs to obtain the converted output signal.<br /> Perform z-transform on step input <math>Z[u(n)]=\dfrac{z}{z-1}</math><br /> Converted output after z-transform <math>Y(z)=T(z)U(z)=T(z)\dfrac{z}{z-1}</math><br /> Perform Laplace transform on step input <math>L[u(t)]=\dfrac{1}{s}</math><br /> Converted output after Laplace transform <math>Y(s)=T(s)U(s)=\dfrac{T(s)}{s}</math><br /> The output of the analog filter is y(t), which is the inverse Laplace transform of Y(s). If sampled every T seconds, it is y(n), which is the inverse conversion of Y(z).These signals are used to solve for the digital filter and the analog filter and have the same output at the sampling time.<br /> The following equation points out the solution of T(z), which is the approximate formula for the analog filter. <br /> :<math>T(z)=\dfrac{z-1}{z}Y(z)</math><br /> :<math>T(z)=\dfrac{z-1}{z}Z[y(n)]</math><br /> :<math>T(z)=\dfrac{z-1}{z}Z[Y(s)]</math><br /> :<math>T(z)=\dfrac{z-1}{z}Z[\dfrac{T(s)}{s}]</math><br /> === Bilinear Transform === The bilinear transform is a special case of a conformal mapping, often used to convert a transfer function <math>H_a(s)</math> of a linear, time-invariant (LTI) filter in the continuous-time domain (often called an analog filter) to a transfer function <math>H_d(z)</math> of a linear, shift-invariant filter in the discrete-time domain. The bilinear transform is a first-order approximation of the natural logarithm function that is an exact mapping of the ''z''-plane to the ''s''-plane. When the Laplace transform is performed on a discrete-time signal (with each element of the discrete-time sequence attached to a correspondingly delayed unit impulse), the result is precisely the Z transform of the discrete-time sequence with the substitution of :<math> \begin{align} z &= e^{sT} \\ &= \frac{e^{sT/2}}{e^{-sT/2}} \\ &\approx \frac{1 + s T / 2}{1 - s T / 2} \end{align} </math> where <math> T </math> is the numerical integration step size of the trapezoidal rule used in the bilinear transform derivation; or, in other words, the sampling period. The above bilinear approximation can be solved for <math> s </math> or a similar approximation for <math> s = (1/T) \ln(z) </math> can be performed. The inverse of this mapping (and its first-order bilinear approximation) is :<math> \begin{align} s &= \frac{1}{T} \ln(z) \\ &= \frac{2}{T} \left[\frac{z-1}{z+1} + \frac{1}{3} \left( \frac{z-1}{z+1} \right)^3 + \frac{1}{5} \left( \frac{z-1}{z+1} \right)^5 + \frac{1}{7} \left( \frac{z-1}{z+1} \right)^7 + \cdots \right] \\ &\approx \frac{2}{T} \frac{z - 1}{z + 1} \\ &= \frac{2}{T} \frac{1 - z^{-1}}{1 + z^{-1}} \end{align} </math> This relationship is used in the Laplace transfer function of any analog filter or the digital infinite impulse response (IIR) filter T(z) of the analog filter.<br /> The bilinear transform essentially uses this first order approximation and substitutes into the continuous-time transfer function, <math> H_a(s) </math> :<math>s \leftarrow \frac{2}{T} \frac{z - 1}{z + 1}.</math> That is :<math>H_d(z) = H_a(s) \bigg|_{s = \frac{2}{T} \frac{z - 1}{z + 1}}= H_a \left( \frac{2}{T} \frac{z-1}{z+1} \right). \ </math> which is used to calculate the IIR digital filter, starting from the Laplace transfer function of the analog filter. <br />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)