0% found this document useful (0 votes)
32 views49 pages

Finite Impulse Response Filter: Presentation By: Pravin Kumar SSN College of Engineering

Finite impulse response (FIR) filters have impulse responses of finite duration, meaning the filter's output dies out completely after a finite number of samples. FIR filters are implemented using convolution, where the filter weights define the impulse response. FIR filters can be causal, meaning they only use past and present input samples, or noncausal, where they can use future samples as well. Designing an FIR filter involves taking the inverse Fourier transform of the desired frequency response to determine the appropriate filter weights.

Uploaded by

sach jones
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views49 pages

Finite Impulse Response Filter: Presentation By: Pravin Kumar SSN College of Engineering

Finite impulse response (FIR) filters have impulse responses of finite duration, meaning the filter's output dies out completely after a finite number of samples. FIR filters are implemented using convolution, where the filter weights define the impulse response. FIR filters can be causal, meaning they only use past and present input samples, or noncausal, where they can use future samples as well. Designing an FIR filter involves taking the inverse Fourier transform of the desired frequency response to determine the appropriate filter weights.

Uploaded by

sach jones
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

Finite impulse response filter

Presentation by:
Pravin Kumar
SSN College of Engineering
FIR/IIR

Causal/Non-
Questions? causal?

How to
design a
filter?
Finite Impulse Response Filters
• FIR filters are moving average filters,
generally with uneven weights.
• In FIR filters, the filter weights (coefficients)
define the impulse response
• So of course, the impulse response will be
finite.
Finite Impulse Response Filters
• FIR filters are implemented by convolving the
weights with the input signal
• Which is mathematically the same as taking a
running weighted average over the input
signal.
• So, the general equation for the
implementation of an FIR filter is the
convolution equation
Finite Impulse Response Filters
• So, the general equation for the
implementation of an FIR filter is the
convolution equation

• where b[k] defines the weights (recall, these weights are also
called the filter coefficients or simply coefficients, the
weighting function, or impulse response), K is number of
weights or filter length, x[n] is the input, and y[n] is the
output.
Finite Impulse Response Filters
• FIR filters can be implemented in MATLAB using
the conv routine.

• Equation 4.14 is a specific case of Equation 4.12, in


which there are no a coefficients except a[0] = 1
(recall 0 has an index of 1 in MATLAB).
• So, FIR filters can also be
implemented using the filter routine
where the a coefficients are set to a
value of 1.0:
• In the moving average FIR filter
defined by Equation 4.14,

• each sample in the output is the


average of the last N points in the
input.
Causal
• Such a filter, using only current and
past data, is termed a causal filter.
• These filters follow the cause-and-
effect principle in that the output is a
function of past, and perhaps
present, inputs.
• All real-time systems are causal
since they do not have access to the
future.
• They have no choice but to operate
on current and past values of a
signal.
• However, if the data are stored in a
computer,
– it is possible to use future signal values
along with current and past values to
compute an output signal,
– that is, future with respect to a given
sample in the output signal.
• Filters (or systems) that use future
values of a signal in their
computation are noncausal.
• The causal filter was implemented using
MATLAB’s conv routine (i.e., Equation 4.14),
• with the noncausalfilter using the conv routine
with the option 'same':
• y = conv(x, b, ’same’); % Apply a noncausal
filter.
• where x is the noisy eye-movement signal and b
is an impulse response consisting of 10 equal
value samples (b = [1 1 1 1 1 1 1 1 1 1]/10) to
create a moving average.
• When the 'same' option is invoked, the
convolution algorithm returns only the
center section of output, effectively
shifting future values into the present.
• The equation for a noncausal filter is
similar to Equation 4.14, but with a shift in
the index of x.
• Both filters do a good job of reducing the
60-cycle noise, but the causal filter has a
slight delay.
• In Figure 4.6b, the initial responses of the
two filters are plotted superimposed over
the original data, and the delay in the
causal filter is apparent.
• Eliminating the delay or time shift inherent
in causal filters is the primary motivation
for using noncausal filters
• The moving average filter weights used in Example 4.3
consist of equal values; however, there is no reason to give
the filter coefficients the same value.

• We can make up any impulse response we choose and


quickly determine its spectral characteristics using the
Fourier transform as in this example.
How do we make up filter
weights?
• The question is how do we make up filter weights
that do what we want them to do in the
frequency domain?
• This inverse operation, going from a desired
frequency response to filter weights b[k], is
known as filter design.
• We could use trial and error, and sometimes that
is the best approach
• But there are straightforward methods to get
from the spectrum we want to the appropriate
filter coefficients.
• The FIR filter design is straightforward in
principle: since the frequency response of the
filter is the Fourier transform of the filter
coefficients (Equation 4.15),

• the desired impulse response is the inverse


Fourier transform of the desired frequency
response.
• As is often the case, the details are a little more
involved, but FIR filter design is still fairly easy.
FIR Filter Design and
Implementation

• To design a filter, we start with the


desired frequency characteristic.
• Then all we need to do is take the
inverse Fourier transform.
• We only need the magnitude
spectrum, because FIR filters have
linear phase
• which is uniquely determined by the
magnitude spectrum.
• The derivative is a common operation in signal processing and is particularly useful
in analyzing certain physiological signals.
• Digital differentiation is defined as dx[n]/dn and can be calculated directly from the
slope of x[n] by taking differences:

You might also like