Coloumn frequencies (Hz) Row frequencies (Hz)



Similar documents
Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller

Dual-tone multi-frequency signaling

Accurate Measurement of the Mains Electricity Frequency

Open Architecture Design for GPS Applications Yves Théroux, BAE Systems Canada

Introduction and Comparison of Common Videoconferencing Audio Protocols I. Digital Audio Principles

A WEB BASED TRAINING MODULE FOR TEACHING DIGITAL COMMUNICATIONS

Pulse Width Modulation Applications

LABVIEW DSP TEST TOOLKIT FOR TI DSP

PCM Encoding and Decoding:

LOW COST HARDWARE IMPLEMENTATION FOR DIGITAL HEARING AID USING

GETTING STARTED WITH LABVIEW POINT-BY-POINT VIS

CELL PHONE AUDIO CONTROLLED POINT OF SALE TECHNOLOGY REVIEW REPORT. Alana Sweat Group 9 October 18, 2008

Digital Signal Controller Based Automatic Transfer Switch

Zukang Shen Home Address: Work: Kindred Lane Cell:

Implementing an In-Service, Non- Intrusive Measurement Device in Telecommunication Networks Using the TMS320C31

RECOMMENDATION ITU-R BS.704 *, ** Characteristics of FM sound broadcasting reference receivers for planning purposes

Ericsson T18s Voice Dialing Simulator

Telecommunications Switching Systems (TC-485) PRACTICAL WORKBOOK FOR ACADEMIC SESSION 2011 TELECOMMUNICATIONS SWITCHING SYSTEMS (TC-485) FOR BE (TC)

Contents. Specialty Answering Service. All rights reserved.

Electronic Communications Committee (ECC) within the European Conference of Postal and Telecommunications Administrations (CEPT)

TONE/PULSE DIALER WITH REDIAL

A PSTN Terminal for FSK Decoding and DTMF Dialing Applications

PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT

Synchronization of sampling in distributed signal processing systems

How I DOS ed My Bank. (DTMF Input Processing Easy DOS Attacks via Phone Lines)

Cellphone Based Interactive Voice Response System for College Students

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

FREQUENCY RESPONSE ANALYZERS

Using Microcontrollers in Digital Signal Processing Applications

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

INTERNATIONAL TELECOMMUNICATION UNION $!4! #/--5.)#!4)/. /6%2 4(% 4%,%0(/.%.%47/2+

Design of a GSM Cell Phone based Vehicle Monitoring & Theft Security System

Teaching DSP through the Practical Case Study of an FSK Modem

Waveforms and the Speed of Sound

International Journal of Advancements in Research & Technology, Volume 3, Issue 5, May ISSN THROUGH MOBILE

RECOMMENDATION ITU-R BR *, ** Parameters for international exchange of multi-channel sound recordings with or without accompanying picture ***

Quality of Service Testing in the VoIP Environment

Voice Dialer Speech Recognition Dialing IC

Abstract. Cycle Domain Simulator for Phase-Locked Loops

Application Note. Introduction to. Page 1 / 10

Non-Data Aided Carrier Offset Compensation for SDR Implementation

Telephony Systems Trainer CODITEL

Acoustic Processor of the MCM Sonar

Development and optimization of a hybrid passive/active liner for flow duct applications

EE289 Lab Fall LAB 4. Ambient Noise Reduction. 1 Introduction. 2 Simulation in Matlab Simulink

Voice Communication Package v7.0 of front-end voice processing software technologies General description and technical specification

MINIMUM QUALITY INDICATORS FOR ALL TYPES OF LEASED LINES

DSP Laboratory: Analog to Digital and Digital to Analog Conversion

INTERNATIONAL TELECOMMUNICATION UNION

Voice---is analog in character and moves in the form of waves. 3-important wave-characteristics:

Developing applications under CODE COMPOSER STUDIO

Simple Voice over IP (VoIP) Implementation

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Propagation Channel Emulator ECP_V3

Speech Recognition of a Voice-Access Automotive Telematics. System using VoiceXML

DAC Digital To Analog Converter


A DESIGN OF DSPIC BASED SIGNAL MONITORING AND PROCESSING SYSTEM

Honeywell Primus HF 1050 HF Radio System

ANALYZER BASICS WHAT IS AN FFT SPECTRUM ANALYZER? 2-1

Department of Electrical and Computer Engineering Ben-Gurion University of the Negev. LAB 1 - Introduction to USRP

Lecture 1-6: Noise and Filters

Chapter 1 Computer System Overview

An Introduction to MPLAB Integrated Development Environment

FURTHER READING: As a preview for further reading, the following reference has been provided from the pages of the book below:

INTERNATIONAL TELECOMMUNICATION UNION

RF Network Analyzer Basics

How To Write A Program For The Web In Java (Java)

Impedance 50 (75 connectors via adapters)

INTERNATIONAL TELECOMMUNICATION UNION DATA COMMUNICATION OVER THE TELEPHONE NETWORK

From Concept to Production in Secure Voice Communications

)454 6 ")43 0%2 3%#/.$ $50,%8 -/$%- 34!.$!2$):%$ &/2 53% ). 4(% '%.%2!, 37)4#(%$ 4%,%0(/.%.%47/2+ $!4! #/--5.)#!4)/. /6%2 4(% 4%,%0(/.%.

Feasibility Study of Implementation of Cell Phone Controlled, Password Protected Door Locking System

VitalJacket SDK v Technical Specifications

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev Key Design Features. Block Diagram. Generic Parameters.

B3. Short Time Fourier Transform (STFT)

Loop Bandwidth and Clock Data Recovery (CDR) in Oscilloscope Measurements. Application Note

DeNoiser Plug-In. for USER S MANUAL

Video Conferencing Unit. by Murat Tasan

Adjusting Voice Quality

EMC6D103S. Fan Control Device with High Frequency PWM Support and Hardware Monitoring Features PRODUCT FEATURES ORDER NUMBERS: Data Brief

A TOOL FOR TEACHING LINEAR PREDICTIVE CODING

Debouncing Switches. Mechanical switches are one of the most common interfaces to a uc.

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN.

VitalJacket SDK v Technical Specifications

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Smart Telephone Answering Machine with Voice Message Forwarding Capability

DVB-T BER MEASUREMENTS IN THE PRESENCE OF ADJACENT CHANNEL AND CO-CHANNEL ANALOGUE TELEVISION INTERFERENCE

AN Application Note: FCC Regulations for ISM Band Devices: MHz. FCC Regulations for ISM Band Devices: MHz

Field Calibration Software

In addition to our VoiceDirector hardware products, the following SIP broadband devices are also compatible with VoiceDirector:

Simple SDR Receiver. Looking for some hardware to learn about SDR? This project may be just what you need to explore this hot topic!

IEC Algorithmic Alert Tone Demo

THIS paper reports some results of a research, which aims to investigate the

Transcription:

Final Report on Dual-Tone Multiple Frequency èdtmfè Detector Implementation Gíuner Arslan for EE382C Embedded Software Systems May 1998

Abstract Dual-tone Multi-frequency èdtmfè signals are used in touch-tone telephones as well as many other areas such asinteractive control, telephone banking, and pager system. As analog telephone lines are converted to digital, researchers became interested in digital DTMF detectors. There are many digital DTMF detecting algorithms, but most of them do not comply with the related International Telecommunications Union èituè and Bellcore recommendations or are not suitable for real-time implementation. In this project, my primary aim was to implement the new DTMF algorithm proposed by M.D.Felder, J. M. Mason, and B. L. Evans on a TMS320C50 digital signal processor for 24 channels. My design tool in this task was Ptolemy, to be more speciæc the C50 domain, which caused several problems during the project. In order to overcome these problems, I started to write a new target for the C50 domain which is named as SimC50 due to its ability to run assembly codes on a simulator and display the results. Despite the fact that current C50 targets generate code for TI TMS320C50 DSP Starter Kit èdskè, the new target generates code for TI TMS320C50 Evaluation Module èevmè. At the time this report was written all the tasks of the new target except getting the results from the simulator part, were ænished. Additional work was needed to modify some C50 stars because they were written for DSK only. 2

1 Introduction Dual-tone multi-frequency èdtmfè is an international signaling standard for telephone digits. These signals are used in touch-tone telephone call signaling as well as many other areas such as interactive control applications, telephone banking, and pager systems. A DTMF signal consists of two superimposed sinusoidal waveforms whose frequencies are chosen from a set of eight standardized frequencies. These frequencies were chosen in Bell Laboratories, where DTMF signaling system were originally proposed as an alternative to pulse dialing system in telephony. The detector part of early DTMF systems consisted of analog implemented bandpass ælterbanks, which were tuned to the eight standard frequencies. As analog lines as well as many other analog systems were converted to digital, researchers became interested in digital DTMF detectors. Digital implementation has many advantages over analog implementation such as accuracy, stability, re-programmability, and chip count; that is, instead of using several analog chips for detecting multi-channel DTMF tones, only a digital signal processor èdspè chip is used for all channels. Many digital DTMF detecting algorithms have been proposed ë1ë, ë2ë, ë3ë, ë4ë but they have several drawbacks as follows: 1. Most of them do not comply with the related International Telecommunications Union èituè and Bellcore recommendations. 2. Some of them have too heavy computational load. 3. Some of them need too much memory to implement onalow cost DSP. The algorithm proposed by M.D.Felder, J. M. Mason, and B. L. Evans ë5ë,ë6ë is an eæcient DTMF detection algorithm which complies with all ITU and Bellcore speciæcations and does not need any buæering. The inventors, simulated their algorithm on Ptolemy's synchronous data æow èsdfè domain and concluded that this algorithm could be implemented for 24 channels, on a low cost æxed point DSP such as the TMS320C50. In this project, my aim was to implement the mentioned algorithm on a TMS320C50 for 24 channels. This report is organized as follows: Section 2 gives background information about DTMF signals, standards, and detectors. Section 3 is focused on implementation topics such as modeling and code generation in C50 domain, the new target for C50 domain and the motivation to write it. The last section concludes this report. 3

2 Background A DTMF signal consists of two superimposed sinusoidal waveforms whose frequencies are chosen from a set of eight standardized frequencies. For example, by pressing the ë1" button on the touch-tone telephone key pad in Figure 1, a signal consisting of a 697 Hz sinusoid and a 1209 Hz sinusoid is generated. A DTMF detector attempts to detect these frequencies in the presence of noise, and determines which button is pressed. Coloumn frequencies (Hz) 1209 1336 1477 1633 Row frequencies (Hz) 697 770 852 941 1 2 3 A 4 5 6 7 * 8 0 9 # B C D Figure 1: Touch pad in DMTF systems Detection of frequencies in noisy environment isawell studied area in digital signal processing. The diæculty of DTMF tone detection is due to the standards which must be satisæed when these signals are detected. A summary of ITU and Bellcore's DTMF standards and recommendations are given below: 1è Signal frequencies: Low group èhzè: 697, 770, 852, 941 High group èhzè: 1209, 1336, 1477, 1633 2è Frequency tolerances: a. Frequencies with an oæset less than æ1.5è must be accepted. b. Frequencies with an oæset more than æ3.5è must be rejected. 3è Signal Reception Timing: a. Tones with a duration less than 23 ms must be rejected. b. Tones with a duration more than 40 ms must be accepted. c. An interruption of more than 40 ms must be accepted as a pause èone tone has ænished, a new one has startedè. d. An interruption of less than 10 ms must be tolerated èthe tone continuousè. 4

4è Twist èpower diæerence between frequenciesè: a. The low frequency may have8dbhigher power b. The high frequency may have4dbhigher power Bellcore has some recommendations which are in fact a subset of ITU speciæcations. However, Bellcore does not only give some standards, but also some standardized performance tests as well. Some Bellcore tests and recommendations which are diæerent from ITU speciæcations are as follows: 1è Bellcore guard time test: Guard time is the minimal length of a tone that can be reliably detected. The guard time is determined by decreasing tone lengths at the input of the detector and counting the number of detects. The receiver guard time is calculated in ms as è500- total detectsèè10 and must be under 40 ms. 2è Bellcore power level test: A minimum detection of 25 out of 35 at a tone power of -25 dbm is required. 3è Bellcore talk-oæ Tests: The most important test might be the talk-oæ test which determines how often a detector detects a speech as a valid tone. Bellcore provides three one-hour audio tapes which include over 50,000 speech samples, to test a detector. Testing a DTMF detector with all these speech samples is equivalent to testing the detector on one million calls if it was be used in a local central oæce. Bellcore speciæed the following allowed false detection numbers: For digits 0-9; 333 for digits 0-9,*,è; 500 and for digits 0-9,*,è,A-D; 600. Since these standards were determined when DTMF detectors were analog their aim was to specify optimum analog detectors. For example, the standard frequencies are determined so that they have no common multipliers. This guarantees that none of the frequencies have common harmonics and thereby improves the performance of analog detectors. However, the most commonly used digital frequency analysis technique, the Discrete Fourier Transform èdftè, samples the frequency domain with equally spaced samples, and therefore, it is not possible to have a sample exactly at each standard frequency. This fact guided researchers to use a Non-uniform Discrete Fourier Transform èndftè in 5

DTMF detection algorithms. Although it was possible to have arbitrary located samples in frequency domain, more computation was required when using the NDFT. The tradeoæ between high frequency resolution and less computational load is the main problem in designing DTMF detectors. The new algorithm ë5ë,ë6ë complies with all frequency speciæcation of ITU, pasts all Bellcore test, and its computationally eæciency is such that it can be implemented on a DSP for 24 channels. The algorithm is based on NDFT but uses about 30 diæerent modiæcations. These modiæcations result in an algorithm which requires no buæering and according to the inventors simulations, requires approximately 1000 words of data memory, 2000 words of program memory and 24 million instructions per second èmipsè when implementing on a digital signal processor for 24 channels. 3 Modeling and Implementation In order to implement the algorithm on a TMS320C50, my plan was to go through these steps: æ Model the algorithm in Ptolemy's C50 domain, æ Generate code for TMS320C50 within the C50 domain, æ Optimizing the generated code by hand such that it can be implemented on a DSP for 24 channels. Since the algorithm was already modeled in Ptolemy's SDF domain, I wanted to re-target this model to C50 domain. Before re-targeting the SDF universe to C50, I checked whether in the computations any number exceeds the range of -1 to 1. This is important since I would implement the algorithm on a æxed point processor. Although the creators of the SDF domain model scaled the numbers in the algorithm in several places, I found 3 points where the numbers exceeds this range. By re-scaling, I æxed this future problem. Then I created a new universe which included only the DTMF detector galaxy, a dummy constant input and two black-holes to connect the outputs of the detector galaxy. The new universe is shown in Figure 2. 3.1 New Stars All stars which are used in a source domain should be present in the target domain to be able to re-target a universe. Therefore I have written the required TMS320C50 assembly codes to create the C50 versions of these three new stars which are used in the SDF domain model. These stars were: 6

Const Digit Valid bellcore_dtmf_system Figure 2: The DTMFCode universe which includes only the detector galaxy and some dummy input and outputs 1. Power: This star computes the power of an input stream. The length of the stream can be modiæed by the user. 2. DtmfNdftCoeæ : This stars returns the NDFT coeæcients for one of the 8 standard DTMF frequencies. These coeæcients will be used as an input to the NdftVarD star and are deæned as 2 cosè 2çf i fs è where f i is a DTMF frequency and f s is the sampling rate which can be deæned by the user. 3. NdftVarD: This star accepts a NDFT coeæcient and a stream as input and computes the NDFT over some number of samples which can be deæned by editing the numsamples parameter. A second parameter sequentialexecs determines how many times the algorithm will be executed without reseting the internal states. For example, if you specify numsamples=106, sequentialexecs=2 and a coeæcient off i =697 is fed to the coeæcient input, this star will compute the 2 æ 106 = 312 point DFT at the frequency point f i =697 Hz. 3.2 Problems in C50 Code Generation The next step was to generate the TMS320C50 assembly code of the DTMF detector within Ptolemy. At this step I encountered some problems: 1. The generated code was 105 standard letter pages long, 2. Ptolemy generates only code for Texas Instrument ètiè's TMS320C50 DSP Starter Kit èdskè. 3. In the generated code, some memory locations are allocated several times. 4. The C50 domain did not have a simulation target. Why the ærst item was a problem is obvious. Managing 105 pages of code is not easy. A large portion of the generated code, consisted of memory declaration directives. Since the C50 domain uses a SDF model it allocates memory for every arch in the graph. In other words the SDF over-models our application. 7

The second item was a problem because I wanted to generate code for the TI TMS320C50 Evaluation Module èevmè. Although both boards have the same processor they are quite different. The diæerences between EVM and DSK is summarized in Table 1 DSK æ No emulation hardware æ No external memory æ Simpliæed assembler æ Generated code is not in common object æle format ècoffè æ Does not have a linker phase, assembler does the memory allocation æ Diæerent assembler directives:.ds.ps.entry EVM On-board emulation 64K single access RAM èsramè Full feature assembler COFF format code generation Memory is allocated by the linker.bss.usect.sect.asect Table 1: Diæerences between DSK and EVM The main diæerence is that the DSK has very limited features compared with the EVM. The most important diæerence in my case is the æfth item in Table 1; since the DSK does not have a linking phase, memory allocation is done by the assembler. This means that for every code and data block, memory is allocated immediately after the ærst line is encountered. Since the assembler does not know what kind of code or data is in the following part of the code it cannot allocate the current block such that the memory usage is optimum. On the other hand, in the EVM, an assembler is used to generate object æles for every code and data section, and then a linker is used to allocate memory for each object by using their size. This results in an optimum memory allocation. When working with small projects, it might be possible to manually specify starting addresses for each code and data block for optimum memory allocation, but if the assembly code is as long as 105 pages, this is not an easy job. 3.3 Conversion from DSK compatible to EVM compatible code At this point, I had the desired assembly code in DSK compatible format and wanted to convert it to EVM compatible code. At the beginning, it seemed to be a substitution task only. I thought substitution of all DSK assembler directives to EVM assembler directives should solve my problem. Therefore I wrote a PERL script which did this job. But after running the script on the code I realized that the conversion is not as easy as I thought. The problem was that some numbers which I supposed to be addresses were in fact not 8

addresses. For example, one snapshot of the C50Test star: LAR AR2,è0001 ; load auxiliary register è2 with 1 XC 1,LT ; execute the next code if acc é 0 SBRK è01h ; subtract 1 from auxiliary register Although the AR registers are generally used as index registers, in this piece of code the AR2 register is used like an accumulator. In this case, it is not possible to discriminate whether the number in the LAR command is an address or an immediate value by looking only the LAR instruction line. 3.4 New Target: SimC50 Since, a code as long as mine cannot be converted from DSK compatible to EVM compatible manually, writing a new target which generates assembly code for EVM was the best solution. Therefore I started to write a new target in C50 domain which is called SimC50. This domain will be able to generate code for EVM and, if required, run it on the EVM simulator to obtain memory and run time statistics. One important point is that the C50 stars are written with only DSK in mind; as a result some of these stars include assembler directives which work only with DSK assembler and are not compatible with EVM assembler. Therefore all these non-compatible stars have to be æxed such that both it is possible to use them with both targets. By the time this report was written the new target was generating code and was compiling code with the EVM assembler. Although the linked code could be loaded into the EVM simulator there were still some problems with running and getting the required information back to Ptolmey. 4 Conclusion and Future Work In this project, my aim was to implement the new ITU and Bellcore compliant, zero buæering, NDFT based DTMF detection algorithm proposed by M.D. Felder, J.M. Mason, and B.L. Evans on a TMS320C50 for 24 channels. Since the inventors of this algorithm had already simulated the new algorithm in Ptolemy SDF domain, I planed to use the C50 domain to generate C50 assembly code for the detector and optimize it by hand. Since, in order to re-target a universe from one domain to another, all stars have to be present in the target domain, I have created the C50 versions of the three new SDF stars. 9

The generated code was not compatible with the TI TMS320C50 EVM board and an automatic conversion from DSK to EVM compatible code was not easy. This motivate me to write a new target for the C50 domain which can generate code for the EVM and can simulate it to obtain memory requirements and computation time information. However, all stars in C50 domain were written for the DSK target and many of them were not compatible for use with the new target. Therefore I started to modify all C50 domain stars such that they were compatible with both DSK and EVM targets. By now, the new target is able to generate EVM compatible code and use the assembler and linker to generate executable binaries. These binaries can be loaded to the simulator, but running and passing required information like memory usage and run time back to Ptolemy isnotænished yet. References ë1ë S. L. Gay, J. Hartung, and G. L. Smith, ëalgorithms for multi-channel DTMF detection for the WE DSP32 family," Proc. IEEE Int. Conf. Acoust. Speech Signal Processing, pp. 1134í1137, May 1989. ë2ë P. C. Mock, ëadd DTMF generation and decoding to DSP-ç P design," Electronic Design Engineers Magazine, pp. 205í220, March 1985. ë3ë S. Bagchi and S. K. Mitra, ëan eæcient algorithm for DTMF decoding using the subband NDFT," Proc. IEEE Int. Symp. Circ. Syst., pp. 1936í1939, April 1995. ë4ë G. Arslan, B. L. Evans, F. A. Sakarya, and J. L. Pino, ëperformance evaluation and real-time implementation of subspace, adaptive, and DFT algorithms for multi-tone detection," IEEE Int. Conf. on Telecommun., pp. 884í887, April 1996. ë5ë M. D. Felder, J. C. Mason, and B. L. Evans, ëeæcient ITU-compliant dual-tone multiple-frequency detection using the non-uniform discrete Fourier transform." IEEE Signal Processing Letters, To Appear. ë6ë M. D. Felder, J. C. Mason, and B. L. Evans, ëeæcient digital ITU-compliant, zero-buæering, DTMF detection algorithm using the non-uniform discrete fourier transform." Filed March 10, 1998. A Non-Conædential Speciæcation Sheet is available at http:èèwww.utexas.eduèacademicèotlèsoftware.htmlèdtmf. 10