SlideShare a Scribd company logo
1 of 74
Download to read offline
‫ر‬َ‫ـد‬ْ‫ق‬‫ِـ‬‫ن‬،،،‫لما‬‫اننا‬ ‫نصدق‬ْْ‫ق‬ِ‫ن‬‫ر‬َ‫د‬
LECTURE (07)
Digital Filters
Assist. Prof. Amr E. Mohamed
Agenda
 Introduction
 Linear Time-Invariant Filters
 Recursive and non-Recursive Filters
 Filtering, Convolution and Correlation Operations
 Filter Structures
 Design of FIR Filters
 Design of Filterbanks
 Design of IIR Filters
 Issues in the Design and Implementation of a Digital Filter
2
Introduction
 Filters are a basic component of all signal processing and
telecommunication systems.
 Filters are widely employed in signal processing and communication
systems in applications such as channel equalization, noise
reduction, radar, audio processing, video processing, biomedical
signal processing, and analysis of economic and financial data.
 The primary functions of filters are one of the followings:
 To confine a signal into a prescribed frequency band as in low-pass,
high-pass, and band-pass filters.
 To decompose a signal into two or more sub-bands as in filter-banks,
graphic equalizers, sub-band coders, frequency multiplexers.
 To modify the frequency spectrum of a signal as in telephone channel
equalization and audio graphic equalizers.
 To model the input-output relationship of a system such as
telecommunication channels, human vocal tract, and music synthesizers.
3
Linear Time-Invariant Digital Filters
 Linear time-invariant (LTI) filters are a class of filters whose output is a
linear combination of the input signal samples and whose
coefficients do not vary with time.
 The linear property ≡ the principle of superposition.
 The time-invariant implies that the filter coefficients and hence its
frequency response is fixed and does not vary with time.
 In the time domain the input-output relationship of a discrete-time
linear filter is given by the following linear difference equation:
 

M
k
k
N
k
k knxbknyany
01
)()()(
4
Linear Time-Invariant Digital Filters (Cont.)
 Where {𝑎 𝑘 , 𝑏 𝑘} are the filter coefficients, and the output 𝑦(𝑛) is a linear
combination of the previous 𝑁 output samples [𝑦(𝑛 − 1), … , 𝑦(𝑛 − 𝑁)], the present
input sample 𝑥(𝑛) and the previous 𝑀 input samples [𝑥(𝑛 − 1), … , 𝑥(𝑛 − 𝑀)].
 The characteristic of a filter is completely determined by its coefficients
{𝑎 𝑘 , 𝑏 𝑘}.
 For a time-invariant filter the coefficients {𝑎 𝑘 , 𝑏 𝑘} are constants calculated
to obtain a specified frequency response.
 

M
k
k
N
k
k knxbknyany
01
)()()(
5
Linear Time-Invariant Digital Filters (Cont.)
 The filter transfer function, obtained by taking the z-transform of
the general difference equation, is given by:
𝐻 𝑧 =
𝑘=1
𝑀
𝑏 𝑘 𝑧−𝑘
1 + 𝑘=1
𝑁
𝑎 𝑘 𝑧−𝑘
 The frequency response of this filter can be obtained from by
substituting the frequency variable 𝑒 𝑗𝜔
for the 𝑧 variable, 𝑧 = 𝑒 𝑗𝜔
, as
𝐻 𝑒 𝑗𝜔 =
𝑘=1
𝑀
𝑏 𝑘 𝑒−𝑗𝜔𝑘
1 + 𝑘=1
𝑁
𝑎 𝑘 𝑒−𝑗𝜔𝑘
6
Linear Time-Invariant Digital Filters (Cont.)
 The transfer function of the LTI filter is the ratio of two polynomials in
the variable 𝑧 and may be written in a cascade form as
𝐻 𝑧 = 𝐻1(𝑧)𝐻2(𝑧)
 where 𝐻1(𝑧) is the transfer function of a feed-forward, all-zero, filter
given by
𝐻1 𝑧 =
𝑘=1
𝑀
𝑏 𝑘 𝑧−𝑘
 and 𝐻2(𝑧) is the transfer function of a feedback, all-pole, recursive
filter given by
𝐻2 𝑧 =
1
1 + 𝑘=1
𝑁
𝑎 𝑘 𝑧−𝑘
7
Linear Time-Invariant Digital Filters (Cont.)
 Filter Order
 The order of a discrete-time filter is the highest discrete-time delay used in
the input-output equation of the filter.
 For Example, For the following Equations
 the filter order is the larger of the values of N or M.
 For continuous-time filters the filter order is the order of the highest
differential term used in the input-output equation of the filter.
 

M
k
k
N
k
k knxbknyany
01
)()()(
8
Linear Time-Invariant Digital Filters (Cont.)
 The block diagram
implementation of the
linear time-invariant
filter.
9
Non-Recursive or Finite Impulse Response (FIR) Filters
 A non-recursive filter has no feedback and its input-output relation is given by
𝑦 𝑛 =
𝑘=0
𝑀
𝑏 𝑘 𝑥(𝑛 − 𝑘)
 The output y(n) of a non-recursive filter is a function only of the input signal x(m).
 The response of such a filter to an impulse consists of a finite sequence of M+1 samples,
where M is the filter order.
 Hence, the filter is known as a Finite-Duration Impulse Response (FIR) filter.
 Other names for a non-recursive filter include all-zero filter, feed-forward filter or
moving average (MA) filter a term usually used in statistical signal processing literature.
10
Recursive or Infinite Impulse Response (IIR) Filters
 A recursive filter has feedback from output to input, and in general its output is a
function of the previous output samples and the present and past input
samples as described by the following equation:
𝑦 𝑛 =
𝑘=0
𝑀
𝑏 𝑘 𝑥(𝑛 − 𝑘) −
𝑘=1
𝑁
𝑎 𝑘 𝑦(𝑛 − 𝑘)
 In theory, when a recursive filter is excited by an impulse, the output persists
forever.
 Thus a recursive filter is also known as an Infinite Duration Impulse Response (IIR)
filter.
 Other names for an IIR filter include feedback filters, pole-zero filters and auto-
regressive-moving-average (ARMA) filter a term usually used in statistical signal
processing literature.
 It has a number of poles corresponding to the roots of the denominator polynomial and
it may also have a number of zeros corresponding to the roots of the numerator
polynomial.
11
FIR vs IIR
 The main difference between IIR filters and FIR filters is that
 An IIR filter is more compact in that it can usually achieve a prescribed
frequency response with a smaller number of coefficients than an FIR filter.
A smaller number of filter coefficients imply less storage requirements and
faster calculation and a higher throughput. Therefore, generally IIR filters
are more efficient in memory and computational requirements than FIR
filters.
 However, it must be noted that an FIR filter is always stable, whereas an IIR
filter can become unstable (for example if the poles of the IIR filter are
outside the unit circle) and care must be taken in design of IIR filters to
ensure stability.
 Also, All IIR filter have Non-Linear Phase, while the FIR can be designed to
be Linear Phase filter or Non-Linear Phase.
12
Filter Structures: Direct, Cascade
and Parallel Forms
13
 Discussed: How to design digital filters
 How do you implement them in practice?
 In a double-precision floating-point world – no problem
 No constraints simple architecture is possible
14
Introduction
||||,
1
)( 1
1
10
az
az
zbb
zH 


 

)1()()( 10  nuabnuabnh nn
)1()()1()( 10  nxbnxbnayny
)1()()1()( 10  nxbnxbnayny Computable
Noncomputable
15
 Discussed: How to design digital filters
 How do you implement them in practice?
 In a double-precision floating-point world – no problem
 No constraints: simple architecture is possible
 Example:
Basic Operations
 Addition
 Multiplication
 Delay
+
x1(n)
x2(n)
x1(n) + x2(n)
x(n)
a ax(n)
x(n)
x(n1)z1
16
Example
x(n) +
+
b
a1
z1
z1
a2
y(n)
y(n1)
y(n2)
17
)()2()1()( 21 nbxnyanyany  Constraints:
 speed constraints
 power constraints
 Reduce total number of operations
 In particular, multiplications might
take longer than additions & takes
more power reduce their number
 Fixed-point arithmetic takes
 much less area cheaper, faster
 The area of a fixed-point parallel
multiplier is proportional to the
product of the coefficient and data
wordlengths
 reduce data or coefficient wordlengths
Higher-Order Difference Equations
 

M
k
k
N
k
k knxbknyany
01
)()()(







 N
k
k
k
M
k
k
k
za
zb
zH
1
1
1
)(
 

M
k
k
N
k
k knxbknyany
01
)()()(
18
Block Diagram Representation (Direct Form I)
 

M
k
k
N
k
k knxbknyany
01
)()()(
+
z1
z1
+
z1
+
b0
b1
bM1
bM
x(n)
x(n1)
x(n2)
x(nM)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
y(n1)
y(n2)
y(nM)
v(n)
19
Block Diagram Representation (Direct Form I)
+
z1
z1
+
z1
+
b0
b1
bM1
bM
x(n)
x(n1)
x(n2)
x(nM)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
y(n1)
y(n2)
y(nM)
v(n)



M
k
k
k zbzH
0
1 )(



 N
k
k
k za
zH
1
2
1
1
)(
Implementing
zeros
Implementing
poles
20
Block Diagram Representation (Direct Form I)
+
z1
z1
+
z1
+
b0
b1
bM1
bM
x(n)
x(n1)
x(n2)
x(nM)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
y(n1)
y(n2)
y(nM)
v(n)



M
k
k
k zbzH
0
1 )(



 N
k
k
k za
zH
1
2
1
1
)(

























N
k
k
k
M
k
k
k
za
zbzHzHzH
1
0
21
1
1
)()()(
21
Block Diagram Representation (Direct Form I)
+
z1
z1
+
z1
+
b0
b1
bM1
bM
x(n)
x(n1)
x(n2)
x(nM)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
y(n1)
y(n2)
y(nM)
v(n)
How many Adders?
How many multipliers?
How many delays?
22
Block Diagram Representation (Direct Form I)
 The direct-form structure provides a convenient method for the
implementation of FIR filters. However, for IIR filters the direct-
form implementation is not normally used due to problems with
the design and operational stability of direct-form IIR filters.
23
Block Diagram Representation (Direct Form II)
+
z1
z1
+
z1
+
b0
b1
bN1
bN
x(n)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
w(n1)
w(n2)
w(nN)
w(n)
Assume
M = N
24
Block Diagram Representation (Direct Form II)
+
z1
z1
+
z1
+
b0
b1
bN1
bN
x(n)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
w(n1)
w(n2)
w(nN)
w(n)
Assume
M = N
)()()(
1
nxknwanw
N
k
k  
)()()(
0
nwknxbny
M
k
k  



M
k
k
k zbzH
0
1 )(


 N
k
k
k za
zH
1
2
1
1
)(
25
Block Diagram Representation (Direct Form II)
+
z1
z1
+
z1
+
b0
b1
bN1
bN
x(n)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
w(n1)
w(n2)
w(nN)
w(n)
Assume
M = N



M
k
k
k zbzH
0
1 )(


 N
k
k
k za
zH
1
2
1
1
)( 


















 
 



M
k
k
kN
k
k
k
zb
za
zHzHzH
0
1
12
1
1
)()()(
Implementing
poles
Implementing
zeros
26
Block Diagram Representation (Direct Form II)
+
z1
z1
+
z1
+
b0
b1
bN1
bN
x(n)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
w(n1)
w(n2)
w(nN)
w(n)
Assume
M = N
How many Adders?
How many multipliers?
How many delays?
27
Block Diagram Representation (Canonic Direct Form)
+
+
+
b0
b1
bN1
bN
x(n)
+
z1
z1
+
z1
+
a1
aN1
aN
y(n)
Assume
M = N
How many Adders?
How many multipliers?
How many delays? Max (M,N)
28
Parallel Filter Structure
 An alternative to the cascade implementation described in the previous
section is to express the filter transfer function H(z), using the partial
fraction method, in a parallel form as parallel sum of a number of
second order and first order terms as
 where in general the filter is assumed to have 𝑁1 complex conjugate
poles, 𝑁1 real zeros, and 𝑁2 real poles and 𝐾 is a constant.
29
 









21
1
1
1
2
2
1
1
1
10
11
)(
N
k k
k
N
k kk
kk
za
e
zaza
zee
KzH







 N
k
k
k
M
k
k
k
za
zb
zH
1
1
1
)(




21
1
)()(
NN
k
k zHKzH
Parallel Filter Structure (Cont.)
30
Example 3: Parallel Structure of IIR Filter
 Consider the following transfer function
 Partial fraction expansion leads to
 parallel structure with 3 branches
31
Example 4: Parallel Structure of IIR Filter
 Consider the following transfer function
 The denominator admits 3 roots: 0.0655 ± 0.5755j and 0.0492
 Recombine the two conjugate roots and by partial fraction expansion
32
General Procedure to Obtain a Parallel Structure
 Decompose 𝐻(𝑧) using a partial fraction expansion
 Combine any pair of complex conjugate poles to obtain real-valued
elements 𝐻𝑖(𝑧)
 Optional: Combine such elements further if beneficial
 Remark: Typically we limit ourselves to second-order sections
33
Main Characteristics of the Parallel Structure
 Simple to implement
 Sometimes has an advantage over the cascade realization in terms of
internally generated quantization noise, not much though (no
amplification of errors over various stages).
 Errors of coefficient quantization of 𝐻𝑖(𝑧) affects zeros of 𝐻(𝑧) longer
coefficient wordlengths required to ensure stability.
 Zeros on the unit circle in the overall transfer function are not
preserved no saving of multipliers can be obtained for filters having
such zeros.
34
Cascade Filter Structure
 The cascade implementation of a filter is obtained by expressing
the filter transfer function H(z) in a factorized form as
 where G is the filter gain and the poles (𝑝 𝑘 𝑠) and zeros (𝑧 𝑘 𝑠) are either
complex conjugate pairs or real-valued.
35







 N
k
k
k
M
k
k
k
za
zb
zH
1
1
1
)(










 21
21
1
1*11
1
1
1*11
1
)1)(1()1(
)1)(1()1(
)( N
k
kk
N
k
k
M
k
kk
M
k
k
zpzpzp
zzzzzz
GzH
Cascade Filter Structure (Cont.)
 Each bracketed term in the previous Equation is the z-transfer function
of a first or second order IIR filter:
𝐻1 𝑧 = 𝐺
𝑘=1
𝐾
𝐻 𝑘 𝑧
36
2nd Order
System
2nd Order
System
1st Order
System
1st Order
System
Cascade Filter Structure (Cont.)
 Realization of an IIR cascade structure from second order sections.
37
Example 1: Cascade Structure
 The following transfer function was considered
 Decompose as
 cascade structure with 2 sections
38
Example 2: Cascade Structure
 Consider the following transfer function
 The denominator admits 3 roots: 0.0655 ± 0.5755j and 0.0492
 Recombine the two conjugate roots and decompose
 cascade structure with 2 sections
39
General Procedure to Obtain Cascade Structure
 Compute the poles and zeros of 𝐻(𝑧)
 Combine any pair of complex conjugate poles to obtain real-valued
elements 𝐻𝑖(𝑧)
 Optional: Combine such elements further if beneficial
 Remark: Typically we limit ourselves to second-order sections
40
Sensitivity to coefficient quantisation
 The filter coefficients are quantized
 errors in coefficient value cause errors in pole and zero positions and,
hence, filter response
 Example: Consider a filter with four poles at z = - 0.9 (close to unit
circle but stable)
41
Example: Sensitivity to coefficient quantisation
 Direct form filter would have the following denominator polynomial in
its transfer function:
 Cascade of four first-order sections:
 Assume an error of -0.06
 Direct: error -0.06 to the third coefficient, i.e. 4.86 → 4.8 roots of the
resulting polynomial are -1.5077, -0.7775 ± 0.4533j, -0.5372 Filter unstable!
 Cascade: error -0.06 to 0.9, i.e. 0.9 → 0.84 Not big deal!
 Cascade has much lower sensitivity to coefficient quantization smaller
change, only one root affected
42
Useful Tips
 Each complex root, with its inevitable conjugate, can be implemented
by a single second-order section
 Consider a root at 𝑟𝑒 𝑗𝜔 and its conjugate 𝑟𝑒−𝑗𝜔
 the real-coefficient second-order polynomial
 If interested in placing zeros
 If interested in placing poles
43
Filters with Zeros on the Unit Circle
 Many filters (FIR and IIR) have zeros on the unit circle
 Biquadratic section with 𝑟𝑒 𝑗𝜔 and its conjugate 𝑟𝑒−𝑗𝜔
 no multiplication required - very used in practice
 Implementing a high-order filter with many zeros on the unit circle as a
cascade of biquadratic sections requires fewer total multiplications
than a direct form implementation
44
Linear Phase FIR Filters
45
Linear Phase FIR Filters
 It takes a finite time before the input to a filter propagates through the
filter and appears at the output. A delay of T seconds in time domain
appears as a phase change of 𝑒−𝑗2𝜋𝑇
in frequency domain. The time
delay, or phase change, caused by a filter depends on the type of the
filter (e.g. linear/nonlinear, FIR/IIR) and its impulse response.
 An FIR filter of order M, with M+1 coefficients, has a time delay
of M/2 samples.
 A theorem: “if h(n) represents the impulse response of a discrete time
system, a necessary and sufficient condition for linear phase is that
h(n) have finite duration N, and that it is symmetric about its
midpoint”.
 For a causal FIR filter whose impulse response begins at zero and ends
at N-1, h(n) satisfies
ℎ(𝑛) = ℎ(𝑁 − 1 − 𝑛) 𝑓𝑜𝑟 𝑛 = 0, 1, 2, … , 𝑁 − 1
46
Linear Phase FIR Filters (Cont.)
47
ℎ(𝑛) = ℎ(𝑁 − 1 − 𝑛) 𝑓𝑜𝑟 𝑛 = 0, 1, 2, … , 𝑁 − 1
Linear Phase FIR Filters (Cont.)
 For the case where N is even,
 Let m= N-1-n in the second sum, gives:
48
Linear Phase FIR Filters (Cont.)
 But from symmetry, h(N-1-m) = h(m), and the summation can be reversed to give
49
Linear Phase FIR Filters (Cont.)
 For N an odd number, a similar derivation leads to:
50
Finite-Precision Number
Representation and Quantization
51
Finite-Precision Number Representation
 In a computer, numbers are represented as combinations of a finite
number of binary digits, or bits that take values of 0 and 1
 Bits are usually organized into bytes containing 8 bits or words (16 bits,
32 bits)
 Two forms are used to represent numbers on a digital computer:
 fixed-point
 floating-point
52
Fixed-point representation
 The magnitude of the number is expressed in powers of 2, with the
binary point separating positive and negative exponents B bits number
representation, value (B,A)
 Number range
 Example: a B = 12 bit number with A = 2 bits before the binary point is
in the range -2048/1024 to +2047/1024 inclusive
 All values are quantised to integer multiples of the LSB
53
Overflow
 If the result of any calculation in the filter exceeds its number range
overflow occurs.
 By default, a value slightly greater than the maximum representable
positive number becomes a large negative number, and vice versa.
 This is called wraparound; the resulting error is huge.
 In IIR filters it can result in very large amplitude "overflow oscillations".
54
Strategies to avoid overflow
 Two strategies exist
 scaling - to ensure that values can never (or hardly ever) overflow
 saturation arithmetic - to ensure that if overflow occurs its effects are
greatly reduced
55
Saturation arithmetic
 First, the results of all calculations are to full precision.
 For example, the addition of 2 (B,A) values results in a (B +1,A +1) value;
the multiplication of a (B,A) value by a (C,D) value results in a (B+C-1,A+D-
1) value.
 Then, the higher order bits of the true result are processed to detect
overflow.
 • If overflow occurs, the maximum possible positive
 value or minimum possible negative value is returned
56
Saturation arithmetic (Cont.)
 Instead of merely masking the true result to a (B,A), overflow is
detected and the maximum possible positive value or minimum possible
negative value is returned.
 Some DSP ICs incorporate saturation arithmetic hardware
57
Scaling
 Assume that the input to a filter is bounded by 𝑥(𝑛) < 𝐶
 Then its output is bounded by
 where ℎ(𝑘) is its impulse response
 𝑘=−∞
∞
ℎ(𝑘) is known as the 𝑙1 𝑛𝑜𝑟𝑚 of the filter impulse response,
easy to compute numerically
58
𝑙1scaling
 Bounded input bounded output
𝑥(𝑛) < 𝐶  𝑘=−∞
∞
ℎ(𝑘)
 If the maximum permissible output magnitude is D, overflow cannot
occur provided we scale the output by
𝐷
𝑘=−∞
∞
ℎ(𝑘)
 However if we reduce the magnitude of signals,
 The ratio of signal power to quantization noise power becomes smaller
 Scaling worsens the noise performance of the filter
59
Alternative scaling
 The input signal which gives rise to the largest possible output is
unlikely to occur in practice, so a less conservative scaling approach is
often used
 𝑙2 scaling
 frequency – response scaling
 For both saturation arithmetic is still needed as overflow is still possible
60
𝑙2 scaling
 Choose less conservative scaling based on the scale factor
𝐷
𝐶 𝑘=−∞
∞
ℎ(𝑘)
 which is the root mean square impulse response and this is known as 𝑙2
scaling
61
Frequency-response scaling
 Suppose frequency response of the filter is 𝐺(𝑒 𝑗𝜔
)
 a sine wave of frequency ω and peak amplitude 𝐶 at the input
 gives a sine wave of peak amplitude 𝐶 𝐺(𝑒 𝑗𝜔
) at the output
 To prevent overflow of a single sine wave use scaling factor
𝐷
𝐶 max
𝜔
𝐺(𝑒 𝑗𝜔)
62
Application of scaling to cascade and parallel realizations
 At each step, you must compute the impulse response or frequency
response from the input of the overall filter to the point of interest,
taking account of all scaling already included up to that point.
 The scaling at section inputs may implemented using simple binary
shifts (by using the next smaller power of 2), or by incorporating it into
the FIR coefficient scaling of the preceding section.
 For a parallel realization, scaling is computed independently for each
section, but all section outputs must be scaled by the same amount, so
the overall scaling of each section must be made the same.
 Finally scaling is applied to the final adder(s) which add together the
outputs of the parallel sections.
63
Roundoff (quantization) noise generation
 The output of a multiplier has more bits than its inputs (for example, a
16 by 16 two's complement multiplier outputs a 31-bit two's
complement value).
 To store the output it has to be (re)quantized (low order bits have to be
thrown away)
 An error called quantization noise or roundoff noise is added at that point
 The noise variance at the multiplier output, assuming rounding is used,
is 𝑞2 /12, where 𝑞 is the LSB size after quantization. (The same as for
quantization of analogue signals.)
64
Roundoff (quantisation) noise assumptions
 It is often assumed that the quantization noise at each multiplier output
is white (independent from sample to sample).
 It is also assumed that it is independent between multipliers, so that
the noise variances ("powers") add.
 (The assumption of whiteness is actually a very poor model if the signal
is narrowband, but it is reasonable for large amplitude wideband
signals. The assumption of independence can also be a poor model.)
65
Roundoff (quantisation) noise in FIR and IIR filters
 As a result:
 The quantization noise from the multipliers of an FIR filter therefore
adds white noise directly to the output signal
 In IIR filters, the white quantization noise from the feedback
multipliers filter is fed to the input of the filter, so the resulting noise
spectrum at the filter output is coloured. Its spectrum is proportional
to the square of the filter's frequency response magnitude.
66
Roundoff (quantisation) noise
 Roundoff noise level is affected by data wordlengths, filter response,
filter structure and (to an extent) by section ordering in cascade
structures.
 Further details are in specialist texts.
 Remark. DSP ICs, and some VLSI filters, provide an accumulator store of
longer wordlength than the data wordlength (e.g. a 32-bit accumulator
for a 16-bit DSP). The multiplier outputs are accumulated at the longer
wordlength, and then the accumulator output is only quantized once.
This approach significantly reduces roundoff noise.
67
Limit cycles
 Zero-input limit cycles are self-sustaining oscillations, caused by the rounding
of the results of computations.
 Example: consider the second-order filter
 This is a stable second order IIR filter with complex poles at 𝑗0.9.
 If rounding to the nearest LSB is used at the output of the multiplier, then when 𝑦(𝑛
− 2) = ±1; ± 2; ± 3; or ± 4𝐿𝑆𝐵, the computation 0.9𝑦(𝑛 − 2) will give the result
± 1; ± 2; ± 3; 𝑜𝑟 ± 4𝐿𝑆𝐵 respectively.
 Hence a limit cycle of the form 𝑦(𝑛) = 4; 0; −4; 0; 4; 0; −4; 0 (or the same pattern
with 3,2, or 1) may occur.
 Effectively, the reason is that the rounding non-linearity has increased the feedback
gain to 1, turning the system into an oscillator. 68
Limit cycles
 Limit cycles are troublesome in some applications, especially with short
data wordlengths, where the limit cycle may be relatively large. With
the longer wordlengths of DSP ICs, it is often possible to ignore limit
cycles.
 Solutions:
 One solution is to quantize toward 0 (truncation) instead of rounding the
multiplier output. But the extra roundoff noise due to truncation may
require the data wordlength to be increased by 1 or 2 bits.
 Another solution is to use certain forms of digital filters (such as Wave
filters) which do not support limit cycles. However these are
computationally more expensive.
69
Deadbands
 Consider a simple digital low-pass filter such as is commonly used for smoothing:
𝑦 𝑛 = 𝑦 𝑛 − 1 + 𝛼 𝑥 𝑛 − 𝑦(𝑛 − 1) = 1 − 𝛼 𝑦 𝑛 − 1 + 𝛼𝑥(𝑛)
 The transfer function is
𝐻 𝑧 =
𝛼
1 − (1 − 𝛼)𝑧−1
 This has unit gain at zero frequency (z = 1), and a pole at 1 – α.
 The time constant is approximately 1/α samples, for α<<1
 If 𝛼 𝑥 𝑛 − 𝑦(𝑛 − 1) < 0.5𝐿𝑆𝐵 then the multiplier output will round to zero, and
the filter output will therefore remain constant.
 Hence a constant output known as the deadband, arises. It can be up to (0.5/α)LSB
 If, for example, (1/α)=10000 to give a time constant of 10000 samples, then the
size of the LSB of the internal arithmetic must be 5000 times smaller than the
permissible size of the deadband. This implies 13 extra bits (since 212 = 4096).
70
Coefficient quantization
 In a previous section we showed that the cascade form is much less
sensitive to coefficient quantization than a high order direct form filter.
 (This is also true of the parallel form.)
 If the filter has zeros on the unit circle and is implemented using a
second-order section, the cascade realization has the advantage that
these zeros stay on the unit circle (because a coefficient b2 = 1 is
unaffected by quantization), although their frequencies may be altered.
71
Coefficient quantization
 A traditional way to study the relative merits of different filter
structures was to analyze the sensitivity of the frequency response
magnitude to random (often Gaussian) perturbations of the coefficients,
and to use this as a measure of the likely sensitivity of a given structure
to coefficient quantization.
 Various structures, including Lattice and Wave filters, give even lower
sensitivity to coefficient quantization than the cascade realization.
 However, they generally require a substantially increased number of
multipliers. For a specific filter design, you should compute the actual
filter response with quantized coefficients, and then modify it if
necessary.
72
Coefficient quantization
 In dedicated hardware, such as custom ICs, where there are significant
benefits from reducing coefficient wordlengths, discrete optimization
can be used to search for the finite-wordlength filter with the closest
response to a given specification.
 Some discrete optimization algorithms, including Genetic Algorithms
and Simulated Annealing, are available in software libraries
73
74

More Related Content

What's hot

Nyquist criterion for distortion less baseband binary channel
Nyquist criterion for distortion less baseband binary channelNyquist criterion for distortion less baseband binary channel
Nyquist criterion for distortion less baseband binary channelPriyangaKR1
 
Fir filter design (windowing technique)
Fir filter design (windowing technique)Fir filter design (windowing technique)
Fir filter design (windowing technique)Bin Biny Bino
 
Fir filter design using windows
Fir filter design using windowsFir filter design using windows
Fir filter design using windowsSarang Joshi
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filtersop205
 
Discrete fourier transform
Discrete fourier transformDiscrete fourier transform
Discrete fourier transformMOHAMMAD AKRAM
 
Fast fourier transform
Fast fourier transformFast fourier transform
Fast fourier transformchitra raju
 
FM demodulation using PLL
FM demodulation using PLLFM demodulation using PLL
FM demodulation using PLLmpsrekha83
 
M ary psk modulation
M ary psk modulationM ary psk modulation
M ary psk modulationAhmed Diaa
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)Amr E. Mohamed
 
Discrete Time Fourier Transform
Discrete Time Fourier TransformDiscrete Time Fourier Transform
Discrete Time Fourier TransformWaqas Afzal
 
Digital Signal Processing
Digital Signal ProcessingDigital Signal Processing
Digital Signal ProcessingSandip Ladi
 
Frequency-Shift Keying
Frequency-Shift KeyingFrequency-Shift Keying
Frequency-Shift KeyingJessie Rama
 
Fm demodulation using zero crossing detector
Fm demodulation using zero crossing detectorFm demodulation using zero crossing detector
Fm demodulation using zero crossing detectormpsrekha83
 
Multirate digital signal processing
Multirate digital signal processingMultirate digital signal processing
Multirate digital signal processingMOHAN MOHAN
 

What's hot (20)

Nyquist criterion for distortion less baseband binary channel
Nyquist criterion for distortion less baseband binary channelNyquist criterion for distortion less baseband binary channel
Nyquist criterion for distortion less baseband binary channel
 
Sampling Theorem
Sampling TheoremSampling Theorem
Sampling Theorem
 
Fir filter design (windowing technique)
Fir filter design (windowing technique)Fir filter design (windowing technique)
Fir filter design (windowing technique)
 
Fir filter design using windows
Fir filter design using windowsFir filter design using windows
Fir filter design using windows
 
Design of FIR filters
Design of FIR filtersDesign of FIR filters
Design of FIR filters
 
Discrete fourier transform
Discrete fourier transformDiscrete fourier transform
Discrete fourier transform
 
Z transform ROC eng.Math
Z transform ROC eng.MathZ transform ROC eng.Math
Z transform ROC eng.Math
 
Butterworth filter
Butterworth filterButterworth filter
Butterworth filter
 
Fir filter_utkarsh_kulshrestha
Fir filter_utkarsh_kulshresthaFir filter_utkarsh_kulshrestha
Fir filter_utkarsh_kulshrestha
 
Fast fourier transform
Fast fourier transformFast fourier transform
Fast fourier transform
 
FM demodulation using PLL
FM demodulation using PLLFM demodulation using PLL
FM demodulation using PLL
 
Sampling
SamplingSampling
Sampling
 
digital filters
digital filtersdigital filters
digital filters
 
M ary psk modulation
M ary psk modulationM ary psk modulation
M ary psk modulation
 
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
DSP_FOEHU - MATLAB 04 - The Discrete Fourier Transform (DFT)
 
Discrete Time Fourier Transform
Discrete Time Fourier TransformDiscrete Time Fourier Transform
Discrete Time Fourier Transform
 
Digital Signal Processing
Digital Signal ProcessingDigital Signal Processing
Digital Signal Processing
 
Frequency-Shift Keying
Frequency-Shift KeyingFrequency-Shift Keying
Frequency-Shift Keying
 
Fm demodulation using zero crossing detector
Fm demodulation using zero crossing detectorFm demodulation using zero crossing detector
Fm demodulation using zero crossing detector
 
Multirate digital signal processing
Multirate digital signal processingMultirate digital signal processing
Multirate digital signal processing
 

Viewers also liked

DSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-TransformDSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-TransformAmr E. Mohamed
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsAmr E. Mohamed
 
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisDSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisAmr E. Mohamed
 
DSP_FOEHU - Lec 04 - Discrete-Time Signals and Systems
DSP_FOEHU - Lec 04 - Discrete-Time Signals and SystemsDSP_FOEHU - Lec 04 - Discrete-Time Signals and Systems
DSP_FOEHU - Lec 04 - Discrete-Time Signals and SystemsAmr E. Mohamed
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systemsAmr E. Mohamed
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsAmr E. Mohamed
 
DSP_FOEHU - Lec 06 - The z-Transform
DSP_FOEHU - Lec 06 - The z-TransformDSP_FOEHU - Lec 06 - The z-Transform
DSP_FOEHU - Lec 06 - The z-TransformAmr E. Mohamed
 
DSP_FOEHU - Lec 03 - Sampling of Continuous Time Signals
DSP_FOEHU - Lec 03 - Sampling of Continuous Time SignalsDSP_FOEHU - Lec 03 - Sampling of Continuous Time Signals
DSP_FOEHU - Lec 03 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
Dsp foehu lec 00 - digital signal processing
Dsp foehu   lec 00 - digital signal processingDsp foehu   lec 00 - digital signal processing
Dsp foehu lec 00 - digital signal processingAmr E. Mohamed
 
Modern Control - Lec 02 - Mathematical Modeling of Systems
Modern Control - Lec 02 - Mathematical Modeling of SystemsModern Control - Lec 02 - Mathematical Modeling of Systems
Modern Control - Lec 02 - Mathematical Modeling of SystemsAmr E. Mohamed
 
500 conectores
500 conectores500 conectores
500 conectoresASAMI SPA
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsAmr E. Mohamed
 
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Amr E. Mohamed
 
Modern Control - Lec 01 - Introduction to Control System
Modern Control - Lec 01 - Introduction to Control SystemModern Control - Lec 01 - Introduction to Control System
Modern Control - Lec 01 - Introduction to Control SystemAmr E. Mohamed
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingAmr E. Mohamed
 
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...Ishan Thakkar
 
Mp So C 18 Apr
Mp So C 18 AprMp So C 18 Apr
Mp So C 18 AprFNian
 
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...Ishan Thakkar
 

Viewers also liked (20)

DSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-TransformDSP_FOEHU - MATLAB 03 - The z-Transform
DSP_FOEHU - MATLAB 03 - The z-Transform
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
 
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisDSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
 
DSP_FOEHU - Lec 04 - Discrete-Time Signals and Systems
DSP_FOEHU - Lec 04 - Discrete-Time Signals and SystemsDSP_FOEHU - Lec 04 - Discrete-Time Signals and Systems
DSP_FOEHU - Lec 04 - Discrete-Time Signals and Systems
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systems
 
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and SystemsDSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
DSP_FOEHU - MATLAB 01 - Discrete Time Signals and Systems
 
DSP_FOEHU - Lec 06 - The z-Transform
DSP_FOEHU - Lec 06 - The z-TransformDSP_FOEHU - Lec 06 - The z-Transform
DSP_FOEHU - Lec 06 - The z-Transform
 
DSP_FOEHU - Lec 03 - Sampling of Continuous Time Signals
DSP_FOEHU - Lec 03 - Sampling of Continuous Time SignalsDSP_FOEHU - Lec 03 - Sampling of Continuous Time Signals
DSP_FOEHU - Lec 03 - Sampling of Continuous Time Signals
 
Dsp foehu lec 00 - digital signal processing
Dsp foehu   lec 00 - digital signal processingDsp foehu   lec 00 - digital signal processing
Dsp foehu lec 00 - digital signal processing
 
DSP 05 _ Sheet Five
DSP 05 _ Sheet FiveDSP 05 _ Sheet Five
DSP 05 _ Sheet Five
 
Modern Control - Lec 02 - Mathematical Modeling of Systems
Modern Control - Lec 02 - Mathematical Modeling of SystemsModern Control - Lec 02 - Mathematical Modeling of Systems
Modern Control - Lec 02 - Mathematical Modeling of Systems
 
500 conectores
500 conectores500 conectores
500 conectores
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
 
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
Modern Control - Lec 03 - Feedback Control Systems Performance and Characteri...
 
Modern Control - Lec 01 - Introduction to Control System
Modern Control - Lec 01 - Introduction to Control SystemModern Control - Lec 01 - Introduction to Control System
Modern Control - Lec 01 - Introduction to Control System
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Mathematical Modeling Experimental Approach of the Friction on the Tool-Chip ...
Mathematical Modeling Experimental Approach of the Friction on the Tool-Chip ...Mathematical Modeling Experimental Approach of the Friction on the Tool-Chip ...
Mathematical Modeling Experimental Approach of the Friction on the Tool-Chip ...
 
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...
Massed Refresh: An Energy-Efficient Technique to Reduce Refresh Overhead in H...
 
Mp So C 18 Apr
Mp So C 18 AprMp So C 18 Apr
Mp So C 18 Apr
 
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...
Process Variation Aware Crosstalk Mitigation for DWDM based Photonic NoC Arch...
 

Similar to DSP_FOEHU - Lec 07 - Digital Filters

Dss
Dss Dss
Dss nil65
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersAmr E. Mohamed
 
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...ijsrd.com
 
Design and determination of optimum coefficients of iir digital highpass filt...
Design and determination of optimum coefficients of iir digital highpass filt...Design and determination of optimum coefficients of iir digital highpass filt...
Design and determination of optimum coefficients of iir digital highpass filt...Subhadeep Chakraborty
 
Discrete time signal processing unit-2
Discrete time signal processing unit-2Discrete time signal processing unit-2
Discrete time signal processing unit-2selvalakshmi24
 
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICDESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICVLSICS Design
 
Paper id 252014114
Paper id 252014114Paper id 252014114
Paper id 252014114IJRAT
 
Design of iir digital highpass butterworth filter using analog to digital map...
Design of iir digital highpass butterworth filter using analog to digital map...Design of iir digital highpass butterworth filter using analog to digital map...
Design of iir digital highpass butterworth filter using analog to digital map...Subhadeep Chakraborty
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Design of digital filters
Design of digital filtersDesign of digital filters
Design of digital filtersNaila Bibi
 
SignalDecompositionTheory.pptx
SignalDecompositionTheory.pptxSignalDecompositionTheory.pptx
SignalDecompositionTheory.pptxPriyankaDarshana
 
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMS
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMSFPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMS
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMSEditor IJMTER
 
Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...Subhadeep Chakraborty
 
Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...Subhadeep Chakraborty
 

Similar to DSP_FOEHU - Lec 07 - Digital Filters (20)

Dss
Dss Dss
Dss
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
 
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
Analysis of different FIR Filter Design Method in terms of Resource Utilizati...
 
dsp-1.pdf
dsp-1.pdfdsp-1.pdf
dsp-1.pdf
 
Design and determination of optimum coefficients of iir digital highpass filt...
Design and determination of optimum coefficients of iir digital highpass filt...Design and determination of optimum coefficients of iir digital highpass filt...
Design and determination of optimum coefficients of iir digital highpass filt...
 
Discrete time signal processing unit-2
Discrete time signal processing unit-2Discrete time signal processing unit-2
Discrete time signal processing unit-2
 
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGICDESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
DESIGN OF QUATERNARY LOGICAL CIRCUIT USING VOLTAGE AND CURRENT MODE LOGIC
 
J010325764
J010325764J010325764
J010325764
 
Digital Filters Part 1
Digital Filters Part 1Digital Filters Part 1
Digital Filters Part 1
 
E0162736
E0162736E0162736
E0162736
 
Paper id 252014114
Paper id 252014114Paper id 252014114
Paper id 252014114
 
Design of iir digital highpass butterworth filter using analog to digital map...
Design of iir digital highpass butterworth filter using analog to digital map...Design of iir digital highpass butterworth filter using analog to digital map...
Design of iir digital highpass butterworth filter using analog to digital map...
 
digital filter design
digital filter designdigital filter design
digital filter design
 
Dsp book ch15
Dsp book ch15Dsp book ch15
Dsp book ch15
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Design of digital filters
Design of digital filtersDesign of digital filters
Design of digital filters
 
SignalDecompositionTheory.pptx
SignalDecompositionTheory.pptxSignalDecompositionTheory.pptx
SignalDecompositionTheory.pptx
 
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMS
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMSFPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMS
FPGA IMPLEMENTATION OF NOISE CANCELLATION USING ADAPTIVE ALGORITHMS
 
Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...Design and realization of iir digital band stop filter using modified analog ...
Design and realization of iir digital band stop filter using modified analog ...
 
Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...Realization of high order iir digital bandstop filter using domain transfer a...
Realization of high order iir digital bandstop filter using domain transfer a...
 

More from Amr E. Mohamed

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingAmr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systemsAmr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transformAmr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systemsAmr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignAmr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal ProcessingDSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal ProcessingAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 0 - Course Outlines
DSP_2018_FOEHU - Lec 0 - Course OutlinesDSP_2018_FOEHU - Lec 0 - Course Outlines
DSP_2018_FOEHU - Lec 0 - Course OutlinesAmr E. Mohamed
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
 

More from Amr E. Mohamed (20)

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal ProcessingDSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
DSP_2018_FOEHU - Lec 1 - Introduction to Digital Signal Processing
 
DSP_2018_FOEHU - Lec 0 - Course Outlines
DSP_2018_FOEHU - Lec 0 - Course OutlinesDSP_2018_FOEHU - Lec 0 - Course Outlines
DSP_2018_FOEHU - Lec 0 - Course Outlines
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 

Recently uploaded

Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 

Recently uploaded (20)

Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 

DSP_FOEHU - Lec 07 - Digital Filters

  • 2. Agenda  Introduction  Linear Time-Invariant Filters  Recursive and non-Recursive Filters  Filtering, Convolution and Correlation Operations  Filter Structures  Design of FIR Filters  Design of Filterbanks  Design of IIR Filters  Issues in the Design and Implementation of a Digital Filter 2
  • 3. Introduction  Filters are a basic component of all signal processing and telecommunication systems.  Filters are widely employed in signal processing and communication systems in applications such as channel equalization, noise reduction, radar, audio processing, video processing, biomedical signal processing, and analysis of economic and financial data.  The primary functions of filters are one of the followings:  To confine a signal into a prescribed frequency band as in low-pass, high-pass, and band-pass filters.  To decompose a signal into two or more sub-bands as in filter-banks, graphic equalizers, sub-band coders, frequency multiplexers.  To modify the frequency spectrum of a signal as in telephone channel equalization and audio graphic equalizers.  To model the input-output relationship of a system such as telecommunication channels, human vocal tract, and music synthesizers. 3
  • 4. Linear Time-Invariant Digital Filters  Linear time-invariant (LTI) filters are a class of filters whose output is a linear combination of the input signal samples and whose coefficients do not vary with time.  The linear property ≡ the principle of superposition.  The time-invariant implies that the filter coefficients and hence its frequency response is fixed and does not vary with time.  In the time domain the input-output relationship of a discrete-time linear filter is given by the following linear difference equation:    M k k N k k knxbknyany 01 )()()( 4
  • 5. Linear Time-Invariant Digital Filters (Cont.)  Where {𝑎 𝑘 , 𝑏 𝑘} are the filter coefficients, and the output 𝑦(𝑛) is a linear combination of the previous 𝑁 output samples [𝑦(𝑛 − 1), … , 𝑦(𝑛 − 𝑁)], the present input sample 𝑥(𝑛) and the previous 𝑀 input samples [𝑥(𝑛 − 1), … , 𝑥(𝑛 − 𝑀)].  The characteristic of a filter is completely determined by its coefficients {𝑎 𝑘 , 𝑏 𝑘}.  For a time-invariant filter the coefficients {𝑎 𝑘 , 𝑏 𝑘} are constants calculated to obtain a specified frequency response.    M k k N k k knxbknyany 01 )()()( 5
  • 6. Linear Time-Invariant Digital Filters (Cont.)  The filter transfer function, obtained by taking the z-transform of the general difference equation, is given by: 𝐻 𝑧 = 𝑘=1 𝑀 𝑏 𝑘 𝑧−𝑘 1 + 𝑘=1 𝑁 𝑎 𝑘 𝑧−𝑘  The frequency response of this filter can be obtained from by substituting the frequency variable 𝑒 𝑗𝜔 for the 𝑧 variable, 𝑧 = 𝑒 𝑗𝜔 , as 𝐻 𝑒 𝑗𝜔 = 𝑘=1 𝑀 𝑏 𝑘 𝑒−𝑗𝜔𝑘 1 + 𝑘=1 𝑁 𝑎 𝑘 𝑒−𝑗𝜔𝑘 6
  • 7. Linear Time-Invariant Digital Filters (Cont.)  The transfer function of the LTI filter is the ratio of two polynomials in the variable 𝑧 and may be written in a cascade form as 𝐻 𝑧 = 𝐻1(𝑧)𝐻2(𝑧)  where 𝐻1(𝑧) is the transfer function of a feed-forward, all-zero, filter given by 𝐻1 𝑧 = 𝑘=1 𝑀 𝑏 𝑘 𝑧−𝑘  and 𝐻2(𝑧) is the transfer function of a feedback, all-pole, recursive filter given by 𝐻2 𝑧 = 1 1 + 𝑘=1 𝑁 𝑎 𝑘 𝑧−𝑘 7
  • 8. Linear Time-Invariant Digital Filters (Cont.)  Filter Order  The order of a discrete-time filter is the highest discrete-time delay used in the input-output equation of the filter.  For Example, For the following Equations  the filter order is the larger of the values of N or M.  For continuous-time filters the filter order is the order of the highest differential term used in the input-output equation of the filter.    M k k N k k knxbknyany 01 )()()( 8
  • 9. Linear Time-Invariant Digital Filters (Cont.)  The block diagram implementation of the linear time-invariant filter. 9
  • 10. Non-Recursive or Finite Impulse Response (FIR) Filters  A non-recursive filter has no feedback and its input-output relation is given by 𝑦 𝑛 = 𝑘=0 𝑀 𝑏 𝑘 𝑥(𝑛 − 𝑘)  The output y(n) of a non-recursive filter is a function only of the input signal x(m).  The response of such a filter to an impulse consists of a finite sequence of M+1 samples, where M is the filter order.  Hence, the filter is known as a Finite-Duration Impulse Response (FIR) filter.  Other names for a non-recursive filter include all-zero filter, feed-forward filter or moving average (MA) filter a term usually used in statistical signal processing literature. 10
  • 11. Recursive or Infinite Impulse Response (IIR) Filters  A recursive filter has feedback from output to input, and in general its output is a function of the previous output samples and the present and past input samples as described by the following equation: 𝑦 𝑛 = 𝑘=0 𝑀 𝑏 𝑘 𝑥(𝑛 − 𝑘) − 𝑘=1 𝑁 𝑎 𝑘 𝑦(𝑛 − 𝑘)  In theory, when a recursive filter is excited by an impulse, the output persists forever.  Thus a recursive filter is also known as an Infinite Duration Impulse Response (IIR) filter.  Other names for an IIR filter include feedback filters, pole-zero filters and auto- regressive-moving-average (ARMA) filter a term usually used in statistical signal processing literature.  It has a number of poles corresponding to the roots of the denominator polynomial and it may also have a number of zeros corresponding to the roots of the numerator polynomial. 11
  • 12. FIR vs IIR  The main difference between IIR filters and FIR filters is that  An IIR filter is more compact in that it can usually achieve a prescribed frequency response with a smaller number of coefficients than an FIR filter. A smaller number of filter coefficients imply less storage requirements and faster calculation and a higher throughput. Therefore, generally IIR filters are more efficient in memory and computational requirements than FIR filters.  However, it must be noted that an FIR filter is always stable, whereas an IIR filter can become unstable (for example if the poles of the IIR filter are outside the unit circle) and care must be taken in design of IIR filters to ensure stability.  Also, All IIR filter have Non-Linear Phase, while the FIR can be designed to be Linear Phase filter or Non-Linear Phase. 12
  • 13. Filter Structures: Direct, Cascade and Parallel Forms 13
  • 14.  Discussed: How to design digital filters  How do you implement them in practice?  In a double-precision floating-point world – no problem  No constraints simple architecture is possible 14
  • 15. Introduction ||||, 1 )( 1 1 10 az az zbb zH       )1()()( 10  nuabnuabnh nn )1()()1()( 10  nxbnxbnayny )1()()1()( 10  nxbnxbnayny Computable Noncomputable 15  Discussed: How to design digital filters  How do you implement them in practice?  In a double-precision floating-point world – no problem  No constraints: simple architecture is possible  Example:
  • 16. Basic Operations  Addition  Multiplication  Delay + x1(n) x2(n) x1(n) + x2(n) x(n) a ax(n) x(n) x(n1)z1 16
  • 17. Example x(n) + + b a1 z1 z1 a2 y(n) y(n1) y(n2) 17 )()2()1()( 21 nbxnyanyany  Constraints:  speed constraints  power constraints  Reduce total number of operations  In particular, multiplications might take longer than additions & takes more power reduce their number  Fixed-point arithmetic takes  much less area cheaper, faster  The area of a fixed-point parallel multiplier is proportional to the product of the coefficient and data wordlengths  reduce data or coefficient wordlengths
  • 18. Higher-Order Difference Equations    M k k N k k knxbknyany 01 )()()(         N k k k M k k k za zb zH 1 1 1 )(    M k k N k k knxbknyany 01 )()()( 18
  • 19. Block Diagram Representation (Direct Form I)    M k k N k k knxbknyany 01 )()()( + z1 z1 + z1 + b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) + z1 z1 + z1 + a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n) 19
  • 20. Block Diagram Representation (Direct Form I) + z1 z1 + z1 + b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) + z1 z1 + z1 + a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)    M k k k zbzH 0 1 )(     N k k k za zH 1 2 1 1 )( Implementing zeros Implementing poles 20
  • 21. Block Diagram Representation (Direct Form I) + z1 z1 + z1 + b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) + z1 z1 + z1 + a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n)    M k k k zbzH 0 1 )(     N k k k za zH 1 2 1 1 )(                          N k k k M k k k za zbzHzHzH 1 0 21 1 1 )()()( 21
  • 22. Block Diagram Representation (Direct Form I) + z1 z1 + z1 + b0 b1 bM1 bM x(n) x(n1) x(n2) x(nM) + z1 z1 + z1 + a1 aN1 aN y(n) y(n1) y(n2) y(nM) v(n) How many Adders? How many multipliers? How many delays? 22
  • 23. Block Diagram Representation (Direct Form I)  The direct-form structure provides a convenient method for the implementation of FIR filters. However, for IIR filters the direct- form implementation is not normally used due to problems with the design and operational stability of direct-form IIR filters. 23
  • 24. Block Diagram Representation (Direct Form II) + z1 z1 + z1 + b0 b1 bN1 bN x(n) + z1 z1 + z1 + a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N 24
  • 25. Block Diagram Representation (Direct Form II) + z1 z1 + z1 + b0 b1 bN1 bN x(n) + z1 z1 + z1 + a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N )()()( 1 nxknwanw N k k   )()()( 0 nwknxbny M k k      M k k k zbzH 0 1 )(    N k k k za zH 1 2 1 1 )( 25
  • 26. Block Diagram Representation (Direct Form II) + z1 z1 + z1 + b0 b1 bN1 bN x(n) + z1 z1 + z1 + a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N    M k k k zbzH 0 1 )(    N k k k za zH 1 2 1 1 )(                           M k k kN k k k zb za zHzHzH 0 1 12 1 1 )()()( Implementing poles Implementing zeros 26
  • 27. Block Diagram Representation (Direct Form II) + z1 z1 + z1 + b0 b1 bN1 bN x(n) + z1 z1 + z1 + a1 aN1 aN y(n) w(n1) w(n2) w(nN) w(n) Assume M = N How many Adders? How many multipliers? How many delays? 27
  • 28. Block Diagram Representation (Canonic Direct Form) + + + b0 b1 bN1 bN x(n) + z1 z1 + z1 + a1 aN1 aN y(n) Assume M = N How many Adders? How many multipliers? How many delays? Max (M,N) 28
  • 29. Parallel Filter Structure  An alternative to the cascade implementation described in the previous section is to express the filter transfer function H(z), using the partial fraction method, in a parallel form as parallel sum of a number of second order and first order terms as  where in general the filter is assumed to have 𝑁1 complex conjugate poles, 𝑁1 real zeros, and 𝑁2 real poles and 𝐾 is a constant. 29            21 1 1 1 2 2 1 1 1 10 11 )( N k k k N k kk kk za e zaza zee KzH         N k k k M k k k za zb zH 1 1 1 )(     21 1 )()( NN k k zHKzH
  • 31. Example 3: Parallel Structure of IIR Filter  Consider the following transfer function  Partial fraction expansion leads to  parallel structure with 3 branches 31
  • 32. Example 4: Parallel Structure of IIR Filter  Consider the following transfer function  The denominator admits 3 roots: 0.0655 ± 0.5755j and 0.0492  Recombine the two conjugate roots and by partial fraction expansion 32
  • 33. General Procedure to Obtain a Parallel Structure  Decompose 𝐻(𝑧) using a partial fraction expansion  Combine any pair of complex conjugate poles to obtain real-valued elements 𝐻𝑖(𝑧)  Optional: Combine such elements further if beneficial  Remark: Typically we limit ourselves to second-order sections 33
  • 34. Main Characteristics of the Parallel Structure  Simple to implement  Sometimes has an advantage over the cascade realization in terms of internally generated quantization noise, not much though (no amplification of errors over various stages).  Errors of coefficient quantization of 𝐻𝑖(𝑧) affects zeros of 𝐻(𝑧) longer coefficient wordlengths required to ensure stability.  Zeros on the unit circle in the overall transfer function are not preserved no saving of multipliers can be obtained for filters having such zeros. 34
  • 35. Cascade Filter Structure  The cascade implementation of a filter is obtained by expressing the filter transfer function H(z) in a factorized form as  where G is the filter gain and the poles (𝑝 𝑘 𝑠) and zeros (𝑧 𝑘 𝑠) are either complex conjugate pairs or real-valued. 35         N k k k M k k k za zb zH 1 1 1 )(            21 21 1 1*11 1 1 1*11 1 )1)(1()1( )1)(1()1( )( N k kk N k k M k kk M k k zpzpzp zzzzzz GzH
  • 36. Cascade Filter Structure (Cont.)  Each bracketed term in the previous Equation is the z-transfer function of a first or second order IIR filter: 𝐻1 𝑧 = 𝐺 𝑘=1 𝐾 𝐻 𝑘 𝑧 36 2nd Order System 2nd Order System 1st Order System 1st Order System
  • 37. Cascade Filter Structure (Cont.)  Realization of an IIR cascade structure from second order sections. 37
  • 38. Example 1: Cascade Structure  The following transfer function was considered  Decompose as  cascade structure with 2 sections 38
  • 39. Example 2: Cascade Structure  Consider the following transfer function  The denominator admits 3 roots: 0.0655 ± 0.5755j and 0.0492  Recombine the two conjugate roots and decompose  cascade structure with 2 sections 39
  • 40. General Procedure to Obtain Cascade Structure  Compute the poles and zeros of 𝐻(𝑧)  Combine any pair of complex conjugate poles to obtain real-valued elements 𝐻𝑖(𝑧)  Optional: Combine such elements further if beneficial  Remark: Typically we limit ourselves to second-order sections 40
  • 41. Sensitivity to coefficient quantisation  The filter coefficients are quantized  errors in coefficient value cause errors in pole and zero positions and, hence, filter response  Example: Consider a filter with four poles at z = - 0.9 (close to unit circle but stable) 41
  • 42. Example: Sensitivity to coefficient quantisation  Direct form filter would have the following denominator polynomial in its transfer function:  Cascade of four first-order sections:  Assume an error of -0.06  Direct: error -0.06 to the third coefficient, i.e. 4.86 → 4.8 roots of the resulting polynomial are -1.5077, -0.7775 ± 0.4533j, -0.5372 Filter unstable!  Cascade: error -0.06 to 0.9, i.e. 0.9 → 0.84 Not big deal!  Cascade has much lower sensitivity to coefficient quantization smaller change, only one root affected 42
  • 43. Useful Tips  Each complex root, with its inevitable conjugate, can be implemented by a single second-order section  Consider a root at 𝑟𝑒 𝑗𝜔 and its conjugate 𝑟𝑒−𝑗𝜔  the real-coefficient second-order polynomial  If interested in placing zeros  If interested in placing poles 43
  • 44. Filters with Zeros on the Unit Circle  Many filters (FIR and IIR) have zeros on the unit circle  Biquadratic section with 𝑟𝑒 𝑗𝜔 and its conjugate 𝑟𝑒−𝑗𝜔  no multiplication required - very used in practice  Implementing a high-order filter with many zeros on the unit circle as a cascade of biquadratic sections requires fewer total multiplications than a direct form implementation 44
  • 45. Linear Phase FIR Filters 45
  • 46. Linear Phase FIR Filters  It takes a finite time before the input to a filter propagates through the filter and appears at the output. A delay of T seconds in time domain appears as a phase change of 𝑒−𝑗2𝜋𝑇 in frequency domain. The time delay, or phase change, caused by a filter depends on the type of the filter (e.g. linear/nonlinear, FIR/IIR) and its impulse response.  An FIR filter of order M, with M+1 coefficients, has a time delay of M/2 samples.  A theorem: “if h(n) represents the impulse response of a discrete time system, a necessary and sufficient condition for linear phase is that h(n) have finite duration N, and that it is symmetric about its midpoint”.  For a causal FIR filter whose impulse response begins at zero and ends at N-1, h(n) satisfies ℎ(𝑛) = ℎ(𝑁 − 1 − 𝑛) 𝑓𝑜𝑟 𝑛 = 0, 1, 2, … , 𝑁 − 1 46
  • 47. Linear Phase FIR Filters (Cont.) 47 ℎ(𝑛) = ℎ(𝑁 − 1 − 𝑛) 𝑓𝑜𝑟 𝑛 = 0, 1, 2, … , 𝑁 − 1
  • 48. Linear Phase FIR Filters (Cont.)  For the case where N is even,  Let m= N-1-n in the second sum, gives: 48
  • 49. Linear Phase FIR Filters (Cont.)  But from symmetry, h(N-1-m) = h(m), and the summation can be reversed to give 49
  • 50. Linear Phase FIR Filters (Cont.)  For N an odd number, a similar derivation leads to: 50
  • 52. Finite-Precision Number Representation  In a computer, numbers are represented as combinations of a finite number of binary digits, or bits that take values of 0 and 1  Bits are usually organized into bytes containing 8 bits or words (16 bits, 32 bits)  Two forms are used to represent numbers on a digital computer:  fixed-point  floating-point 52
  • 53. Fixed-point representation  The magnitude of the number is expressed in powers of 2, with the binary point separating positive and negative exponents B bits number representation, value (B,A)  Number range  Example: a B = 12 bit number with A = 2 bits before the binary point is in the range -2048/1024 to +2047/1024 inclusive  All values are quantised to integer multiples of the LSB 53
  • 54. Overflow  If the result of any calculation in the filter exceeds its number range overflow occurs.  By default, a value slightly greater than the maximum representable positive number becomes a large negative number, and vice versa.  This is called wraparound; the resulting error is huge.  In IIR filters it can result in very large amplitude "overflow oscillations". 54
  • 55. Strategies to avoid overflow  Two strategies exist  scaling - to ensure that values can never (or hardly ever) overflow  saturation arithmetic - to ensure that if overflow occurs its effects are greatly reduced 55
  • 56. Saturation arithmetic  First, the results of all calculations are to full precision.  For example, the addition of 2 (B,A) values results in a (B +1,A +1) value; the multiplication of a (B,A) value by a (C,D) value results in a (B+C-1,A+D- 1) value.  Then, the higher order bits of the true result are processed to detect overflow.  • If overflow occurs, the maximum possible positive  value or minimum possible negative value is returned 56
  • 57. Saturation arithmetic (Cont.)  Instead of merely masking the true result to a (B,A), overflow is detected and the maximum possible positive value or minimum possible negative value is returned.  Some DSP ICs incorporate saturation arithmetic hardware 57
  • 58. Scaling  Assume that the input to a filter is bounded by 𝑥(𝑛) < 𝐶  Then its output is bounded by  where ℎ(𝑘) is its impulse response  𝑘=−∞ ∞ ℎ(𝑘) is known as the 𝑙1 𝑛𝑜𝑟𝑚 of the filter impulse response, easy to compute numerically 58
  • 59. 𝑙1scaling  Bounded input bounded output 𝑥(𝑛) < 𝐶  𝑘=−∞ ∞ ℎ(𝑘)  If the maximum permissible output magnitude is D, overflow cannot occur provided we scale the output by 𝐷 𝑘=−∞ ∞ ℎ(𝑘)  However if we reduce the magnitude of signals,  The ratio of signal power to quantization noise power becomes smaller  Scaling worsens the noise performance of the filter 59
  • 60. Alternative scaling  The input signal which gives rise to the largest possible output is unlikely to occur in practice, so a less conservative scaling approach is often used  𝑙2 scaling  frequency – response scaling  For both saturation arithmetic is still needed as overflow is still possible 60
  • 61. 𝑙2 scaling  Choose less conservative scaling based on the scale factor 𝐷 𝐶 𝑘=−∞ ∞ ℎ(𝑘)  which is the root mean square impulse response and this is known as 𝑙2 scaling 61
  • 62. Frequency-response scaling  Suppose frequency response of the filter is 𝐺(𝑒 𝑗𝜔 )  a sine wave of frequency ω and peak amplitude 𝐶 at the input  gives a sine wave of peak amplitude 𝐶 𝐺(𝑒 𝑗𝜔 ) at the output  To prevent overflow of a single sine wave use scaling factor 𝐷 𝐶 max 𝜔 𝐺(𝑒 𝑗𝜔) 62
  • 63. Application of scaling to cascade and parallel realizations  At each step, you must compute the impulse response or frequency response from the input of the overall filter to the point of interest, taking account of all scaling already included up to that point.  The scaling at section inputs may implemented using simple binary shifts (by using the next smaller power of 2), or by incorporating it into the FIR coefficient scaling of the preceding section.  For a parallel realization, scaling is computed independently for each section, but all section outputs must be scaled by the same amount, so the overall scaling of each section must be made the same.  Finally scaling is applied to the final adder(s) which add together the outputs of the parallel sections. 63
  • 64. Roundoff (quantization) noise generation  The output of a multiplier has more bits than its inputs (for example, a 16 by 16 two's complement multiplier outputs a 31-bit two's complement value).  To store the output it has to be (re)quantized (low order bits have to be thrown away)  An error called quantization noise or roundoff noise is added at that point  The noise variance at the multiplier output, assuming rounding is used, is 𝑞2 /12, where 𝑞 is the LSB size after quantization. (The same as for quantization of analogue signals.) 64
  • 65. Roundoff (quantisation) noise assumptions  It is often assumed that the quantization noise at each multiplier output is white (independent from sample to sample).  It is also assumed that it is independent between multipliers, so that the noise variances ("powers") add.  (The assumption of whiteness is actually a very poor model if the signal is narrowband, but it is reasonable for large amplitude wideband signals. The assumption of independence can also be a poor model.) 65
  • 66. Roundoff (quantisation) noise in FIR and IIR filters  As a result:  The quantization noise from the multipliers of an FIR filter therefore adds white noise directly to the output signal  In IIR filters, the white quantization noise from the feedback multipliers filter is fed to the input of the filter, so the resulting noise spectrum at the filter output is coloured. Its spectrum is proportional to the square of the filter's frequency response magnitude. 66
  • 67. Roundoff (quantisation) noise  Roundoff noise level is affected by data wordlengths, filter response, filter structure and (to an extent) by section ordering in cascade structures.  Further details are in specialist texts.  Remark. DSP ICs, and some VLSI filters, provide an accumulator store of longer wordlength than the data wordlength (e.g. a 32-bit accumulator for a 16-bit DSP). The multiplier outputs are accumulated at the longer wordlength, and then the accumulator output is only quantized once. This approach significantly reduces roundoff noise. 67
  • 68. Limit cycles  Zero-input limit cycles are self-sustaining oscillations, caused by the rounding of the results of computations.  Example: consider the second-order filter  This is a stable second order IIR filter with complex poles at 𝑗0.9.  If rounding to the nearest LSB is used at the output of the multiplier, then when 𝑦(𝑛 − 2) = ±1; ± 2; ± 3; or ± 4𝐿𝑆𝐵, the computation 0.9𝑦(𝑛 − 2) will give the result ± 1; ± 2; ± 3; 𝑜𝑟 ± 4𝐿𝑆𝐵 respectively.  Hence a limit cycle of the form 𝑦(𝑛) = 4; 0; −4; 0; 4; 0; −4; 0 (or the same pattern with 3,2, or 1) may occur.  Effectively, the reason is that the rounding non-linearity has increased the feedback gain to 1, turning the system into an oscillator. 68
  • 69. Limit cycles  Limit cycles are troublesome in some applications, especially with short data wordlengths, where the limit cycle may be relatively large. With the longer wordlengths of DSP ICs, it is often possible to ignore limit cycles.  Solutions:  One solution is to quantize toward 0 (truncation) instead of rounding the multiplier output. But the extra roundoff noise due to truncation may require the data wordlength to be increased by 1 or 2 bits.  Another solution is to use certain forms of digital filters (such as Wave filters) which do not support limit cycles. However these are computationally more expensive. 69
  • 70. Deadbands  Consider a simple digital low-pass filter such as is commonly used for smoothing: 𝑦 𝑛 = 𝑦 𝑛 − 1 + 𝛼 𝑥 𝑛 − 𝑦(𝑛 − 1) = 1 − 𝛼 𝑦 𝑛 − 1 + 𝛼𝑥(𝑛)  The transfer function is 𝐻 𝑧 = 𝛼 1 − (1 − 𝛼)𝑧−1  This has unit gain at zero frequency (z = 1), and a pole at 1 – α.  The time constant is approximately 1/α samples, for α<<1  If 𝛼 𝑥 𝑛 − 𝑦(𝑛 − 1) < 0.5𝐿𝑆𝐵 then the multiplier output will round to zero, and the filter output will therefore remain constant.  Hence a constant output known as the deadband, arises. It can be up to (0.5/α)LSB  If, for example, (1/α)=10000 to give a time constant of 10000 samples, then the size of the LSB of the internal arithmetic must be 5000 times smaller than the permissible size of the deadband. This implies 13 extra bits (since 212 = 4096). 70
  • 71. Coefficient quantization  In a previous section we showed that the cascade form is much less sensitive to coefficient quantization than a high order direct form filter.  (This is also true of the parallel form.)  If the filter has zeros on the unit circle and is implemented using a second-order section, the cascade realization has the advantage that these zeros stay on the unit circle (because a coefficient b2 = 1 is unaffected by quantization), although their frequencies may be altered. 71
  • 72. Coefficient quantization  A traditional way to study the relative merits of different filter structures was to analyze the sensitivity of the frequency response magnitude to random (often Gaussian) perturbations of the coefficients, and to use this as a measure of the likely sensitivity of a given structure to coefficient quantization.  Various structures, including Lattice and Wave filters, give even lower sensitivity to coefficient quantization than the cascade realization.  However, they generally require a substantially increased number of multipliers. For a specific filter design, you should compute the actual filter response with quantized coefficients, and then modify it if necessary. 72
  • 73. Coefficient quantization  In dedicated hardware, such as custom ICs, where there are significant benefits from reducing coefficient wordlengths, discrete optimization can be used to search for the finite-wordlength filter with the closest response to a given specification.  Some discrete optimization algorithms, including Genetic Algorithms and Simulated Annealing, are available in software libraries 73
  • 74. 74