FIR Filtering - Convolution
FIR Filtering - Convolution
Generally the system output will be a delayed and attenuated or amplified version of
the input.
It is particularly useful to consider the output from the system owing to an impulse
input. This is because any input may be represented as a sequence of impulses of
different strengths. The output of the system owing to the impulse input will not be a
corresponding impulse, but will vary with time, passing through a maximum, as shown
in Figure 4.18. This figure shows that at sampling instant m the output owing to the
unit impulse applied at sampling instant 0 is h(m).
In Block processing methods, the data are collected and processed in blocks.
1. Direct form
2. Convolution table
3. LTI form
4. Matrix form
5. Overlap-add method
6. Overlap-save method
In Sample processing methods, the data are processed one at a time—with each input
sample being subjected to a DSP algorithm which transforms it into an output sample.
The convolution of the length-L input x with the order-M filter h will result in an output
sequence y(n).
We must determine:
1. the range of values of the output index n, and
2. the precise range of summation in m.
Therefore, in the case of an order-M FIR filter and a length-L input, the direct form of
convolution is given as follows:
As an example, consider the case of an order-3 filter and a length-5 input signal. The filter,
input, and output blocks are
h = [h0, h1, h2, h3]
x = [x0, x1, x2, x3, x4]
y = h ∗ x = [y0, y1, y2, y3, y4, y5, y6, y7]
y = Hx Ly × Lx = (L + M)×L
Alternative way:
𝑥3 𝑚 = 𝑥1 𝑛 𝑥2 𝑚 − 𝑛, 𝑚𝑜𝑑 𝑁 , 𝑚 = 0,1, … , 𝑁 − 1
𝑛=0
𝑌 𝑘 =𝑋 𝑘 𝐻 𝑘
𝑦 𝑛 = 𝐼𝐷𝐹𝑇{𝑋 𝑘 𝐻 𝑘 }