Assignment title: Information
University of Southern Queensland
Faculty of Health, Engineering & Sciences
School of Mechanical & Electrical Engineering
Course Number: ELE3107 Course Name: Signal Processing
Internal ?
Assessment No: 2
External ?
This Assessment carries 200 of the 1000
marks total for this Course.
Examiner: John Leis Moderator: Mark Phythian
Assignment: Understanding the Fourier Transform
Date Given: Week 8
Date Due: Wednesday Week 15
Penalty for Late Submission: Loss of
20% of total marks for this assignment per
day late.
Assignments are to be typed, not handwritten and scanned.
Assignments are to be submitted electronically, using the link on your Study Desk.
Marked assignments are also returned to you electronically.
You do not need a coversheet for this assignment, since it is submitted electronically.
Please use PDF format to submit your assignment. Please use the naming convention
LastName-StudentNumber.pdf, where StudentNumber is your 10-digit student
number, and LastName is your last (family) name.
By submitting this assignment, you agree to the following Student Declaration:
I hereby certify that no part of this assignment has been copied from any other student's
work or from any other source except where due acknowledgement is made in the
assignment. No part of this assignment has been written for me by any other person
except where such collaboration has been authorised by the Examiner.
Any non USQ copyright material used herein is reproduced under the provision of Section 200(1)(b) of the copyright Amendment Act 1980.Signal Processing Understanding the Fourier Transform Page 2
Objectives
The aims of this assignment are:
1. To investigate the role of signal conditioning (course objective 6);
2. To design, implement and use signal processing algorithms (course objectives 4 and
7);
Students are expected to communicate their findings and ideas in a clear and logical manner.
Submission
• Assignments must:
{ Be typed, not handwritten.
{ Be submitted electronically via the Study Desk.
{ Be submitted in PDF format, and less than 4M in size.
{ Use the file naming format LastName-StudentNumber.pdf.
{ State your name and student number at the top of the first page.
• You must not use any MATLAB \toolbox" functions { that is, any which are not
shown as toolbox\matlab in response to the which command.
• For each question, submit a written report, detailing your approach and discussing
your findings. Your report should include diagrams, figures, source code, waveforms
and/or images as appropriate for this assignment.
• Late assignments are not normally accepted. If you wish to apply for consideration
for late submission, it must be done at least one week prior to the due date in writing or
via email. Include documentary evidence of illness (a medical certificate) or additional
work commitments (a written confirmation of changed work circumstances from your
supervisor). For extension applications for other reasons, please contact the examiner
at least 2 weeks in advance of the due date.
• Students are reminded of the penalties applying to plagiarism. Copying all or part
of an assessment from another student, or from the web, is unacceptable. Plagiarism
may result in loss of marks, or other penalties as determined by the Academic Misconduct Policy. Further helpful hints on how to correctly reference (and how to avoid
plagiarism) may be found under the link Academic Honesty on the course Study Desk.
. . . / 3Signal Processing Understanding the Fourier Transform Page 3
Marking
Marks are awarded as per the marking guidelines at the end of each question. The breakdown
of marks will be noted on the PDF file returned to you via the Study Desk. Where an
explanation or description is specifically requested, your response will be assessed according
to the following:
85-100: High Distinction
Excellent grasp of the problem.
Explicitly addresses the question, uses knowledge from course and outside.
Well-argued choice of method or approach as appropriate to the question.
Correct grammar and spelling.
Referenced if appropriate.
75-85: Distinction
Very good grasp of the problem.
Addresses the question using knowledge from course.
Well-argued choice of method or approach as appropriate to the question.
Correct grammar and spelling, perhaps with very minor errors.
Referenced if appropriate.
65-75: Credit
Understands the problem.
Addresses the question using knowledge from course.
Lacks clarity of expression or uses an imprecise argument.
Moderate spelling or grammatical errors.
Referenced if appropriate.
50-65: Pass
Has some understanding of the problem.
Addresses the question but not clearly.
Some misconceptions about the question.
Moderate spelling or grammatical errors.
0-50: Fail
Has little or no understanding of the problem.
Does not really address the question.
Significant misconceptions or total lack of understanding of the question.
Poor spelling and/or obvious grammatical errors.
Software
You may use MATLAB to complete questions where you are required to plot waveforms or
calculate results. You may use any MATLAB notes or tutorials provided in this course as
a starting point. You must not use any MATLAB \toolbox" functions { that is, any which
are not shown as toolbox\matlab in response to the which command. Where MATLAB
coding is required, show all your code for each question as part of your report.
. . . / 4Signal Processing Understanding the Fourier Transform Page 4
Data Files
The data files required for this assignment may be downloaded from the course Study Desk.
Before starting, you should do some research on DTMF signalling.
Question 1 | 50 Marks
The audio files dial0.wav, dial1.wav, ..., dial9.wav contain telephone dial (signalling)
tones for the numbers 0 through 9. Use the code provided in wavproc.m to read the .wav
files. Play through the PC speakers using MATLAB's sound function.
Part (a) | 25 Marks
Each number is signalled using two simultaneous tones (see the web page cited above for
further information). Note that the sample rate is 8kHz. Write code to calculate and plot
the Fourier Transform magnitude for each of the ten individual digits, with a correctly scaled
frequency axis. In your report, include:
1. Two representative time-domain waveforms.
2. Two representative frequency-domain waveforms.
Part (b) | 25 Marks
Show the frequency of the components, explain how you derived them from the FFT, and
compare them to what is expected from the standard DTMF frequency pair allocation.
(a) Waveforms correct & plotted correctly 25
(b) Frequencies correct & compared 25
Total 50
. . . / 5Signal Processing Understanding the Fourier Transform Page 5
Question 2 | 50 Marks
This question asks you to determine a sequence of keys dialled { firstly clean, then noisecorrupted.
Part (a) | 25 Marks
By reading the wave file in blocks and calculating the Fourier Transform of each block,
design an algorithm and construct the code to determine the particular key sequence dialled
from the wave file alone. Test your code using the file dial0123. The determination must
be fully automatic, and must not rely on each digit's tone waveform being an exact length,
or exact amplitude. In your report, show the output of your code, clearly indicating that it
has correctly determined the sequence of keys.
Include your MATLAB coding, and give a brief description of how you designed it, how it
works, and the salient (important) features.
Part (b) | 25 Marks
A further set of longer dial tones is provided, according to the naming convention:
dialu.wav
where
dialu signifies \unknown dial sequence"
d is a single digit signifying the unknown file number
c|n is either \c" for \clean signal" or \n" for noisy signal
For example, dialu2n.wav is the third1 noise-corrupted unknown dial sequence. Note,
however, that the \n" file does not correspond to the \c" file | in other words, dialu3n.wav
does not necessarily contain the same key sequence as dialu3c.wav. Note also that the keys
dialled includes digits as well as the standard star (*) and hash (#) keys.
Test your code, unaltered, from the previous question for the case of a noise-corrupted
signal. For the digit \d", use the last digit of your student number. For example, if your
student number is 0123456789, use the file dialu9n.wav. In your report, show the output
of your code, clearly indicating what your code has determined the sequence of keys to be.
(a) Determine waveform & explain operation 25
(b) Determine longer noisy waveform 25
Total 50
1Starting from 0.
. . . / 6Signal Processing Understanding the Fourier Transform Page 6
Question 3 | 100 Marks
This question requires you to estimate how much noise can be tolerated in your algorithm
as determined in the previous question.
Starting with the clean signal, as we increase the amount of noise added, we expect that
the algorithm would work satisfactorily up to a point, after which the performance will
degrade (only some of the keys will be detected, not all). At some point, with enough noise,
the algorithm will not be able to detect any of the keys correctly (or, more correctly, the
algorithm will produce what amounts to random results). In order to test the performance,
we need to generate some \artificial" noise, with a controllable power level.
Let the noise-free signal (the 'c' wave file) be x(n). Add a quantity of noise to it, according
to y(n) = x(n) + αv(n), where v(n) is white Gaussian noise and α is a constant controlling
how much noise is added.
For a given α, you can calculate the Signal-to-Noise ratio (SNR) in decibels (dB) using
SNR = 10 log10
PN x2(n)
PN(αv(n))2 (1)
from a data vector of reasonable length N, given the signal x(n) and noise αv(n).
Starting at α = 0 (that is, no noise), increase the amount of noise and test the performance
of your key-detection algorithm. The detection algorithm must use as input the observed
signal y(n). Assume that the clean signal is not available to the detection algorithm2.
Determine how many keys can be recovered using your algorithm from the previous question,
and create a table containing α, SNR (in dB), and number of keys recovered. When the
signal power equals the noise power, the SNR is 0 dB. Will your algorithm work at this
SNR?
Given the results of your testing, suggest and investigate some methods by which the performance of your algorithm could be improved.
SNR Result Table 50
Performance Improvement & Discussion 50
Total 100
End of Assignment
2Of course, it is used for generating the noisy signal y(n) in the first place, and determining the SNR.