University of Southern Queensland Faculty of Health, Engineering & Sciences School of Mechanical & Electrical Engineering Course Number: ELE3107 Course Name: Signal Processing Assessment No: 2 Internal 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 9 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.... / 3
Signal 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.... / 4
Signal 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... / 5
Signal 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<d><c n>.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 third 1 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 1 Starting from 0.... / 6
Signal 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 log 10 N x 2 (n) N(α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 algorithm 2. 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 2 Of course, it is used for generating the noisy signal y(n) in the first place, and determining the SNR.