Dual-Tone Multi-Frequency (DTMF)

Skills learned: LabView, Analog to digital conversion, DTMF and Signal Filtering 

In this project, I designed a system using LabView that operates a Dual-Tone Multi-Frequency in two different modules:

  • Offline mode: takes a noisy .wav file with recorded DTMF button presses and produces the phone number which was dialled at the end.
  • Real-time mode: takes input from the user in real-time and shows the number one by one as they are being dialled

this project explores Dual-tone multi-frequency signalling (DTMF) which is a telecommunication signalling system that utilizes the voice-frequency band to establish communication between telephone equipment, other communication devices, and switching centers. Initially developed within the Bell System in the United States, it was introduced to the public as Touch-Tone, a trademarked term used for push-button telephones provided to customers from 1963 onward. DTMF has been standardized as ITU-T Recommendation Q.23 and is alternatively referred to as MF4 in the UK.

The adoption of Touch-Tone dialling, which employs a telephone keypad, gradually replaced the use of rotary dials and has become the prevailing standard in telephony. Additionally, various other multi-frequency systems are employed for signalling on trunks within the telephone network.

I utilized LabVIEW to implement a signal processing portal to acquire the dialled phone number using a .wav analog signal

First block: Input methodology

  • The first block opens the wav file, then passes it to be read by the program
  • The program then converts the analog signal to a discrete signal, in the shape of an array with a high sampling frequency

Second block: Filter the noisy signal

  • The block is able to filter up to 0.8 (80%) magnitude of noise, using a bandpass filter. 



Third block: Reading the filtered signal

  • In this part, the signal passed throw a spectral measurement block to get FFT analysis, which is read to find the signal peaks and passed to a sequential if statement to decide on which number is being typed in using 3 different subVIs

Final results could be seen here


Create your website for free! This website was made with Webnode. Create your own for free today! Get started