Objectives
The objective of this lab is to design a DSP system in MATLAB that correctly detects the first two tones of a DTMF sequence.
Note before you begin: If you are having trouble viewing these lab instructions, I recommend using Firefox on a desktop computer or laptop (not mobile device)
This lab is a continuation of DSP Lab 4: DTMF tone and song generator.
In this lab you will write a MATLAB function called decodeDTMF, which will decode the first two tones of a DTMF sequence. The input to this function is a DTMF signal which may contain one to several tones of different time durations. The signal may be noisy. The signal may have periods of silence before and/or after the tones. The function decodeDTMF you are to create is specified as follows:first_two_digits = decodeDTMF(file_path)
Here file_path is the file path to the input signal. The output of this function first_two_digits is an array of two integers containing the first two decoded DTMF digits in the order they appear.
Some important considerations and assumptions:
To assit you, below is a list of four files containing known DTMF tones. Download these files and use them to test and develop your function.
| File link | Actual DTMF digits | Expected output of decodeDTMF |
|---|---|---|
| File_Test_1.wav | 2, 7 | 2, 7 |
| File_Test_2.wav | 4, 0, 7, 8 | 4, 0 |
| File_Test_3.wav | 9 | 9 |
| File_Test_4.wav | (noise) | Error: "No signal detected!" |
You will submitting the following deliverables to Blackboard:
| File link | Output of decodeDTMF |
|---|---|
| File01.wav | |
| File02.wav | |
| File03.wav | |
| File04.wav | |
| File05.wav | |
| File06.wav | |
| File07.wav | |
| File08.wav |