Starting from:
$35

$29

PROJECT 1: DUAL-TONE MULTI-FREQUENCY SIGNAL DETECTION SOLVED

Introduction:

In the first project, you will be using Arduino Uno to receive and detect Dual-Tone Multi-Frequency (DTMF) signals, used in classic telephone signalling.

The DTMF system uses a set of eight audio frequencies transmitted in pairs to represent 16 signals, as shown in the table below. For example, to represent the number “2”, two tones with frequencies of 697 Hz and 1336 Hz are generated at the same time.



1209 Hz
1336 Hz
1477 Hz
1633 Hz
697 Hz













1
2

3

A
770 Hz













4
5

6

B
852 Hz













7
8

9

C
941 Hz

*


0


#


D















For more info, refer to: https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling

Obtaining the DTMF Signals:

You could use a standard audio jack connected to a PC or smartphone, to generate the DTMF signals, then feed this signal to your Arduino via the “Analog Input”. Arduino will then sample and quantize this analog signal, to convert it to digital domain, to which we can apply digital processing techniques. Please note that if the transmitted signal strength is too weak, you may need to use an amplifier before feeding it into Arduino analog input.

PC: http://onlinetonegenerator.com/dtmf.html

Android app example: https://play.google.com/store/apps/details?

id=com.amknott.ToneGen
System Design and Desiderata:

The selection and design of the filtering and detection techniques is up to you. However, at the very least you will need to use digital low/high/band pass filtering to separate the DTMF signals. (This involves the design choice of using FIR vs IIR filters, as well as the coefficient selection). Using the energy levels at the output of a set of band-pass filters, and making decisions using thresholds is one possible way of detecting individual DTMF tones. Of course, here, the selection of the threshold levels is another design parameter.

Important note: This main goal of this project is to allow the students to experiment with digital filtering techniques. In this regard, while simply taking the DFT of the signal, and detecting the peaks would also accomplish our goal, this will not be an acceptable method for our project. The same goes for Goertzel algorithm, which is just a more efficent way of calculating the DFT for a list of frequencies.

The system that you will design will need to detect the DTMF signals within an acceptable time frame. (As an example, the industry standard is 40 milliseconds. That is, the systems can detect DTMF signals as short as 40 ms.) These detected DTMF signals will need to be displayed on the screen (such as in the form of 053xxxxxxxx).

You can either use the Arduino simply as an analog-to-digital converter, send the digital information to a PC using the serial communication and do the processing on Matlab/Java/C, or alternatively, you can do all the processing on the Arduino board.

Some links that will be of help for Analog-to-Digital conversion and serial communication between the Arduino and Matlab: (Hint: Remember to set the same baud rate on Arduino and Matlab)

https://www.arduino.cc/en/Reference/AnalogRead https://www.arduino.cc/en/Serial/Write

http://www.mathworks.com/help/matlab/ref/serial.fopen.html http://www.mathworks.com/help/matlab/matlab_external/baudrate.html

Equipment & Components :

Most of you have been given one Arduino Uno. You are free to use the equipment in the lab (oscilloscopes, signal generators, cables, breadboards etc.) by appointment (please email alicangok@gmail.com or can.gursoy@boun.edu.tr beforehand).

In your design, you might need extra components and equipment, including, but not limited to: resistors, capacitors, transistors, integrated circuits (OP-AMP...), stereo jack/cables, jumper cables. You can order them from http://www.direnc.net/ or get them from Karaköy or other outlets. Please order the components as soon as possible to finish your projects in time.

Reports:

You will also need to provide a project report, your commented codes and a short tutorial to use the system (inputs/outputs, etc). The report should include background on DTMF signals, and the processing and detection techniques that you have used in implementation. Explain your design choices (why you used certain techniques over others) and how you selected various parameters (filter coefficients, thresholds, etc.) in detail.

More products