Signals and Systems Assignment - FIR Filters in Audio Processing
This assignment will focus on the filtering of audio signals using FIR filters (specifically the audio file 'countdownfrom.wav' available to download from Canvas). Audio signal processing uses many types of digital filters to create effects such as echoes (often using FIR filters) and reverberations (using IIR filters), or to remove unwanted artefacts in a signal (e.g. noise or channel effects).
This assignment will be looking at how we can simulate a concert hall type effect on audio using an FIR filter.
a) In Audio editing software packages often contain effects to allow you to simulate different recording environments. An example could be to simulate the audio being produced in a concert hall, auditorium or pipe by adding echoes to the audio or to simulate a padded room by filtering the audio to dampen the sound.
In this task you are required to simulate the echo-ey room shown in figure 1:
![1005_figure.png](https://secure.tutorsglobe.com/CMSImages/1005_figure.png)
Description:
This room contains a speaker in the top right-hand corner of the room which produces sound for the listener shown in the centre of the room.
Our listener experiences three versions of the audio;
The direct version coming straight from the speaker (blue line). There is no attenuation or delay with this audio (apart from the time it takes to get to the listener).
A first echo bouncing from the right-hand wall (red line) which is delayed by Td1 seconds (relative to the direct path), the amplitude of this audio has also been attenuated by G1 of the direct audio's amplitude and,
A second echo bouncing from the left-hand wall (green line) which is delayed by Td2 seconds (relative to the direct path), the amplitude of this audio has also been attenuated by G2 of the direct audio's amplitude.
The delays and attenuations will be based on the 5th number in your student number:
Student Number
|
Delays
|
Attenuations
|
1
|
Td1 = 0.15
Td2 = 0.2
|
G1 = 0.8
G2 = 0.4
|
2
|
Td1 = 0.2
Td2 = 0.25
|
G1 = 0.7
G2 = 0.35
|
3
|
Td1 = 0.25
Td2 = 0.3
|
G1 = 0.7
G2 = 0.25
|
4
|
Td1 = 0.3
Td2 = 0.35
|
G1 = 0.6
G2 = 0.2
|
5
|
Td1 = 0.35
Td2 = 0.4
|
G1 = 0.4
G2 = 0.1
|
6
|
Td1 = 0.35
Td2 = 0.45
|
G1 = 0.3
G2 = 0.2
|
7
|
Td1 = 0.3
Td2 = 0.5
|
G1 = 0.2
G2 = 0.15
|
8
|
Td1 = 0.25
Td2 = 0.55
|
G1 = 0.2
G2 = 0.1
|
9
|
Td1 = 0.2
Td2 = 0.6
|
G1 = 0.2
G2 = 0.1
|
0
|
Td1 = 0.1
Td2 = 0.2
|
G1 = 0.9
G2 = 0.45
|
Table 1: Delays and attenuations on sound paths
|
For example if your student number was 3210987 your first path will be delayed by 0.2 sec and attenuated to 20% of the original amplitude, your second path will be delayed by 0.6 sec and attenuated to 10% of the original amplitude.
i. Manually work out (neatly typed) the number of samples your delays will correspond to and the weightings (ak) for each part of the filter.
ii. Manually work out (neatly typed) the difference equation, impulse response and transfer function for this filter.
iii. Show the Direct Form I diagram for this filter (use a software package such as Microsoft Visio to show this neatly).
iv. Now use MATLAB to import the speech file 'countdownfrom.wav' which you will need to download from Canvas. Using the filter coefficients and delays you manually calculated above, create the FIR filter and use either the conv()or filter() functions to filter the 'countdownfrom.wav' file.
Listen to this new audio file; you should hear an echo effect occurring now.
Discuss:
1. Explain in your report how this filter generates the echoes. What's happening?
2. Plot the time-domain waveform for your filtered and non-filtered waveform, identify where the two echo paths are showing in the signal?
Attachment:- Assignment Files.rar