Filter Design Techniques
Filter Design Techniques
Design of IIR Filters Design of FIR Filters Optimum Approximations of FIR Filters FIR Equiripple Approximation
Implementation
Hardware or software implementation Basic building block requirement
Memory unit (i.e. ROM) for storing filters coefficients. Memory unit (i.e. RAM) for storing input and output values. Hardware or software multipliers. Hardware or software adder and/or another arithmetic logic units.
Specification for effective frequency response of a continuoustime lowpass filter and its corresponding specifications for discrete-time system.
p or 1 passband ripple s or 2 stopband ripple p, p passband edge frequency s, s stopband edge frequency 2 passband ripple parameter 1 p = 1/1 + 2 BW bandwidth = u l c 3-dB cutoff frequency u, l upper and lower 3-dB cutoff frequensies transition band = |p s| Ap passband ripple in dB = 20log10(1 p) As stopband attenuation in dB = -20log10(s)
If a discrete-time filter will be used as a lowpass filter, we want the overall system have the following specifications when the sampling rate is 104 samples/s (T = 104 s):
The gain should be within 0.01 of unity in the frequency band 0 2(2000) The gain should be no greater than 0.001 in the frequency band 2(3000) . From specifications above, the parameter should be: p = 0.01, s = 0.001, p = 2(2000), and s = 2(3000). Because the sampling rate is 104 samples/s, thus p = pT = 2(2000)x10-4 = 0.4 radians s = sT = 2(3000)x10-4 = 0.6 radians maximum passband gain in dB = 20log10(1 + 0.01) = 0.08643 dB maximum stopband gain in dB = 20log10(0.001) = -60 dB stopband attenuation in dB, As = - maximum stopband gain in dB = 60 dB passband ripple in dB, Ap = -20log10(1 0.01) = 0.087296 dB passband gain
From Analog (Continuous-Time) Filters Approximation of Derivatives Impulse Invariance the Bilinear Transformation the Matched-z Transformation Frequency Transformation Based on Least-Squared Method Pade Approximation Method Least-Squares Design Method
Bessel Filter
Lowpass Bessel filter are characterized by H(s) = 1/[a0 + a1s + a2s2 + + aN-1sN-1 + aNsN] = 1/BN(s) where BN(s) is called the Bessel polynomial and can be derived via the recursion relation: BN(s) = (2N 1) BN-1(s) + s2BN-2(s), which B1(s) = s + 1, and B2(s) = s2 + 3s + 3. And the coefficients {ak} are: ak = [(2N k)!]/[2N-k k!(N k)!], k = 0, 1, , N.
Butterworth Filter
Lowpass Butterworth filters are all-pole filters characterized by the magnitude-squared frequency response |H()|2 = 1/[1 + (/c)2N] = 1/[1 + 2(/p)2N] where N is the order of the filter, c is its 3-dB frequency (cutoff 1/(1 + 2) is the frequency), p is the bandpass edge frequency, and band-edge value of |H()|2. At = s (where s is the stopband edge frequency) we have 1/[1 + 2(s/p)2N] = 22 and N = (1/2)log10[(1/22) 1]/log10(s/c) = log10(/)/log10(s/p) where 2= 1/1 + 22. Thus the Butterworth filter is completely characterized by the parameters N, 2, , and the ratio s/p.
Magnitude and phase of frequency response of lowpass Bessel and Butterworth filters.
Lowpass Bessel filter: H(s) = 1/BN(s) where BN(s) = k=0N aksk is the Nth-order Bessel polynomial.
Example
Determine the order and the poles of a lowpass Butterworth filter that has a 3-dB bandwidth of 500 Hz and an attenuation of 40 dB at 1000 Hz The critical frequencies are the 3-dB frequency c and the stopband frequency s, which are c = 1000 s = 2000
For an attenuation of 40 dB, 2 = 0.01. We obtain N = log10(104 1)/2log102 = 6.64 To meet the desired specifications, we select N = 7. The pole positions are sk = 1000ej[/2 + (2k + 1)/14] , k = 0, 1, 2, , 6.
Chebyshev Filters
The magnitude squared response of the analog lowpass Type I Chebyshev filter of Nth order is given by: |H()|2 = 1/[1 + 2TN2(/p)]. where TN() is the Chebyshev polynomial of order N: TN() = cos(Ncos-1 ), || 1, || > 1. = cosh(Ncosh-1 ), The polynomial can be derived via a recurrence relation given by Tr() = 2Tr-1() Tr-2(), r 2, with T0() = 1 and T1() = . The magnitude squared response of the analog lowpass Type II or inverse Chebyshev filter of Nth order is given by: |H()|2 = 1/[1 + 2{TN(s/p)/ TN(s/)}2].
N = log10[( 1 - 22 + 1 22(1 + 2))/2]/log10[(s/p) + (s/p)2 1 ] = [cosh-1(/)]/[cosh-1(s/p)] for both Type I and II Chebyshev filters, and where 2 = 1/ 1 + 2. The poles of a Type I Chebyshev filter lie on an ellipse in the s-plane with major axis r1 = p{(2 + 1)/2] and minor axis r1 = p{(2 - 1)/2] where is related to according to = {[ 1 + 2 + 1]/}1/N The zeros of a Type II Chebyshev filter are located on the imaginary axis.
Type I: pole positions are xk = r2cosk yk = r1sink k = [/2] + [(2k + 1)/2N] r1 = p[2 + 1]/2 r2 = p[2 1]/2 = {[ 1 + 2 + 1]/}1/N Type II: zero positions are sk = js/sink and pole positions are vk = sxk/ xk2 + yk2 wk = syk/ xk2 + yk2 = {[1 + 1 22 ]/2}1/N Determination of the pole locations for a Chebyshev filter. k = 0, 1, , N-1.
Example
Determine the order of the filter: we have 20log10(1 + 2) = 1 = 0.5088 . 2 = 0.01 . Also, 20log102 = -40 So, N = [log10196.54]/[log10(2 + 3)] 4.0 . Thus a Type I Chebyshev filter having four poles meets the specifications.
Determine the order and the poles of a Type I lowpass Chebyshev filter that has a 1-dB ripple in the passband, a cutoff frequency p = 1000, a stopband frequency of 2000, and an attenuation of 40 dB or more for s.
Elliptic filter has an equiripple passband and equiripple stopband magnitude response. Its magnitude-squared frequency response is: |H()|2 = 1/[1 + 2UN(/p)] where UN(x) is the Jacobian elliptic function of order N, which has been tabulated by Zverev [1967], and is a parameter related to the passband ripple. The zeros lie on the j-axis. The filter order is given as N = K(p/s)K(1 (2/2))/K(/)K(1 (p/s)2) where K(x) is the complete elliptic integral of the first kind: K(x) = 0/2 [1/1 x2 sin2 ]d and 2 = 1/1 + 2 . The approximate formula is N 2log10(4/k1)/log10(1/) where k1 = 2/1 22 , k = 1 k2 , 0 = [1 k ]/[2(1 + k )] , = 0 + 2(0)5 + 15(0)9 + 150(0)13 , and k = p/s.
Approximation of derivative method is the simplest one for converting an analog filter into a digital filter by approximating the differential equation by an equivalent difference equation.
For the derivative dy(t)/dt at time t = nT, we substitute the backward difference [y(nT) y(nT T)]/T. Thus
dy ( t ) dt
=
t =nT
y ( nT ) y ( nT T ) y [ n ] y [ n 1] T T
where T represents the sampling period. Then, s = (1 z-1)/T The second derivative d2y(t)/dt2 is derived into second difference as follow:
dy ( t ) dt
t =nT
y [ n ] 2 y [ n 1] + y [ n 2 ] T2
which s2 = [(1 z-1)/T]2. So, for the kth derivative of y(t), sk = [(1 z-1)/T]k.
Hence, the system function for the digital IIR filter obtained as a result of the approximation of the derivatives by finite difference is H(z) = Ha(s)|s=(z-1)/Tz It is clear that points in the LHP of the s-plane are mapped into the corresponding points inside the unit circle in the z-plane and points in the RHP of the s-plane are mapped into points outside this circle.
Consequently, a stable analog filter is transformed into a stable digital filter due to this mapping property.
j
Unit circle
s-plane z-plane
Convert the analog bandpass filter with system function Ha(s) = 1/[(s + 0.1)2 + 9] Into a digital IIR filter by use of the backward difference for the derivative. Substitute for s = (1 z-1)/T into Ha(s) yields H(z) = 1/[((1 z-1)/T) + 0.1)2 + 9] =
T2 1+ 0.2T + 9.01T 2 1 filter. 1 T) 2( 1of + 0.1designed can be selected to satisfied specification For 2 1+ 0.2T +at 9.01T 1+ 0.2T + 9.01T example, if T = 0.1, the poles are located
z 2
p1,2
Fs/4
Unit Circle
Im
Fs/2
Re
3Fs/4
frequency
Determine where to place the poles and zeros on the z-plane. Since a complete rejection is required at 0 and 250 Hz, we need to place zeros at corresponding points on the z-plane. These are at angle of 0o and 360o x 250/500 = 180o on the unit circle. To have the passband centered at 125 Hz requires us to place poles at 360o x 125/500 = 90o. To ensure that the coefficients are real, it is necessary to have a complex conjugate pole pair.
A bandpass digital filter is required to meet the following specifications: complete signal rejection at DC and 250 Hz a narrow passband centered at 125 Hz a 3-dB bandwidth of 10 Hz Assuming a sampling frequency of 500 Hz, obtain the transfer function of the filter, by suitable placing z-plane poles and zeros, and its difference equation.
The radius, r, of the poles is determined by the desired bandwidth. An approximate relationship between r, for r > 0.9, and bandwidth, BW, is given by r 1 (BW/Fs). For the problem, BW = 10 Hz and Fs = 500 Hz, giving r = 0.937. The polezero diagram is given in figure below. From the pole-zero diagram, the transfer function can be written down by inspection: H(z) = (z 1)(z + 1)/(z rej/2)(z rej/2) = (1 z2)/(1 + 0.877969z2) The difference equation is: y[n] = -0.877969y[n 2] + x[n] x[n 2]
Im
Unit Circle
Re
ck k =1 s p k
N
pk t c e k k =1
ck p k T 1 1 e z k =1
N
Step 2: linear transform critical frequencies as follow = /Td Step 3: select filter structure type and its order: Bessel, Butterworth, Chebyshev type I, Chebyshev type II or inverse Chebyshev, elliptic. Step 4: convert Ha(s) to H(z) using linear transform in step 2. Step 5: verify the result. If it does not meet requirement, return to step 3.
s + 0.1 j 3
1e
0.1T 1 2
1 2
s + 0.1 + j 3
1
1 2
j 3T
1 e 0.1T e j 3T z 1
1 2
By applying impulse invariant method to an appropriate Butterworth analog filter to design a lowpass digital filter with the specifications: 0.89125 |H(ej)| 1, 0 || 0.2, 0.3 || . |H(ej)| 0.17783,
Since the parameter T cancels in the impulse invariant method, we can choose T = 1, so that = . Hence, 0.89125 |Ha(j)| 1, 0 || 0.2, |Ha(j)| 0.17783, 0.3 || . Because the magnitude response of an analog Butterworth filter is monotonic function of frequency, the above specifications eill be satisfied if |Ha(j0.2)| 0.89125 and |Ha(j0.3)| 0.17783. Then, 1 + (0.2/c)2N = (1/0.89125)2 and 1 + (0.3/c)2N = (1/0.17783)2 . So, N = 5.8858 and c = 0.70474. However, N must be rounded up to the next highest integer: N = 6 and new value of c = 0.7032. It means that there are 12 poles of the magnitude-squared function:
Ha(s)Ha(-s) = 1/[1 + (s/j c)2N]. These poles are uniformly distributed in angle on a circle of radius c = 0.7032. The poles of Ha(s) are the three pole pairs in the left half of the s-plane with the following coordinates: Pole pair #1 : -0.182 j0.679, Pole pair #2: -0.497 j0.497, Pole pair #3: -0.679 j0.182. Therefore,
Express Ha(s) as a partial fraction expansion, then perform the transformation, and combine complex-conjugate terms, the resulting system function of the digital filter is:
H(z) = [(0.2871 0.4466z-1)/(1 1.2971z-1 + 0.6949z-2)] + [(-2.1428 + 1.1455z-1)/(1 1.0691z-1 + 0.3699z-2)] + [(1.8557 0.6303z-1)/(1 0.9972z-1 + 0.2570z-2)] .
s-plane locations for poles of Hc(s)Hc(-s) and its frequency response for sixth-order Butterworth filter
Log Magnitude
Magnitude
Group delay
Disadvantage of previous techniques: frequency warping aliasing effect and error in specifications of designed filter (frequencies) So, prewarping of frequency is considered.
Mapping of the continuous-time frequency axis onto the discretetime frequency axis by bilinear transformation.
Frequency warping inherent in the bilinear transformation of a continuous-time lowpass filter into a discretetime lowpass filter. To achieve the desired discrete-time cutoff frequencies, the continuous-time cutoff frequencies must be prewarped.
Illustration of the effect of the bilinear transformation on a linear phase characteristics. (Dashed line is linear phase and solid line is phase resulting from bilinear transformation.)
Step 2: select filter structure type and its order: Bessel, Butterworth, Chebyshev type I, Chebyshev type II or inverse Chebyshev, elliptic. Step 3: critical frequencies prewarping: = [2/Td]tan(/2) Step 4: bilinear transform by replace s variable in H(s) by s = [2/Td][(1-z-1)/(1+z-1)] to obtain H(z). Step 5: verify the result. If it does not meet requirement, return to step 2.
Ripple in frequency bands Critical frequencies: passband edge, stopband edge, and/or cutoff frequencies. Filter band type: lowpass, highpass, bandpass, bandstop.
Where O2 = 12, B = bandwidth = 2 1, and 1 and 2 are desired lower and upper cutoff frequencies, respectively.
Convert the analog filter with system function: Ha(s) = [s + 0.1]/[(s + 0.1)2 + 16] into a digital IIR filter by means of the bilinear transformation. The digital filter is to have a resonant frequency of r = /2.
First, it is clear that the analog filter has a resonant frequency r = 4. This frequency is to be mapped into r = /2 by selecting the value of the parameter Td. From the relationship = 2tan-1[Td/2], we must select Td = in order to have r = /2. Thus the desired mapping is s = 4[1 z-1]/[1 + z-1] The resulting digital filter has the system function H(z) = [0.128 + 0.006z-1 0.122z-1]/[1 + 0.0006z-1 + 0.975z-2] [0.128 + 0.006z-1 0.122z-1]/[1 + 0.975z-2] The filter has poles at p1,2 = 0.987exp[j/2] and zeros at z1,2 = -1, 0.95.
The digital filter is specified to have its 3 dB gain at c = 0.2. In the frequency domain of the analog filter c = 0.2 corresponds to: c = [2/d]tan(0.1) = 0.65/Td Thus the analog filter has the system function: Ha(s) = [0.65/Td]/[s + 0.65/Td] Now, we apply the bilinear transformation s = [2/Td][1 z-1]/[1 + z-1] to convert the analog filter into the desired digital filter. Thus we obtain: H(z) = 0.245[1 + z-1]/[1 0.509z-1] where the parameter Td has been divided out. The frequency response of the digital filter is H() = 0.245[1 + ej]/[1 + 0.509e-j]. At = 0, H(0) = 1, and at = 0.2, we have |H(0.2)| = 0.707, which is the desired response.
Design a single-pole lowpass digital filter with a 3-dB bandwidth of 0.2, using the bilinear transformation applied to the analog filter: Ha(s) = c/(s + c) where c is the 3-dB bandwidth of the analog filter.
Design a second-order digital notch filter having a notch frequency at 60 Hz and a 3-dB notch bandwidth of 6 Hz. Tha sampling frequency employed is 400 Hz.
The normalized angular notch frequency 0 and the normalized angular 3-dB bandwidth BW are 0 = 2(60/400) = 0.3, BW = 2(6/400) = 0.03 . Selecting a second-order analog notch filter with a transfer function as: Ha(s) = [s2 + 2]/[s2 + Bs + 02] . Using Td = 2, then s = (1-z-1)/(1+z-1) and
where B is equal to the 3-dB notch bandwidth = 2 - 1 . Thus, H(z) = [0.940809 1.105987z-1 + 0.940809z-2]/[1 1.105987z-1 + 0.881618z-2]
H(z) = [(1+ 02) 2(1- 02) z-1 + (1+ 02) z-2]/[(1+ 02 +B) 2(1- 02) z-1 + (1+ 02 -B) z-2]
By applying the bilinear transformation method to an appropriate Butterworth analog filter to design a lowpass digital filter with the specifications: 0.89125 |H(ej)| 1, 0 0.2, |H(ej)| 0.17783, 0.3 .
The critical frequencies of the digital filter must be prewarped to the corresponding analog frequencies using the relationship: = [2/Td]tan(/2) given Td = 1: 0.89125 |H(ej)| 1, 0 2tan(0.2/2), 2tan(0.3/2) . |H(ej)| 0.17783, Since an analog Butterworth filter has a monotonic magnitude response, so |Ha(j2tan(0.1)| 0.89125 and | Ha(j2tan(0.1)| 0.17783. Because the form of the magnitude-squared function for the Butterworth filter is: |Ha()|2 = 1/[1 + (/c)2N]
Solving for N and c, we obtain 1+([2tan(0.1)]/c)2N = (1/0.89125)2 and 1+([2tan(0.15)]/c)2N = (1/0.17783)2 . N = 5.305 Since N must be an integer, we choose N = 6. Thus, we obtain c = 0.766. The obtained value of exceeds the passband specifications (0.649839 ~ 1.019051) and the stopband specifications are met exactly. In the s-plane, the 12 poles of the magnitude-squared function are uniformly distributed in angle on a circle of radius 0.766. The system function of the analog filter by selecting the LHP poles is: The system function for the digital filter is obtained by applying the bilinear transformation with Td = 1. The result is:
H(z) = 0.0007378(1+z-1)6/[(1-1.2686z-1+0.7051z-2)(1-1.0106z-1+0.3583z-2)(1-0.9044z-1+0.2155z-2)]
s-plane locations for poles of Hc(s)Hc(-s) and frequency response of sixth-order Butterworh lowpass filter transformed by bilinear transformation.
Log Magnitude
Magnitude
Group delay
Example: Approximation methods for frequency-selective IIR analog filters Butterworth, Chebyshev, and elliptic function approximation methods.
Consider the lowpass digital filter specifications: 0.99 |H(ej)| 1.01, || 0.4, 0.6 || . |H(ej)| 0.001,
Example: Butterworth approximation Pole-zero plot and frequency response of 14th-order Butterworth lowpass filter.
Log Magnitude
Magnitude
Group delay
Group delay
Pole-zero plot and frequency response of 8th-order Chebyshev type II lowpass filter.
Log Magnitude
Group delay
Group delay
( s pk ) ( 1e pk T z 1 ) where {zk} are the zeros and {pk} are the poles of the analog filter, and k =1 k =1 T is the sampling interval.
Ha ( s ) =
k =1 N
( s z k )
H( z ) =
k =1 N
( 1e z k T z 1 )
Thus each factor of the form (s - a) in Ha(s) is mapped into the factor (1 eaTz1) in H(z).
The poles obtained from the matched-z transformation are identical to the poles obtained with the impulse invariant method. However, the two techniques result in different zero positions. To preserve the frequency response characteristics of the analog filter, the sampling interval in the matched-z transformation must be properly selected to yield the pole and zero locations at equivalent position in the z-plane. Thus aliasing must be avoid by selecting T sufficiently small.
In general, these two approaches yield different results, except for the bilinear transformation, in which case the resulting filter designs are identical.
Frequency transformations for analog filters (prototype lowpass filter has band edge frequency p)
From To Transformation Band edge frequency of new filter p p l, u l, u
Lowpass
s [p/p ]s
Highpass s pp/s Bandpass s p(s2 + lu)/(u- l)s Bandstop s p(u- l)s /(s2 + lu)
Condition (2) implies that for r = 1, e-j = g(e-j) g() = |g()|ejarg[g()] It is clear that |g()| = 1 for all . That is, the mapping must be allpass. Hence it is of the form g(z-1) = k=1n[z-1 ak]/[1 akz-1] where |ak| < 1 to ensure that a stable filter is transformed into another stable filter.
Transformation Operator z-1 (z-1 a)/(1 - az-1) z-1 -(z-1 + b)/(1 + bz-1)
Parameters
a = sin[(pp)/2]/sin[(p+p)/2] b = -cos[(p+p)/2]/cos[(p-p)/2]
a1 = -2K/(K+1) a2 = (K-1)/(K+1) Bandstop z-1 -(z-2 b1z-1 + b2)/(b2z-1 - b1z-1 + 1) b1 = -2/(M+1) b2 = (1-M)/(1+M) Where a = cos[(u+l)/2]/cos[(ul)/2], K = cot[(ul)/2]tan(p/2), and M = tan [(ul)/2] tan(p/2). p is passband edge frequency new filter, l and u are lower and upper band edge frequencies.
Convert the single-pole lowpass Butterworth filter with system function H(z) = 0.245(1 + z-1)/(1 0.509z-1) into a bandpass filter with upper and lower cutoff frequencies u and l, respectively. The lowpass filter has 3-dB bandwidth p = 0.2.
The desired transformation is z-1 [z-2 a1z-1 + a2]/[a2z-2 a1z-1 + 1] where a1 and a2 are defined in previous table. Substitution into H(z) yields H(z) = 0.245{1-[z-2a1z-1+a2]/[a2z-2a1z-1+1]}/{1+0.509[z-2a1z-1+a2]/[a2z-2a1z-1+1]} = 0.245(1-a2)(1-z-2)/[(1+0.509a2)-1.509a1z-1+(a2+0.509)z-2] Note that the resulting filter has zeros at z = 1 and a pair of poles that depend on the choice of u and l.
The impulse invariant method and the mapping of derivatives are inappropriate to use in designing highpass and many bandpass filters, due to the aliasing problem.
Consequently, one would not employ an analog frequency transformation followed by conversion of the result into the digital domain by use of these two mappings. It is much better to perform the mapping from an analog lowpass filter into a digital lowpass filter by either of these mappings, and then to perform the frequency transformation in the digital domain to avoid the aliasing problem. In the case of the bilinear transformation, where aliasing is not a problem, it does not matter whether the frequency transformation is performed in the analog domain or in the digital domain.
Pade Approximation Method (the specifications are given tn the time domain and the design is also carried out in the time domain.) Least-Squares Design Method (the specifications are given tn the time domain and the design is also carried out in the time domain.) Least-Squares Techniques (the design is carried out in the frequency domain.)
H( z ) =
bk z k
=0
where h[k] is its unit sample response. The filter has L = M+N+1 k =1 parameters, coefficients {ak} and {bk}, which can be used to minimize some error criterion (the least-square error or the sum of the squared errors).
1 + a k z k
k =0
k h [ k ] z
In general, h[n] is a nonlinear function of the filter parameters and hence the minimization of errors involves the solution of a set of nonlinear equations. However, if we select the upper limit as U = L-1, it is possible to match h[n] perfectly to the desired response hd[n] for 0 n M+n.
The difference equation for the desired filter is Suppose that the input to the filter is a unit sample (x[n] = [n]). Then the response of the filter is y[n] = h[n] and hence Since [n-k] = 0 except for n = k, above equation reduces to
0nM y[n] = - a1y[n-1] a2y[n-2] - - aNy[n-N] + b0x[n] + b1x[n-1] + + bMx[n-M] .
h[n] = - a1h[n-1] a2h[n-2] - - aNh[n-N] + b0[n] + b1[n-1] + + bM[n-M] . h[n] = - a1h[n-1] a2h[n-2] - - aNh[n-N] + bM , For n > M, it becomes
The set of last two equations can be used to solve for filter parameters.
Suppose that the desired unit sample response is hd[n] = 2()n u[n] Determine the parameters of the filter with system function H(z) = [b0 + b1z-1]/[1 + a1z-1] using the Pade approximation technique.
With [n] as the input to H(z), we obtain the output h[n] = -a1h[n-1] + b0[n] + b1[n-1] . For n > 1, we have h[n] = - a1h[n-1] or, equivalently, hd[n] = a1hd[n-1]. With the substitution for hd[n], we obtain a1 = - . Thus hd[n] = hd[n-1] + b0[n] + b1[n-1] . For n = 0 this equation yields b0 = 2. For n = 1 we obtain the result b1 = 0.
A fourth-order Butterworth filter has the system function The unit impulse response corresponding to Hd(z) is illustrated in Figure below. Use the Pade approximation method to approximate Hd(z).
The desired filter has M = 4 zeros and N = 4 poles. However, we try to determine the coefficients in the Pade approximation when the number of zeros and/or poles are different from the desired number of filter parameters. In the following Figure, the frequency response of the filters obtained by the Pade approximation method are plot in four cases: M=3,N=5; M=3,N=4; M=N=4; M=4,N=5. When M=3, the resulting frequency response is a relatively poor approximation to the desired response. However, an increase in the number of poles from N=4 to N=5 appears to compensate in part for the lack of the one zero. When M is increases from 3 to 4, we obtain a perfect match.
A three-pole and three-zero Type II lowpass Chebyshev digital filter has the system function
Hd(z) =
Since the design method matches hd[n] only up to the number of filter parameters, the more complex the filter, the better the approximation. The major limitation with the Pade approximation method is the resulting filter must contain a large number of poles and zeros. Thus this method has found limited use in filter designs for practical applications.
[n]
Hd(z)
hd[n]
1/H(z)
y[n]
- [n]
Least-squares method for determining the poles and zeros of a filter following the Shanks method
[n]
v[n]
hd[n]
Shanks method: Both sets of parameters {ak} and {bk} are determined by application of the least-squares method (proposed by Shanks [1967]). Firstly, the parameter {ak} are computed and then the parameters {bk} can also be determined later.
Windowing Method
FIR filter are almost entirely restricted to discrete-time implementations. The design techniques for FIR filters are based on directly approximating the desired frequency response of the discrete-time system. Most techniques for approximating the magnitude response of an FIR system assume a linear phase constraint, thereby avoiding the problem of spectrum factorization that complicates the direct design of IIR filters. The windowing technique is the simplest method of FIR filter design. This method generally begins with an ideal desired frequency response, Hd(ej), and evaluates its corresponding impulse response, hd[n]. Then, the desired impulse response, h[n], will be obtained by truncating hd[n]. with selected window function, w[n].
Hd(ej) = n=-hd[n]e-jn hd[n] = (1/2) Hd(ej)ejnd h[n] = hd[n]w[n] = hd[n], 0 n M, 0, otherwise. H(ej) = (1/2) Hd(ej)W(ej())d . That is H(ej) is the periodic convolution of the desired ideal frequency response with the Fourier transform of the window function. Thus, the frequency response H(ej) will be a smeared version of the desired response Hd(ej). In the case of the rectangular window: W(ej) = n=0M e-jn = e-jM/2{sin([M+1]/2}/{sin(/2)}. As M increases, the width of the main lobe decreases. The main lobe is the region between the first zero-crossings on either side of the origin. Gibbs Phenomenon
Window Type Rectangular Bartlett (Triangular) Hanning Hamming Blackman Kaiser w[n] =
Time-Domain Sequence 1, 0 n M 0, otherwise 2n/M, 0 n M/2 2-2n/M, M/2 < n M 0, otherwise 0.5 0.5cos(2n/M), 0 n M 0, otherwise 0.54 0.46cos(2n/M), 0 n M 0, otherwise 0.42 0.5cos(2n/M) + 0.08cos(4n/M), 0 n M 0, otherwise I0[(1 - {(n )/}2)1/2]/I0(), 0 n M, = M/2 0, otherwise
I0(.) is zero order modified Bessel function of the first kind, is window shape parameter.
Rectangular M = 50 Hamming M = 50
The width of the main lobe and the relative side-lobe amplitude depend primarily on the window length L and the shape (amount of tapering) of the window. Through the choice of the shape and duration of the window, we can control the properties of the resulting FIR filter:
The windows with the smaller side lobes yield better approximations of the ideal response at a discontinuity. The smaller width of the main lobe which can be achieved by increasing M yield the narrower transition regions.
Kaiser [1974] has developed a simple formalization of the window method using Kaiser window. Kaiser window overcomes the disadvantage occurred in using other window because we must try different windows and adjust their length by trial and error method. Filters designed by the window method inherently have 1 = 2, so must use the smaller value of ripple in the design procedure.
Type of window
Peak side lobe Approximation Peak approximation Equivalent Transition width of amplitude, dB width of main error, 20log10, dB Kaiser equivalent Kaiser lobe window, window, -13 -25 -31 -41 -57 4/(M+1) 8/M 8/M 8/M 12/M -21 -25 -44 -53 -74 -50 -70 -90 0 1.33 3.86 4.86 7.04 4.54 6.76 8.96 1.81/M 2.37/M 5.01/M 6.27/M 9.19/M 4.86/M 8.64/M 11.42/M
= s p
Window shape parameter, b 0.1102(A 8.7) = 0.5842(A 21)0.4 + 0.07886(A 21) 0.0 A = -20log10 M = (A 8)/2.285
M = 20
M = 20
Windowing Algorithm
Step 1: define specifications of desired filter. Step 2: evaluate the system function Hd(ej) from step 1. Step 3: evaluate the impulse response sequence hd[n] as hd[n] = [1/2] - Hd(ej)ejnd where Hd(ej) = n=-hd[n]e-jn Step 4: obtain finite duration sequence h[n] from hd[n] as 0nM h[n] = hd[n]w[n], 0, otherwise where w[n] is a selective window function to meet the attenuation requirement, so H(ej) = [1/2] - Hd(ej)W(ej())d Step 5: verify the result. If it does not meet requirement, return to step 4 by reselection of window width (M) and/or type (w[n] ).
Filter Type
Ideal Impulse Response, hd[n] hd[n], n 0 hd[0] 2fc[sin((n-M/2)c)/(n-M/2)c] -2fc[sin((n-M/2)c)/(n-M/2c] 2f2[sin((n-M/2)2)/(n-M/2)2] - 2f1[sin((n-M/2)1)/(n-M/2)1] 2f1[sin((n-M/2)1)/(n-M/2)1] - 2f2[sin((n-M/2)2)/(n-M/2)2] 2fc 1-2fc 2(f2 f1) 1-2(f2 - f1)
Where fc, f1 and f2 are passband or stopband edge frequencies, and M is the filter length.
Consider the lowpass digital filter specifications: 0.99 |H(ej)| 1.01, || 0.4, 0.6 || . |H(ej)| 0.001, Using the design formulas for the Kaiser window to design an FIR lowpass filter to meet prescribed specifications.
First, we set = 0.001. Next, the cutoff frequency of the ideal lowpass filter is c = (p + s)/2 = 0.5 . To determine the parameters of the Kaiser window, we first compute = s p = 0.2 , A = -20log10 = 60. Then, = 5.653, M = 37. The impulse response of the filter is: h[n] = {sin(c[n-])/(n-)}{I0[(1-[(n-)/]2)1/2/I0()}, 0 n M, 0, otherwise. where = M/2 = 18.5
The Response Functions of Lowpass Filter for Kaiser Windows of = 5.653 and M = 37.
Impulse response
Log magnitude
Approximation error
Increasing the order of M may lead to more unsatisfactory result. Type II FIR linear-phase systems are generally not appropriate approximations for either highpass or bandstop filters.
Impulse response
Log magnitude
Approximation error
I0(.) is zero order modified Bessel function of the first kind, is window shape parameter.
= s p
Obtain the coefficients of an FIR lowpass filter to meet the specifications given below using the window method. passband edge frequency 1.5 kHz transition width 0.5 kHz stopband attenuation > 50 dB sampling frequency 8 kHz
We select hd[n] for lowpass filter which is given by: n M/2, hd[n] = 2fc[sin((n-M/2)c)]/[(n-M/2)c] = sin(nc)/n, n = M/2 2fc , From characteristics table, it indicates that only the Hamming, Blackman or Kaiser (b 4.54) windows will satisfy the stopband attenuation requirements. If we use the Hamming window for simplicity. f = 0.5k/8k = 0.0625 8/M = M = 64 And h[n] = hd[n]w[n], w[n] = 0.54 0.46cos(2n/M), 0 n M, 0, otherwise.
h[0] = h[64] h[1] = h[63] h[2] = h[62] h[3] = h[61] h[4] = h[60] h[5] = h[59] h[6] = h[58] h[30] = h[34] h[31] = h[33] h[32] = h[32]
= 0.06037 = 0.31150 =1
Where fc will be chosen to the center of the transition band = fc + f/2 = [1.5k + 0.5k/2]/8k = 0.21875
Design an FIR digital filter to meet the following specifications: passband 150~250 Hz transition width 50 Hz passband ripple 0.1 dB stopband attenuation 60 dB sampling frequency 1 kHz Obtain the filter coefficients using the window method.
Compare the ripples: 20log10(1 + p) = 0.1 dB p = 0.0115 and -20log10s = 60 dB ds = 0.001 < p Thus = min(p , s) = 0.001 A = -20log10 = 60 dB The attenuation requirements (60 dB) can only be met by the Kaiser or the Blackman window. If we select the Kaiser window, the number of coefficients is M = (A 8)/(2.285) = 72.44 M = 73, and b = 0.1102(A 8.7) = 5.65. where f = 50/1k = 0.05 .
When we select the Blackman window: = 12/M M = 120 It is clearly that the complexity of the designed filter using the Blackman window is nearly 2 times greater than that using the Kaiser window.
Simplicity
Lack of flexibility
It is simple to apply and simple to understand. It involves a minimum amount of computational effort, even for the more complicated Kaiser window. Both the peak passband and stopband ripples are approximately equal, so that the designer may end up with either too small a passband ripple or too large a stopband attenuation.
Unprecision
Because of the effect of convolution of the spectrum of the window function and the desired response, the passband and stopband edge frequencies cannot be precisely specified. For a given window (except the Kaiser) the maximum ripple amplitude in the filter response is fixed regardless of how large we make N. Thus the stopband attenuation for a given window is fixed. Thus, for a given attenuation specification, the filter designer must find a suitable window.
Lack of capability
In some applications, the expression for the desired filter response, Hd(), will be too complicated for hd[n] to be obtained analytically. In these cases hd[n] may be obtained via the frequency sampling method before the window function is applied.
Consider a lowpass FIR filter with the following specifications: passband 0-5 kHz sampling frequency 18 kHz filter length 9 Obtain the filter coefficients using the frequency sampling method.
The frequency samples are taken at intervals of kFs/N, that is at intervals of 18/9 = 2 kHz. Thus the frequency samples are given by |H[k]| = 1 at k = 0, 1, 2 = 0 at k = 3, 4 Because N is even, then: h[0] = h[8] = 7.2522627x10-2 h[1] = h[7] = -1.1111111x10-1 h[2] = h[6] = -5.9120987x10-2 h[3] = h[5] = 3.1993169x10-1 h[4] = 5.5555556x10-1.
(a) Ideal frequency response showing sampling points. (b) Frequency response of frequency sampling filter.
The 4 possible z-plane sampling grids for the 2 types of frequency sampling filters.
Determine the coefficients of a linear-phase FIR filter of length M = 15 which has a symmetric unit sample response and a frequency response that satisfies the conditions H[2k/15] = 1, k = 0, 1, 2, 3 0.4 , k=4 0, k = 5, 6, 7
Since h[n] is symmetric and the frequencies are selected to correspond to the case of Type I and because N is even h[0] = h[14] = -0.014112893 h[1] = h[13] = -0.001945309 h[2] = h[12] = 0.04000004 h[3] = h[11] = 0.01223454 h[4] = h[10] = -0.09138802 h[5] = h[9] = -0.01808986 h[6] = h[8] = 0.3133176 h[7] = 0.52
[E.C.Ifleachor, and B.W.Jervis,Digital Signal Processing: A Practical Approach, Addison Wesley, 1993,1994.]
For a lowpass filter, the stopband attenuation increases, approximately, by 20 dB for each transition band frequency sample [Rabiner et al., 1970], with a corresponding increase in the transition width: Approximate stopband attenuation (25 + 20M) dB Approximate transition width (M + 1)Fs/N where M is the number of transition band frequency samples and N is the filter length.
For one transition frequency sample: For two transition frequency samples: For three transition frequency samples: 0.250 < T1 < 0.450 0.040 < T1 < 0.150 0.450 < T2 < 0.650 0.003 < T1 < 0.035 0.100 < T2 < 0.300 0.550 < T3 < 0.750
Optimum transition band frequency samples for type I lowpass frequency sampling filters for N = 15 [adapted from Rabiner et al., 1970]
BW Stopband attenuation (dB) T1 T2 T3 One transition band frequency sample, N = 15 1 42.309 322 83 0.433 782 96 2 41.262 992 86 0.417 938 23 3 41.253 337 86 0.410 473 63 4 41.949 077 13 0.404 058 84 5 44.371 245 38 0.392 681 89 6 56.014 165 88 0.357 665 25 Two transition band frequency samples, N = 15 1 70.605 405 85 0.095 001 22 2 69.261 681 56 0.103 198 24 3 69.919 734 95 0.100 836 18 4 75.511 722 56 0.084 074 93 5 103.460 783 00 0.051 802 06 Three transition band frequency samples, N = 15 1 94.611 661 91 0.014 550 78 2 104.998 130 80 0.010 009 77 3 114.907 193 18 0.008 734 13 4 157.292 575 84 0.003 787 99
0.589 954 18 0.593 571 18 0.589 432 70 0.557 153 12 0.499 174 24 0.184 578 82 0.173 607 13 0.163 973 10 0.123 939 63 0.668 976 13 0.659 515 26 0.647 112 64 0.601 811 54
Frequency response of frequency sampling filter with (a) no transition band samples; (b) One transition band sample; (c) two transition band samples; (d) three transition Band samples.
Alternation Theorem
In the Chebyshev approximation approach, the amplitude response of a type I linear phase lowpass N-tap FIR filter is A(ej) = k=0r akcos(k) where r = (N+1)/2. The response A(ej) will be unique, best-weighted Chebyshev approximation to the desired response D(ej) iff the error function = W(ej)[D(ej) - A(ej)] exhibits at least r + 1 extrema at frequencies in both passband and stopband.
W(ej) is the weighting function in each band.
The frequencies at which extrema occur are called extremal frequencies. The maxima and minima alternate (hence, alternation theorem).
Calculate the optimum on extremal set Interpolate through (L+1) points to obtain Ae(ej) Calculate error E() and find local maxima where |E()| Yes
h[n]
y[n]
d[n] = [n] +
Windowing method
Most simplify method, and simple understandably conceptual design. Critical frequencies and/or ripples in frequency bands could not manipulated into the desired precision easily. Equally ripple in each frequency band. Technique may be selected as both recursive and non-recursive. Applicable to both typical and general filter types. Problem to manipulate band edge frequencies and passband ripple into the desired precision. All of parameters can be manipulated. Coefficient calculation method is easy and efficient. For the same value of M, the result in amplitude is the best. For some filter, i.e. Hilbert transformer, differentiator, this technique is more suitable for in comparable to another method.
Optimum method
If linear phase is required FIR If stability is required FIR (since it can be non-recursive technique) Finite word-length effect to FIR less than to IIR. If sharp cut-off frequencies are required FIR requires more coefficients, processing time, and memory size than IIR. (However, FFT algorithm or multirate technique may be used for FIR to compensate these disadvantages.) IIR can be used analog filter as prototype, but FIR can be synthesized more easily for any required frequency response. (However, in general, to synthesize FIR is required CAD because its algebraic design technique is very difficult.)