IAY0340 - Exercise #8 - FIR filter design and synthesis

Description of the task

Finite Impulse Response (FIR) filter is one of the most widespread numerical filters. It is used practically everywhere in numerical signal processing including mobile phones. The name of the filter comes from the fact, that single pulse passes the filter within a finite amount of time. This time depends on the filter order: it's the number of used coefficients. Testing of the filter is based on the following feature - give a single pulse to the input and in finite amount of time you must get all the filter coefficient values in the output. You must design FIR filter with the order of nine, this means that design function is data_out= ∑ ci * data_ini-1, where i=1, 2, ..., 9 and data_in-i is delay for i cycles of input data_in.

In this lab everybody gets their own task, however a lot of basic solutions coincide. Therefore teamwork is welcome. The difference of the tasks is in the values of coefficients, which you can find according to your matriculation number rest of division with 2, 3, 4, 5 and 7 gives you one of the coefficients according to the table below. The filter is symmetrical (c1=c9), thus order of indexes (incremental or decremental) is not important.

Table 1. Coefficients values
Divisor -> 3 4 7 5 2
Rest c1, c9 c2, c8 c3, c7 c4, c6 c5
0 0,125 0,25 -0,75 1,25 1,0
1 -0,125 -0,25 0,75 -1,25 1,25
2 0,25 0,5 -0,625 0,75
3 -0,5 0,625 -0,75
4 0,875 0,875
5 -0,875
6 1,125
you can find a coeficient calculator here. you have to just enter your student ID in the field.

Initial data

Hints

Filter example

Try to understand the behavior of the filter by using the following applet.

There are some sample solutions of FIR on the RTL level. You can use them as a codebase for your own.

Behavioral FIR filter simulation example

FIR filter simulation example

Figure 1. Sample of a simulation result of the behavioral design.

Tasks

Questions

  1. Why and where is FIR filters used?
  2. What is the main concept of FIR filters (how do they function)?