DTMF receiver

Abstract: A DTMF receiver (10) recognizes each of a plurality of multi-frequency tones, each tone centered on a predetermined standard frequency. Two digital bandpass filters (14, 16) each have four frequency bins, each frequency bin operating according to a recursive second-order transfer function for preferentially transmitting frequencies near the standard frequencies. Each frequency bin accumulates, for each of a plurality of sampling periods, respective spectral energy signals from the input signal. A temporal energy signal is derived from the spectral energy signals. For each bandpass filter (14, 16), a time-domain test template generator (30) and a frequency-domain test template generator (34) are provided to generate time-domain and frequency-domain test templates. These test templates are input to an analyzer (38) that compares the templates against data-adaptive frequency-domain and time-domain reference templates.

Description: TECHNICAL FIELD OF THE INVENTION This invention relates in general to DTMF receivers, and more particularly to DTMF receivers incorpcrating digital bandpass filters. BACKGROUND OF THE INVENTION Introduced nearly three decades ago, DTMF (dual-tone multi-frequency) signaling has been widely used as a signaling method in telephone central offices, private branch exchanges, and private automatic branch exchange equipment. DTMF is also known under the mark TOUCH-TONE, a registered trademark of American Telephone and Telegraph Corporation. DTMF is also used for communications and in many other applications such as radio telephones, electronic tellers, banking/financial transactions via remote data entry, remote security and alarm activation systems, remote control systems, remote data-loggers, telemetry, toll-call restrictors, touch-tone to dial-pulse conversion and dial-pulse to touch-tone areas. There are basically two types of DTMF receivers: analog and digital. Analog DTMF receivers typically require more support chips such as a CODEC and an eight-bit microcontroller. Digital DTMF receivers do not require as many support chips because the DTMF signal is already in digital form as PCM (pulse code modulation) data. Digital DTMF receivers can be incorporated into such digital signal processor chips as members of the Texas Instruments TMS320 family, which can handle PCM inputs without the use of a CODEC. The TMS320 can also act as a powerful controller. Most existing DTMF decoders employ digital filtering techniques. Discrete Fourier transform, fast Fourier transform and other spectral and correlation techniques are both more time consuming and less desirable since standard DTMF tones are harmonically unrelated to each other. Unfortunately, most digital filtering techniques require an excessively long cycle time for front-end filtering, leaving very little real time for post-detection digit validation and for other system software overhead. Also, filtering alone is not enough to distinguish between speech and valid DTMF digits in order to meet the AT&T standard specifications for digit simulations or talk-off performance. This is largely because speech signals have spectra spanning across the entire 4 KHz range. PCM data sampled at 8 KHz can only have a maximum bandwidth of 4 KHz in order to satisfy the sampling theorem. As a result, most commercial DTMF decoder chips do not perform well in digit simulations. Therefore, a need has arisen for a digital DTMF receiver that can adequately discriminate between valid dual-tone pairs and other signal sources such as speech or noise, and further which has a sufficiently short cycle time to be useful for commercial applications. In WO 84/00867 there is described an apparatus for detecting a DTMF signal in which a received signal is divided into two broad frequency ranges by band stop filters and each broad range is used to provide four narrow frequency bands. The signal components in the narrow frequency bands are tested for timing validity and the signal levels in the two broad frequency ranges are tested for signal level validity. The timing validity requires a tone to have a presence sustained for 21 ms. The amplitude sensitivity range defining valid tone signals is adaptively narrowed according to the amplitude of the first tone signal received, having an upper threshold equal to the highest level signal received in a call and a lower threshold 9 dB below the upper threshold. Instead of adjusting the threshold levels, the input signal may be applied through an attenuator which is adjusted to give the same effect. SUMMARY OF THE INVENTION According to one aspect of the present invention there is provided apparatus for recognizing in an input signal each of a plurality of multi-frequency tone groups, each tone being centred on a predetermined frequency, comprising: first and second digital bandpass filters, each having a plurality of frequency bins, each bin incorporating a transfer function for preferentially transmitting components of the input signal near a respective one of said predetermined frequencies, each frequency bin providing a spectral energy signal for each filter sampling period and each said bandpass filter also providing a temporal energy signal as a function of said preferentially transmitted components of the input signal for said sampling periods; first and second time-domain test template generators respectively coupled to said bandpass filters for receiving said temporal energy signals and generating time-domain test templates in response thereto; first and second frequency-domain test template generators respectively coupled to said first and second bandpass filters for accumulating separately for each frequency bin of the particular filter said spectral energy signals over a plurality of filter sampling periods and for comparing the accumulated totals with at least one adaptively adjusted threshold to generate frequency-domain test templates. an analyzer coupled to said template generators for comparing at least one frequency-domain test template to a plurality of frequency-domain reference templates and for comparing said time-domain test templates to a plurality of time-domain reference templates, said analyzer providing an indication of the identity and validity of the multi-frequency tone group in the input signal upon a predetermined match of said templates. According to a second aspect of the present invention there is provided a method for detecting in an input signal each of a plurality of multi-frequency tone groups, each tone being centred on a predetermined frequency in one of a plurality of frequency bands comprising the steps of: filtering an input signal to preferentially transmit spectral components thereof near each of the plurality of preselected frequencies; generating a plurality of temporal energy signals for each of a plurality of sampling periods as a function of all of said transmitted spectral components in each frequency band for the frequency bands separately; generating a plurality of frequency bin spectral energy signals, one for each spectral component, for each of said sampling periods; generating time-domain test templates for the frequency bands separately in response to said temporal energy signals, said templates covering a plurality of said sampling periods; generating frequency-domain test templates in response to said spectral energy signals, by accumulating separately the spectral energy signals for each spectral component over a plurality of said sampling periods and comparing the accumulated totals with at least one adaptively adjusted threshold; and recognizing the presence or absence of a valid multi-frequency tone group in the input signal in response to said test templates. Preferably, the apparatus comprises a DTMF receiver that includes a low-group bandpass filter and a high-group bandpass filter. Each filter applies a second order recursive transfer function to preferentially filter frequencies near each of the four standard AT&T high group or low group frequencies, respectively. At least a high-group time-domain test template and a high-group frequency-domain test template are generated, as well as corresponding templates for the low frequency group. The frequency-domain test template is preferably created by counting the number of times the spectral energy signals exceed a predetermined, data-adaptive threshold for each frequency bin. This data adaptive threshold is preferably calculated as a function of the maximum of a plurality of the received temporal energy signal. A time-domain test template is preferably created as consecutive accumulations of the temporal energy signal for each of a plurality of sampling periods. Preferably, the analyzer of the invention calculates a data-adaptive frequency-domain reference template in real time based on the peak spectral energy signal strength, and further performs tone purity and noise energy tests to determine the presence or absence of a valid DTMF digit. A data-adaptive time domain reference template is generated based on a predetermined acceptable transient response of the bandpass filter and consecutive accumulations of the temporal energy signal. The present invention provides a significant technical advantage over conventional filtering systems in its use of an efficient and straightforward method for performing DTMF decoding. The present invention provides very efficient detection and recognition algorithms that reduce the digit detection and validation time down to a point where digital filtering becomes a feasible and commercially viable solution for DTMF decoding meeting AT&T specifications. It is believed that the combination of the filtering and data-adaptive pattern recognition aspects of the invention produce a DTMF receiver superior to existing DTMF decoding techniques. Finally, the invention can be applied to a commercially available DSP (digital signal processing) chip such as the TMS32010 to perform multi-channel DTMF decoding. All features provided by the invention are entirely software-programmable by changing the values of system parameters to adapt to the user's requirements. BRIEF DESCRIPTION OF THE DRAWINGS Further aspects of the invention and their advantages will be discerned by referring to the following detailed description when taken in conjunction with the drawings in which: FIGURE 1 is a schematic functional block diagram of a single-channel DTMF receiver according to the invention; FIGURE 2 is a signal flowgraph of either of a pair of eighth-order bandpass filters shown in FIGURE 1; FIGURE 3 is a signal flowgraph of any of four second-order transfer functions of the frequency bins as shown in FIGURE 2; FIGURE 4 is an alternative embodiment of any of the four second-order transfer functions as shown in FIGURE 2; FIGURE 5 is an exemplary graph of signal strength over time showing the center clipping signal thresholding concept of the invention; and FIGURE 6 is a schematic electrical block diagram showing one possible physical embodiment of the invention. DETAILED DESCRIPTION Referring first to FIGURE 1, a schematic functional block diagram of a DTMF receiver according to the invention is shown generally at 10. An input signal is presented on input or T1 pathway 12 to a lower-tone bandpass filter 14 and in parallel to a higher-tone bandpass filter 16. The receiver of the illustrated embodiment is designed to recognize dual-tone multi-frequency signals produced by pressing a particular digit in a push-button telephone dial. According to dual-tone multi-frequency (DTMF) standard, a particular telephone button or digit is encoded into a pair of audio signals, one taken from a low group of frequencies illustrated within bandpass filter 14 and one taken from a high group of frequencies illustrated within bandpass filter 16. Therefore, the recognition of a pair of these discrete frequencies will allow the recognition of the encoded digit. The design of bandpass filters 14 and 16 is an adaptation of the design described in the published 1978 Ph.D. thesis of the Applicant, "A Novel Design Technique and Hardware Implementation of Digital Filters For High-Speed Real-Time Digital Signal Processing", which is on file at the London University Library, London, Great Britain, and which is incorporated herein by way of reference. The function of bandpass filters 14 and 16 will be more particularly described in conjunction with FIGURES 2-4 below. Bandpass filter 14 puts out five different signals on the output line 18. A first output LY represents the relative intensity of the entire received and filtered input audio signal within a predetermined sampling period. Four other signals, LY₁-LY₄, represent relative intensities of the filtered input signal at or near each of four preselected frequencies, in the illustrated embodiment 697, 770, 852 and 941 Hertz. LY is derived as a function of LY₁-LY₄, as will be described in more detail in conjunction with FIGURE 2. The temporal energy signal LY is communicated via a path 20 to a level detector 22, while signals LY and LY₁-LY₄ are transmitted to a minimum threshold checker 24 by a path 26. The output of minimum threshold checker 24 is connected through path 28 to an energy detector and time-domain test template generator 30, and through a path 32 to a frequency detector and frequency-domain test template generator 34. Detector/generator 30 generates a time-domain test template that is transmitted through a path 36 to a validation block 38 that incorporates time and frequency pattern recognition, tone purity, noise floor check and hex digit validation functions. Frequency detector/test template generator 34 is operable to transmit a frequency-domain test template through path 40 to block 38. The functional blocks subsequent to bandpass filter 14 are mirrored in the functional blocks subsequent to bandpass filter 16. Filter 16 generates a relative intensity signal HY from the intensity of the entire received and filtered input audio signal, and further generates four spectral energy signals HY₁-HY₄ corresponding to the relative intensities of the filtered input signal at or near 1209, 1335, 1477 and 1633 Hertz. HY is derived as a function of HY₁-HY₄. The output information from bandpass filter 16 is communicated through a path 42 to a minimum threshold checker 44 that is similar to minimum threshold checker 24. The temporal energy signal HY is communicated through a path 46 to a level detector 48. Minimum threshold checker 44 is operable to pass the HY signal through a path 50 to an energy detector/time domain test template generator 52 that is similar in its organization to time-domain test template generator 30. Output signals HY₁-HY₄ are communicated from the output of minimum threshold checker 44 through a path 54 to a spectral signal detector/frequency-domain test template generator 56 that is similar in its organization to detector/generator 34. An output of level detector 22 is connected through a path 58 to a peak detector and twist checker 60. Likewise, an output of level detector 48 is connected through a path 62 to peak detector and twist checker 60. Peak detector/twist checker 60 compares the relative intensities of the signals received on paths 58 and 62 and outputs a flag on an output 64 to a data-adaptive threshold generator 68. A path 66 connects level detector 22 to data-adaptive threshold generator 68. A similar path 70 connects level detector 48 to data-adaptive threshold generator block 68. Threshold generator 68 has one output that is connected through a path 72 to peak detector and twist checker 60, a second output connected via a path 74 to frequency detector/frequency-domain test template generators 34 and 56, and a third output connected through a path 76 to energy detector/time-domain test template generators 30 and 52. Recognition block 38 has an output connected through a path 78 to a DTMF digit decoder 80. Decoder 80 has a BCD I/O port 83. Another output of DTMF digit decoder 80 is connected through a path 82 to an inter-digit pause decoder 84. Inter-digit pause decoder 84 has an output that is connected through a path 86 to a DTMF cycle initiator 88. Turning now to FIGURE 2, a flow graph corresponding to either bandpass filter 14 or bandpass filter 16 is schematically shown. The input signal x(n) is input on path 100 to scaling node 102. The signal has a scaler S applied to it through path 104 at this node. The scaled input signal is then input in parallel to each of four separate frequency bins or resonators, incorporating respective transfer functions H₁(z)-H₄(z) and represented respectively by blocks 106, 108, 110 and 112. The output of these transfer functions are input to respective scaling nodes 114-120, to which magnitude scalers S₁, -S₂, S₃ and -S₄ are respectively applied. The application of scaling factors S₁-S₄ yields frequency intensity outputs y₁(n)-y₄(n). These outputs are individually output to the next function of receiver 10, and in addition are summed at node 122 to produce overall value y(n). The transfer function for each second-order frequency bin or section 106-112 is given below: H(z) = 1-e -aT cos(bT)z -1 1 - 2e -aT cos(bT)z -1 +e -2aT z -2 Substituting C = e -aT cos bT and D = e -2aT , the transfer function can be reduced to the following: H(z) = 1 - Cz -1 1 - 2Cz -1 + Dz -2 In the above equations, e -aT is the pole radius of each complex pole pair. a is equal to half of the bandwidth of each frequency bin. b is the center frequency of each frequency bin 106-112, and T is the sampling period. The signal flowgraph of each second order bin 106-112 is schematically shown in FIGURE 3. In FIGURES 2-4, like numbers identify like nodes and functions wherever possible. As before, x(n) is input on path 100 to a node 102, at which an input scaling factor (S) is applied through path 104. The scaled signal is then input to a summation node 124 where it is summed with components provided from a path 126. A summed output proceeds on a path 128 to a node 130 and further on to a summation node 146. The signal at node 130 is fed through a first delay 132 to node 134. The signal at node 134 is scaled by quantity (2C) at node 136 and summed through path 126 to the input at node 124. The signal at node 134 is also subjected to a further delay at 138 to appear at a node 139. This twice-delayed signal is scaled at node 140 by (-D) and is added back to the input through path 126. The once-delayed signal at node 134 is also scaled at node 142 by quantity (-C). This quantity then is input by path 144 to summation node 146. The output of summation 146 is scaled at node 148 by an output scaler Sn to yield the output y(n). FIGURE 4 illustrates an alternative embodiment of one second-order bin or resonator. The shown flow graph is a modification in order to implement 32 bits of arithmetic precision and to avoid number representation and storage problems of the bin structure shown in FIGURE 3. These problems occur when the value for scaling factor (C) closely approaches one. The following substitute transfer function avoids these number representation problems: H(z) = 1+(1-2e -aT cosbT)z -1 1-(2e -aT cosbT-1+1)z -1 +e -2aT z -2 Again substituting in C and D, this equation reduces to H(z) = 1+(1-2C)z -1 1-(2C-1+1)z -1 +Dz -2 The resulting flow graph shown in FIGURE 4, is essentially the same as that shown in FIGURE 3, except that the scaling quantity (2C) in FIGURE 3 is replaced by a scaling quantity (2C-1), and the scaling quantity (-C) is replaced by a scaling quantity (1-2C). An extra path 149 is also added as an input to the summation mode 124. HARDWARE IMPLEMENTATION FIGURE 6 is one possible schematic electrical block diagram of a physical implementation of a DTMF receiver according to the invention. The decoder system illustrated is a single-channel system, and can easily be expanded to multiple channels. The system is built around a TMS32010 digital signal processor chip 154. Chip 154 is programmed with the computer program to be described in more detail below. This program is written in TMS32010 assembly language. A direct telephone input 156 is connected to an optional CODEC 158, which in turn has an output 160 that is input into an eight-bit shift register 162. In the place of or in addition to direct telephone input 156, a PCM input 164 can be provided from a Tl digital carrier trunk. Shift register 162 is used to convert the serial PCM input data to parallel data that can be placed on input port 166 of chip 154. Recognized digits are output on data bus 168 from chip 154 to a BCD output latch 170 for storing the decoded digit. Latch 170 has a decoder output 172. A timing and control block 174 is connected through paths 176, 178 and 180 respectively to shift register 162, chip 154 and output latch 170. Timing and control block 174 provides essential timing and clock signals to ensure proper operation of the system hardware. OPERATION The operation of the receiver of the invention can best be described with particular reference to FIGURE 1. The signal input on input 12 is preferably subsampled at 4 KHz and is appropriately scaled. To do this, the input 8 KHz PCM data are decimated without an anti-aliasing filter. The subsampling process of the PCM input creates aliasing for speech samples only. The intentional aliasing thus produced will also help in reducing digit simulations by non-DTMF signals. This is due to the fact that speech has a bandwidth wider than 2 KHz (the folding frequency of a digital system sampling at 4 KHz) and extends to 4 KHz and beyond in voiced segments. For unvoiced segments, speech appears as a wide band Gaussian noise that is only a band-limited by the input codec or PCM bandwidth. The net result of this aliasing effect on the speech signal is that more of the higher frequency speech energy will fall into the individual frequency bins. Under this condition, the speech signal will take on a different identity than that of a dual-tone DTMF pair, which has most of its energy concentrated in one bin per frequency group. On the other hand, since all DTMF frequencies (less than 1633 Hz) are below 2 KHz, the DTMF samples are sampled above the theoretical minimum sampling rate, resulting in no aliasing effects. This is also true even when the DTMF tones are pulsed with 40 milliseconds on/off time periods. In this last case, the frequency response of the tone pair will be made up of narrowband sinc functions centered at the respective tone frequencies. The main lobes of these sinc functions are normally very visible to the frequency detectors while their side lobes are relatively "masked" out due to the frequency separation or resolution of the frequency bins. Signal 12 is applied to bandpass filter 14, which in the preferred embodiment consists of four second-order bins that are tuned to the four standardized DTMF low frequencies. Each bin incorporates a second-order recursive filter transfer function of the type described in conjunction with FIGURES 3 and 4. Similarly, the signal is input into bandpass filter 16, which has four second-order bins that are tuned to each of the four standard high DTMF frequencies. The bandpass filters 14 and 16 will reject all frequency components of the input signal that are not at or near the specified frequencies. Preferably, the bandwidth tolerance around each specified frequency falls in the range of +/- 1.5% to +/- 3.5%. Bandpass filter 14 outputs five digital numbers for each sampling period. The sampling period in the illustrated embodiment is one-fourth of a millisecond. A value LY is derived as a function of the filtered energy signals LY₁-LY₄ of the four frequency bins. The value LY is passed to the minimum threshold checker 24 to determine whether there is sufficient energy to warrant further processing. If LY is not of a certain predetermined magnitude, minimum threshold checker 24 will issue a flag that will abort the rest of the DTMF signal analysis. When such a flag is issued, system 10 will await the input of the next sample. Value LY is also transmitted via path 20 to a level detector 22. Level detector 22 uses LY to determine the magnitude of the input signal as filtered by low-tone bandpass filter 14. This magnitude is applied through path 58 to peak detector and twist checker 60 and the data-adaptive threshold generator 68 through path 66. Value LY is also applied through paths 18, 26 and 28 to the energy detector/time test template generator 30. Detector 30 will accumulate the received temporal energy signals for each of at least three ten-millisecond intervals. These consecutive energy accumulations ELY₁, ELY₂ and ELY₃ constitute a time-domain test template, which will be transmitted via path 36 to the time and frequency pattern recognition block 38. In an alternative embodiment, energy accumulations ELY₁, ELY₂, ELY₃ and ELY₄, from four adjacent ten-millisecond intervals, could be used to generate the test template, but this has been found not to be necessary for meeting standard DTMF tone recognition requirements. Frequency bin output signals LY₁-LY₄ are transmitted through paths 18, 26 and 32 to a frequency domain detector/test template generator 34. Frequency domain detector 34 samples each of the signals LY₁-LY₄ each 250 microseconds, and counts the number of times that these signals exceed a calculated data-adaptive threshold inside a 40-millisecond period. One count will be accumulated for LY₁, a second count will be accumulated for LY₂, a third count will be accumulated for LY₃ and a fourth count will be accumulated for LY₄. Frequency detector 34 thus generates a frequency domain template that consists of four counts, one count for each of the four frequency bins of bandpass filter 14. The processing of the input signal through high-tone bandpass filter 16 is similar to the processing described above for lower-tone bandpass filter 14. Bandpass filter 16 will generate an overall energy intensity value HY, and particular frequency bin output values HY₁-HY₄ that correspond to each of the standard DTMF high frequencies. Value HY is transmitted via path 46 to level detector 48. The magnitude of HY is in turn fed through path 62 to peak detector and twist checker 60, and also to data-adaptive threshold generator 68 through path 70. Peak detector and twist checker 60 samples HY and LY a plurality of times, such as eight successive times, and chooses a peak HY value and a peak LY value. Peak detector and twist checker 60 then compares the peak magnitude of LY to the peak magnitude of HY. The difference between these magnitudes, called "twist", must not exceed certain predetermined specifications. If this difference does exceed a certain predetermined limit, the twist checker 60 will issue an abort flag and the system will be reset to receive the next input signal. The peak magnitudes of HY and LY are also used by data adaptive threshold generator 68 to generate thresholds which in the illustrated embodiment are simple percentages of these magnitudes. Thresholding block 68 is important because the input signal can have a dynamic range of approximately 25 decibels. In the illustrated embodiment, percentages of the peaks are used to establish higher-tone and lower-tone thresholds. The higher-tone threshold is transmitted through path 74 to higher-tone detector 56, and the lower-tone threshold is transmitted through path 74 to lower-tone detector 34. A third threshold is derived from the peak values of both HY and LY, and is transmitted to both time-domain template generators 30 and 52 on path 76. In an alternative embodiment, separate thresholds could be generated for each frequency component and each time-domain generator, but for standard telephone applications this has been determined not to be necessary. Value HY is transmitted through paths 42 and 50 to detector 52, where it is used to generate a time-domain high-frequency test template that in turn is transmitted through path 53 to recognition block 38. Components HY₁-HY₄ are transmitted through paths 42 and 54 to frequency detector/test template generator 56, which uses these components to generate a frequency-domain test template similar to the one generated for the low frequencies by generator 34. The frequency-domain test template is communicated through path 57 to recognition block 38. Recognition block 38 thus receives two time domain test templates and two frequency-domain test templates for each valid unaborted 40-millisecond interval. Recognition block 38 then compares these templates against respective time- and frequency-domain reference templates to identify whether a valid DTMF signal has been received. The time-domain reference templates are sets of energy accumulations derived from the corresponding energy accumulations in the test templates and known ratios ELY₁/ELY₂, ELY₂/ELY₃, etc. of an acceptable bandpass filter transient response. Each set has the same number of ratios as the time-domain test template it is compared against. Block 38 preferably contains the following checks of the signal. 1. Adaptive Time-Profile Check. Six of the eight 10 msec. components of the two 40 msec. time-domain test templates are compared with known reference templates by way of a ratio test of the time-domain transient responses of the bandpass filters. Individually tailored reference thresholds are assigned to each of the eight time bins for this comparison process. The decision-making process is dependent on predetermined acceptable transient filter responses to DTMF tone and speech inputs. 2. Data-Adaptive Frequency Domain Reference Template Generation. Each frequency-domain test template will have a peak value in one of its frequency bins that exceeds the values in the other frequency bins. This peak value, or main lobe of the signal, is detected and used to generate the frequency-domain reference thresholds discussed below. 3. Data-Adaptive Noise Floor Generation . A data-adaptive noise floor is generated by block 38 based on the energy of the main lobe or peak value of each DTMF frequency-domain test template. Associated with this adaptive noise floor are two pairs of thresholds. A pair of thresholds is assigned for the maximum allowed noise energy in the high- and low-frequency groups for a given signal-to-noise ratio. Another pair of maximum "spillover" thresholds are also generated as a function of the main lobe. These spillover thresholds are issued for the maximum allowed energy in each side lobe, or non-peak frequency bin, of the frequency test templates. 4. Tone Purity Check . A check of the individual second-order frequency bins must also indicate that there is only one distinct frequency component present in each of the two frequency-domain test templates. To achieve this, the spillover thresholds generated above are applied respectively to the low-frequency and the high-frequency group of bins. A further check is performed to make sure that at least two of the side lobes per frequency domain templates have energies below a certain threshold. If this is not the case, a noise energy test is next conducted. 5. Noise Energy Test . For each frequency group, contingent on the result of the tone purity check, a noise energy check may be performed using the data-adaptive noise energy thresholds generated in step 3. This check sums the three non-peak counts of the frequency-domain test template and compares the sum against a calculated threshold. If the sum exceeds this threshold, the current digit is rejected. If the test templates meet the above tests block 38 will validate that a DTMF digit consisting of a tone pair has been received. The output of block 38 will cause block 80 to generate a decoded BCD value that corresponds to the detected tone pair. This BCD value will be output to an I/O port 83. Time and frequency pattern recognition block 38 is also connected through paths 78 and 82 to an inter-digit pause decoder 84. This block is operable to verify that the energy of a dual-tone digit has died down to a sufficient level, typically within six milliseconds of the initial tone decay. At this stage, in the illustrated embodiment, decoder 84 starts a 34-millisecond active time delay to complete the inter-digit interval of 40 milliseconds. Upon sensing such an inter-digit interval, block 84 will send a signal on path 86 to initiator 88 to re-initialize the next DTMF reception cycle. TIMING AND CONTROL If no energy is detected over a period of eight samples, a line dropout condition is recognized and the system is reset. When energy is detected, a 40-millisecond software timer is started. The energy detector and the frequency detector embodied in chip 154 will accumulate information over this 40-millisecond interval. A tone may be detected at the end of this period. Also, the tone must be tracked since it could last for much longer than 40 milliseconds. A tone longer than 40 milliseconds should not cause multiple DTMF decoding operations as this would result in the detection of multiple key strokes. The software timing and control further ensure that there is an inter-digit pause or gap between the tones of at least 40 milliseconds. FIGURE 5 illustrates the manner in which signals are counted above (and below) a certain threshold. The input signal received on input 12 has both high and low peaks. Therefore, HY, HY₁-HY₄, LY and LY₁-LY₄ may take either positive or negative values. The thresholding data supplied by data-adaptive threshold generator 68 sets a positive limit shown at 150 at FIGURE 5, and further sets a mirror-image negative limit at 152. The points between these positive and negative limits will not be considered by detector/template generators 30, 34, 52 and 56. SOFTWARE IMPLEMENTATION Most of the functions of the DTMF receiver are provided through programming a TMS32010 chip with appropriate software. A preferred source code listing is set out below, preceded by a description of the program sections by their subtitles. The following program sections are used to initialize the program variables and to set up the RAM of the TMS32010 chip: DATA RAM MAP SYSTEM RESET VECTOR SYSTEM INITIALIZATION TABLE DTMF DIGIT DECODE TABLE INITIALIZE SYSTEM DATA RAM AND CONSTANTS INITIALIZE SYSTEM HEX DIGIT DISPLAY INITIALIZE DTMF FLAGS AND COUNTERS INITIALIZE ADAPTIVE ENERGY FRAMES INITIALIZE ADAPTIVE THRESHOLDS DATA RAM MAP This section reserves space in the TMS32010 DATA RAM for all of the system variables and labelled constants used in each module. SYSTEM INITIALIZATION TABLE This section is a table of initial values to be stored in the locations reserved for them in the DATA RAM MAP upon system initialization. DTMF DIGIT DECODE TABLE This table is a table of values that is indexed in assigning a digit value to a decoded DTMF. SYSTEM INITIALIZATION This section of the code transfers the values in the system initialization table in program memory to the data memory locations declared in the data RAM map. THRESHOLD INITIALIZATION This section initializes the adaptive thresholds and energy frames. CODEC INPUT BIOWAIT LOOP The program waits here for an input sample from the CODEC. Note that every other sample is discarded. By this method, the processing rate of the DTMF system is effectively 4 KHz, even though the CODEC is running at 8 KHz. DTMF TONE DETECTION AND ASSOCIATED PROCESSING This section comprises the bulk of the DTMF decoding routine and consists of eleven sub-modules that perform a variety of functions. Each of these sub-modules is described below. CALL HIGH/LOW GROUP FILTERS This sub-module calls the bandpass filter subroutines (later described) and is represented in FIGURE 1 by filters 14 and 16. TRACK INPUT SIGNAL ENERGY This function is likewise represented in FIGURE 1 by filters 14 and 16. This section tracks the input signal energy and the outputs of the filters are saved for use later. TRACK INPUT SIGNAL SWING/PEAK INFORMATION This sub-module is represented in FIGURE 1 by detectors 22, 48 and 60, and saves the low-group peaks and the high-group peaks in variables ADJL and ADJH respectively. The peaks will be later used in calculation of the data-adaptive thresholds. FRAME ENERGY PROCESSING FOR FIRST 40 MS. DURATION This sub-module corresponds to detector/ generators 30 and 52, and examines the four 10 msec. frames which make up a 40-millisecond period. The energy in each frame is stored in locations ELY1 - ELY4 and EHY1 - EHY4 respectively for the low-group and the high-group signals. TWIST TEST This sub-module is incorporated into block 60 of FIGURE 1, and compares the two peak values to verify that their difference (twist) is less than a preset maximum value. Optionally, this twist test can be modified to check on other twist limits. If the twist threshold is exceeded, the tones are considered to be invalid and an appropriate flag is issued. MINIMUM INPUT SIGNAL LEVEL TEST This sub-module is represented in FIGURE 1 by blocks 24 and 44, and compares the peaks against a fixed minimum level MINTHR, which can be set to any desired value. In the program set forth, MINTHR is set to -25 dB. CALCULATE DATA ADAPTIVE THRESHOLDS FOR TONES This sub-module is represented in FIGURE 1 by blocks 30, 34, 52 and 56. This sub-module employs an adaptive thresholding technique to adapt to dynamic line conditions and varying signal strengths. The thresholds are updated after monitoring the peak levels over a number of samples. One level of thresholds is used for the eighth-order results input into blocks 30 and 52 (FIGURE 1), and two other levels of thresholds are used for the frequency bin results input into blocks 34 and 56. The adaptive thresholds calculated with the multiplicative constant THRADJ at this point in the detection process are used first for the determination of tone presence in the low-group and the high-group. Next, the other adaptive thresholds are used to sort the second-order frequency bin outputs by updating the respective frequency counters. CHECK FOR THE END OF DTMF TRANSMISSION This sub-module is represented by block 84 in FIGURE 1. Between each valid DTMF character received, there is required a minimum 40-millisecond inter-digit pause. During this period, the DTMF receiver does not decode tones. To implement this requirement, one may either simply halt DTMF processing for the required period of time after each valid decode, or, one may continue to process the incoming signal and make sure that there exists an inter-digit pause of no DTMF transmission. THRESHOLD DTMF FREQUENCY BIN OUTPUTS This sub-module is incorporated into block 38 of FIGURE 1. If the tone has been present for a minimum period of 40 milliseconds, the program will check the contents of each of the frequency counters to determine which tones are present. THRHL is the minimum count for tone present, and is initialized to 60. Threshold LOLIM is the maximum spillover account for the low group, and is initialized to zero. Threshold HILIM is the maximum spillover count for the high frequency group, and is likewise initialized to zero. The maximum spillover counts are used to make sure that the true DTMF tones will not exceed the maximum allowed side lobe values for the low-frequency group and the high-frequency group. In the case of speech and other non-DTMF signals on the telephone line, these values will be exceeded. By changing these present counts, the user can easily relax or tighten the DTMF receiver tone acceptance criteria. DTMF DIGIT DECODER This module is incorporated into block 38 of FIGURE 1, and does the decoding and checking for the presence of DTMF signals. A discussion of each sub-module in this module follows. LOW-GROUP TONE DECODE An adaptive profile check is done for the four low-group frequency bins. This adaptive check is based on the energy stored in the first three frames of the 40-millisecond DTMF transmission. The test compares the energy in these frames to see if there has been too much change between them compared to reference frames. If there is too much change, then the frequency bin is rejected as not having any DTMF energy present. CALCULATE ADAPTIVE NOISE FLOOR/ENERGY FOR LOW GROUP The adaptive noise floor is calculated based on the tone count TESTL. CHECK FOR PRESENCE OF ONLY ONE TONE IN LOW-GROUP If there is only one frequency counter in each group that meets the minimum requirements of a DTMF tone, the corresponding hex digit is output to the output data bus 168 (FIGURE 6) of the TMS32010. LOW-GROUP ADAPTIVE NOISE ENERGY CHECK If there is too much energy in all four frequency bins, the signal is rejected and no DTMF tone is recognized. HIGH-GROUP TONE DECODE, CALCULATE ADAPTIVE NOISE FLOOR/ENERGY FOR HIGH-GROUP, CHECK FOR PRESENCE OF ONLY ONE TONE IN HIGH-GROUP These sub-modules are identical to the corresponding low-group sub-modules discussed immediately above with appropriate changes in the variable names. SUBROUTINE H DIGIT (LOOK UP DECODED HEX DIGIT FROM HEX TABLE) This subroutine uses a table to look up the hex digit decoded from the table. SUBROUTINE JB EDIT (OUTPUT DECODED HEX DIGIT) This subroutine outputs the hexadecimal digit todisplay hardware. SUBROUTINE HILOW (LOW-GROUP/HIGH-GROUP BANDPASS FILTERS) This subroutine corresponds to blocks 14 and 16 in FIGURE 1, and contains the bandpass filters for the low- and high-frequency groups. The filter taps provide the second-order outputs and the eighth-order results are obtained in this subroutine also. SUBROUTINE CODEC (CODEC INPUT ROUTINE) This subroutine reads in the PCM data from the CODEC and performs the logarithmic-to-linear 13-bit two's complement conversion using the CODEC-to-linear conversion table. SOURCE CODE TESTS OF THE DTMF RECEIVER The single-channel DTMF decoder of the invention performed well on all of the MITEL tests using the CM7291 MITEL tape. Most of the measured parameters are digitally controlled and may be modified to improve the decoder performance should it be required to operate in extreme conditions. A variation in each parameter is simply performed by modifying a software constant in the code. The results of the MITEL test tape are as follows: MITEL TEST Immunity to 1 KHz tone Checked Valid decodes (16 digits) 160 out of 160 Center frequency offset +/- 1.7% to 2.6% Twist acceptance +4dB to -8dB (minimum) Dynamic range 25dB (programmable) Decode or guard time 30 milliseconds Signal-to-noise performance: -24 dB: 1000 out of 1000 -18 dB: 1000 out of 1000 -12 dB: 1000 out of 1000 Talk-off test: 3 hits The signal-to-noise performance test consisted of three sections where 1000 tone pairs were transmitted in the presence of Gaussian noise. The signal-to-noise ratio was gradually reduced from -24 dB to -12 dB. The receiver performed well at all tested levels, and may even be able to decode beyond the -12 dB signal-to-noise ratio. The results of the standard AT&T digit simulation test are given below. DIGITS 1 A-D *,# 0-9 0-F Side 1: 22 9 1 55 64 2: 26 1 0 48 49 3: 32 6 1 71 78 4: 25 6 2 51 59 5: 15 10 2 38 50 6: 31 9 0 52 61 TOTAL: 151 41 6 315 362 The invention has been described as embodied in a single-channel DTMF receiver for the recognition of telephone digits. The invention however, may also be used to convert from DTMF to pulse-dialing and vice versa, and to convert from DTMF to MF and vice versa. The invention may further be used in multi-line DTMF decoding. Apart from telephone digit recognition, the receiver of the invention can be used in secured financial and computer transactions; credit checking via the public telephone network; remote data logging and remote terminals for data entry; automatic teller machines; remote home and plant control; and as an alternative to a MODEM and as a portion of an unauthorized call interceptor. The invention can further be used to validate legal accesses and intercept legal attempts as a security checker; as an activator for automatic answering services and transactions and for vocoding in store-and-forward systems. The system is further useful in the design of multi-line MF encoding and decoding, multi-line DTMF tone encoding, and as a line monitor and test signal generator. The invention can further be used in digital speech interpolation, speech recognition and speech compression, speech store-and-forward and voice mail, speech detection and call routing, voice dial/automatic call placement and teleconferencing. In summary, a digital DTMF receiver has been described. The system incorporates a pair of eighth-order digital bandpass filters that in turn supply peak intensity information to frequency domain template generators and time domain template generators. These test templates are generated using data-adaptive thresholding. The templates are then tested to detect the occurrence of a valid dual tone pair.

Claims: Apparatus for recognizing in an input signal each of a plurality of multi-frequency tone groups, each tone being centred on a predetermined frequency, comprising: first and second digital bandpass filters (14,16), each having a plurality of frequency bins (106,108,110,112), each bin incorporating a transfer function for preferentially transmitting components of the input signal near a respective one of said predetermined frequencies, each frequency bin providing a spectral energy signal for each filter sampling period and each said bandpass filter also providing a temporal energy signal as a function of said preferentially transmitted components of the input signal for said sampling periods; first and second time-domain test template generators (30,52) respectively coupled to said bandpass filters for receiving said temporal energy signals and generating time-domain test templates in response thereto; first and second frequency-domain test template generators (34,56) respectively coupled to said first and second bandpass filters for accumulating separately for each frequency bin of the particular filter said spectral energy signals over a plurality of filter sampling periods and for comparing the accumulated totals with at least one adaptively adjusted threshold (from 68) to generate frequency-domain test templates. an analyzer (38) coupled to said template generators for comparing at least one frequency-domain test template to a plurality of frequency-domain reference templates and for comparing said time-domain test templates to a plurality of time-domain reference templates, said analyzer providing an indication of the identity and validity of the multi-frequency tone group in the input signal upon a predetermined match of said templates. Apparatus according to claim 1, wherein at least one of said transfer functions is of the second-order type. Apparatus according to claim 2, wherein at least one of said transfer functions is of the form: H(z) = 1 - e -aT cosbTz -1 1 - 2e -aT cos bTz -1 + e -2aT z- 2 wherein a is half of the bandwidth of the respective frequency bin, b is a respective predetermined frequency, T is the length of each sampling period and e -aT is the pole radius of each complex pole pair. Apparatus according to claim 2, wherein at least one of said transfer functions is of the form: H(z) = 1 + (1-2e -at cosbT)z -1 1 - (2e -aT cosbT-1+1)z -1 + e -2aT z -2 wherein a is half of the bandwidth of the respective frequency bin, b is a respective predetermined frequency, T is the length of each sampling period and e -aT is the pole radius of each complex pole pair. Apparatus according to any preceding claim, wherein it is adapted to recognize a dual-tone multi-frequency signal, said first bandpass filter (14) having four frequency bins for preferentially transmitting frequencies near each of four standard low-group predetermined frequencies, said second bandpass filter (16) having four frequency bins for preferentially transmitting each of four standard high-group predetermined frequencies, and said analyzer (38) being operable to recognize a valid dual-tone pair of said predetermined frequencies. Apparatus according to any preceding claim, wherein each said time-domain test template generator (30,52) comprises an accumulator for accumulating said temporal energy signals for each of a plurality of time intervals, each interval comprising a plurality of said sampling periods. Apparatus according to claim 6, wherein said analyzer (38) is operable to generate said time-domain reference template from said time-domain test template and a plurality of known reference ratios from a predetermined acceptable digital bandpass filter response, said ratios including a first ratio of the accumulated energy for one interval of said predetermined response to the accumulated energy for the immediately preceding interval of said predetermined response, and a second ratio of the accumulated energy for an interval subsequent to said one interval to the accumulated energy of said one interval. Apparatus according to claim 6, further comprising for each said filter a data adaptive threshold generator (68) operable to select a peak temporal energy value from one of a selected plurality of temporal energy samples transmitted from said filter, said threshold generator being operable to determine a temporal energy threshold as a function of said peak energy value and to communicate said threshold to said time-domain test template generator. Apparatus according to any preceding claim, comprising a data-adaptive threshold generator (68) for generating at least one spectral energy signal threshold as a function of a peak temporal energy value selected from a plurality of said temporal energy samples transmitted by said filter, said threshold generator coupled to said frequency-domain test template generator for transmitting said spectral energy signal threshold thereto. Apparatus according to any preceding claim, wherein each said frequency-domain test template generator (34,56) includes a plurality of counters operable to count numbers of times that spectral energy signals exceed at least one spectral energy signal threshold, each counter being operable to store a sum of counts for each frequency bin. Apparatus according to claim 10, wherein said analyzer (38) includes a tone purity checker operable to reject a received frequency-domain test template if more than an acceptable calculated number of counts occur in each of a plurality of frequency bins incorporated in a single one of the filters. Apparatus according to claim 10 or claim 11, wherein said analyzer (38) further includes a noise energy tester operable to sum the counts present in each frequency bin other than a peak frequency bin incorporated in a single one of the filters, and operable to reject said input signal if said sum exceeds an acceptable calculated threshold. Apparatus according to any preceding claim, wherein said analyzer (38) includes a data-adaptive noise floor generator for generating a frequency-domain noise floor as a function of the highest accumulated spectral energy signal, said analyzer operable to reject said test templates if more than one of said spectral energy signals exceeds said noise floor. A dual-tone multi-frequency (DTMF) receiver, comprising: a low-group digital bandpass filter (14) and a high-group digital bandpass filter (16), each digital bandpass filter having a plurality of frequency bins (106-112), each bin corresponding to a standard DTMF audio frequency, each frequency bin having a recursive second-order transfer function for preferentially transmitting frequencies from an input signal near the respective standard frequency, each frequency bin accumulating, for each of a plurality of sampling periods, respective spectral energy signals and a temporal energy signal from said preferentially transmitted frequencies; a low-group time-domain test template generator (30) and a high-group time-domain test template generator (52), each time-domain test template generator coupled to a respective bandpass filter for receiving a respective temporal energy signal for each of a plurality of said sampling periods and generating a time test template in response thereto; a low-group frequency-domain test template generator (34) and a high-group frequency domain-test template generator (56) coupled to said respective bandpass filters for receiving said respective spectral energy signals for each of a plurality of said sampling periods and respectively generating a low-group frequency test template and a high-group frequency test template in response thereto; a data-adaptive threshold generator (68) for receiving said low-group temporal energy signal and said high-group temporal energy signal for a plurality of sampling period and selecting a low-group peak energy value and a high-group peak energy value therefrom, said high-group peak energy value used to generate a high-group frequency-domain threshold, said low-group peak energy value used to generate a low-group frequency-domain threshold, the lesser of said peak energy values used to generate a time-domain threshold for both the high-group and low-group filters; said time-domain test template generators (30,52) each operable to accumulate said temporal energy signals for each of a plurality of adjacent intervals, each interval comprising a plurality of sampling periods, each said frequency-domain test template generator operable to count the number of times that said spectral energy signals exceed respective frequency bin thresholds for each of said frequencies; and an analyzer (38) coupled to said time-domain test template generators and to said frequency-domain test template generators for comparing said test templates to a plurality of time- and frequency-domain reference templates, said analyzer indicating a valid DTMF signal upon a sufficient match to respective reference templates for the low group and upon a sufficient match to respective reference templates for the high group. A dual-tone multi-frequency (DTMF) receiver according to claim 14, further comprising: a subsampler for intentionally aliasing a speech component in an input signal while retaining the integrity of a DTMF component of said input signal, the output of said subsampler being coupled to said bandpass filters for transmitting a subsampled input signal thereto. A method for detecting in an input signal each of a plurality of multi-frequency tone groups, each tone being centred on a predetermined frequency in one of a plurality of frequency bands comprising the steps of: filtering an input signal to preferentially transmit spectral components thereof near each of the plurality of preselected frequencies; generating a plurality of temporal energy signals for each of a plurality of sampling periods as a function of all of said transmitted spectral components in each frequency band for the frequency bands separately; generating a plurality of frequency bin spectral energy signals, one for each spectral component, for each of said sampling periods; generating time-domain test templates for the frequency bands separately in response to said temporal energy signals, said templates covering a plurality of said sampling periods; generating frequency-domain test templates in response to said spectral energy signals, by accumulating separately the spectral energy signals for each spectral component over a plurality of said sampling periods and comparing the accumulated totals with at least one adaptively adjusted threshold; and recognizing the presence or absence of a valid multi-frequency tone group in the input signal in response to said test templates. A method according to claim 16, wherein said step of filtering the input signal comprises submitting the input signal in parallel to each of a plurality of frequency bins, and in each bin, filtering the input signal according to a recursive second-order transfer function. A method according to claim 17, wherein said step of filtering the input signal comprises applying a transfer function of the form: H(z) = 1 - e -aT cosbTz -1 1 - 2e -aT cosbTz -1 + e -2aT z -2 to the input signal for each of said frequency bins, wherein a is half of the bandwidth of the respective frequency bin, b is the centre frequency of the respective bin, T is the length of each sampling period and e -aT is the pole radius of each complex pole pair. A method according to claim 16, 17 or 18, further comprising the step of inputting the input signal to each of a low bandpass filter and a high bandpass filter for selectively filtering frequency components near or at each of four predetermined frequencies in each of a high and a low frequency band. A method according to any one of claims 16 to 19, further comprising the step of accumulating the temporal energy signals for each of the intervals to generate the time-domain test templates. A method according to claim 20, further comprising the step of generating at least one time-domain reference template based on a set of known intermember ratios of the members of a time-domain template representing a predetermined acceptable transient bandpass filter response; and comparing said time-domain test template with said at least one time-domain reference template in recognizing the presence or absence of a valid multi-frequency tone group in the input signal. A method according to any one of claims 16 to 21, wherein said step of generating the frequency-domain test templates comprises the step of counting numbers of times that the magnitudes of said spectral energy signals exceed a calculated threshold for each frequency band to produce a number of counts for each of the spectral components. A method according to claim 22, further comprising the step of generating the threshold for each frequency band as a function of the peak of said temporal energy signals over a plurality of sampling periods. A method according to claim 22, further comprising the step of generating a plurality of frequency-domain reference templates as a function of the maximum count in each of the test templates over a plurality of sampling periods. A method according to claim 22, further comprising the step of rejecting the time-domain and frequency-domain test templates if an acceptable calculated number of counts is exceeded for more than one spectral component per frequency band. A method according to any one of claim 16 to 25, wherein said step of generating the time-domain test templates comprises the step of accumulating the temporal energy signals in each of a plurality of adjacent intervals, each interval including a plurality of sampling periods. A method according to claim 26, further comprising the step of detecting an inter-digit pause when the temporal energy signals have decayed below a computed data-adaptive threshold.

Inventors: SO JOHN LING WING, SO, JOHN LING WING
Applicants: TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1989
Main classification: H04Q1
IPC codes: G01R23, H03H21, H04Q1, H03H17