Implement code to determine the frequency components, MATLAB Programming

Assignment Help:

Objectives

In the following exercises, students are required ?rstly to implement code to determine the frequency components present in a signal, and then to extract a desired signal from one which contains additional noise. The objectives addressed in this assignment are:

1. To be able to read sampled data, and extract the frequency components present (course objectives 4, 8 and 10).

2. To be able to design and implement a system to extract known information from a signal which contains random noise (course objectives 1, 5, 7 and 10). Students are expected to communicate their ?ndings and ideas in a clear and logical manner.

Background Several graphical demonstrations of algorithms and implementation examples are provided on the course web page. MATLAB is the recommended software package - students are, however, free to choose any programming language with which they are familiar in order to complete the assignments for this course. The aim of this assignment is to gain a better understanding of Fourier Transform, and to investigate a practical application of the FFT. The data files required for this assignment may be downloaded from the course website https://www.usq.edu.au/users/leis/courses/ELE3107/ELE3107.html 1. Example MATLAB code, which you may use for the purpose of the assignment, is provided on the course website. See the script wavproc.m - run it and trace through the code. Note well: you are permitted to use the fft and ifft functions in MATLAB, since they are part of the "standard" MATLAB con?guration. You are not, however, permitted to use any "toolbox" functions from MATLAB (i.e. those functions not provided as part of the standard Student Edition).

Question 1

 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)

Write code to calculate and plot (on screen) the Fourier Transform magnitude for each of the ten individual digits. Each number is signalled using two simultaneous tones (see the web page cited above for further information). Note that the sample rate is 8kHz. Make sure your frequency axis is correctly scaled. In your report, include:

1. Your source code listing.

2. Two representative time-domain waveforms.

3. Two representative frequency-domain waveforms.

Part (b)

Show the measured frequency components, and compare them to what was expected theoretically. Waveforms correct & plotted correctly

Question 2

This question asks you to determine a sequence of digits dialled, given only the tone-dial waveforms.

Part (a)

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 digit sequence dialled from the wave file alone. Test your code using the file dial 0123. The determination must be fully automatic, and must not rely on the waveforms being any particular length. That is, the user may press the phone keys for a variable length of time. In your report, include a listing of your source code, and the output of your code, clearly indicating that it has correctly determined the sequence of digits.

Part (b)

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 (not the digit(s) dialled)

c|n        is either "c" for "clean signal" or "n" for noisy signal

For example, dialu2c.wav is the third2 noise-free unknown dial sequence file. Note, however, that the "n" file does not correspond to the "c" file-in other words, dialu3n.wav does not necessarily contain the same digit sequence as dialu3c.wav. Firstly, listen to the sequence using a sound-playing application such as Windows Media Player. Then, test your code from the previous question for the case of a clean (noise- free) signal. For the digit "d", use the last digit of your student number. For example, if your student number is 0123456789, use the file dialu9c.wav.

In your report, include your source code show the output of your code, clearly indicating what your program has determined the sequence of digits to be.

Question 3

Repeat the previous question, but use the noise-corrupted audio file and use the second last digit of your student number

3. For example, if your student number is 098765432, use the file dialu3n.wav.

In your report, include a listing of the output of your code, clearly indicating that it has determined the sequence of digits, together with a discussion of the performance of your method in the presence of noise.

Question 4

Repeat the previous question, but this time uses all of the noise-corrupted audio files. Would you consider your algorithm to be "robust"? (That is, able to handle many different input conditions).


Related Discussions:- Implement code to determine the frequency components

Command window, Command Window: To the left of the Command Window, the...

Command Window: To the left of the Command Window, there are 2 tabs for the Current Directory Window and Workspace Window. If the Current Directory tab is selected, the files

Function definitions, Function definitions: There are various ways to ...

Function definitions: There are various ways to organize the scripts and functions, but for now every function which we write will be stored in a separate M-file, that is why

Image processing, i am doing my project on matlab and the topic of my proje...

i am doing my project on matlab and the topic of my project is invisible watermarking.How we can extract all pixel values of image in binary form.

Crank-nicolson method, clear tic L=1; T=0.2; nust=2000; dt=T...

clear tic L=1; T=0.2; nust=2000; dt=T/nust; n=40; dx=L/n;   r=1;  omega=10:10:5000;%Store Range of Frequencies for Simulation u=zeros(n+1,nust+1);%

Create a new vector - vector manipulation, Write single MATLAB statements t...

Write single MATLAB statements to create these vectors from any vector Z. You can use vector Z shown as a sample input. Create a single m-file script (non-function) to containing a

Write a program to calculate and plot, This problem is intended to demonstr...

This problem is intended to demonstrate some problems that can arise from the finite precision of numerical calculations performed with computers.  We will do this by approximating

Need urgent help, i want to save the values of a particular equation in a f...

i want to save the values of a particular equation in a for loop.. for ex: for i=1:100 et=(x+yz); end thus how can i store the values of et at each iteration

Find the boundary between equations , Find the boundary between each two of...

Find the boundary between each two of the equations P1, P2, P3 by solving: P1 = P2  ,  P1 = P3  ,  P2 = P3 Plot the boundary lines on a single figure that also includes the

Aquifer simulation of the groundwater, An environmental consulting firm is ...

An environmental consulting firm is conducting a site investigation on an abandoned industrial site that is 200 m by 150 m in size (Fig. 1). A number of piezometers were installed

Illustration of for loop, illustration of for loop: illustration, to p...

illustration of for loop: illustration, to print a column of numbers from 1 to 5: for i = 1:5 fprintf('%d\n',i) end   This loop can be entered in the Command Wi

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd