18-05-2012, 04:20 PM
Decoding DTMF tones
Decoding DTMF tones.pdf (Size: 209.41 KB / Downloads: 89)
Introduction
The M3 DSP library contains a set of commonly used signal processing functions that have been designed and optimized for use with the NXP Cortex-M3 LPC1700 and LPC1300 family of products.
This application note describes, with the aid of a software example, how to use the FFT (Fast Fourier Transform) function contained within the library to decode DTMF (Dual Tone Multi Frequency) tones.
Note that the DSP library supplied with application note AN10913[2] must be installed in order to build the software example.
The application note AN10913 and DSP library can be downloaded at: http://ics.nxpsupport/documents/microcon...n10913.zip
FFT basics
The Discrete Fourier Transform (DFT) is a commonly used transform in communications, audio signal processing, speech signal processing, instrumentation signal processing, and image processing. It is a technique used for converting a number of complex values from the time domain to the frequency domain. The Fast Fourier Transform (FFT) is an algorithm that is designed to compute the DFT very efficiently. Basically, the FFT is an algorithm that efficiently computes the frequency content of a discrete set of values, i.e., it transforms a time domain signal into the frequency domain.
The result of performing an FFT is a set of points often referred to as ‘bins’. Each point, or bin, is a complex value that represents a particular part of the frequency spectrum. The number of points computed (N), and the rate at which the input values were sampled (fs), determines the range of frequencies represented by each bin (fbin). The exact relationship is expressed below:
Definitions
Draft — The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information.
6.2
Disclaimers
Limited warranty and liability — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information.
In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation - lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory.
Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors.
Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof.
Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors accepts no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer’s own risk.
Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification.
Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer’s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer’s applications and products planned, as well as for the planned application and use of customer’s third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products.
NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer’s applications or products, or the application or use by customer’s third party customer(s). Customer is responsible for doing all necessary testing for the customer’s applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer’s third party customer(s). NXP does not accept any liability in this respect.
Export control — This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from national authorities.