CA2081535C - Method and apparatus for detecting control signals - Google Patents
Method and apparatus for detecting control signalsInfo
- Publication number
- CA2081535C CA2081535C CA002081535A CA2081535A CA2081535C CA 2081535 C CA2081535 C CA 2081535C CA 002081535 A CA002081535 A CA 002081535A CA 2081535 A CA2081535 A CA 2081535A CA 2081535 C CA2081535 C CA 2081535C
- Authority
- CA
- Canada
- Prior art keywords
- control signal
- amplitude
- signal information
- determining
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/30—Systems using multi-frequency codes wherein each code element is represented by a combination of frequencies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/02—Calling substations, e.g. by ringing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/18—Electrical details
- H04Q1/30—Signalling arrangements; Manipulation of signalling currents
- H04Q1/44—Signalling arrangements; Manipulation of signalling currents using alternate current
- H04Q1/444—Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies
- H04Q1/45—Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies using multi-frequency signalling
- H04Q1/457—Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies using multi-frequency signalling with conversion of multifrequency signals into digital signals
- H04Q1/4575—Signalling arrangements; Manipulation of signalling currents using alternate current with voice-band signalling frequencies using multi-frequency signalling with conversion of multifrequency signals into digital signals which are transmitted in digital form
Abstract
The present invention provides a method and apparatus for detecting control signal information for an element of a communication system. The controlsignal information is included in one or more segments of a signal communicated over a communication system channel. The invention provides for the application of a plurality of tapers to a segment of a communicated signal; the transformation of a tapered segment; the determination of a similarity score based on a transform of a tapered segment and a model of a control signal; the identification of control signal information based on a similarity score; and the creation of an indicator signalrepresentative of the identified control signal information to the communicationsystem element. The control signal information may comprise a dual-tone multi-frequency signal. The tapers may comprise a discrete prolate spheroidal sequence.
A similarity score may be determined based on a ratio of energy distributions. The numerator of the ratio may comprise an energy distribution based on a control signal model, and the denominator of the ratio may comprise an energy distribution based on a difference between a transformed tapered segment and the control signal model.
A similarity score may be determined based on a ratio of energy distributions. The numerator of the ratio may comprise an energy distribution based on a control signal model, and the denominator of the ratio may comprise an energy distribution based on a difference between a transformed tapered segment and the control signal model.
Description
-Method and Apparatus for Detec~in~ Control Signals Field of the Invention The present invention relates generally to receivers of control signals in a co~ nications system, such as dual-tone multi-frequency receivers in a s telephone network, and, more particularly, to the use of spectrum estimation techniques in the detection of such signals.
Back~round of the Invention As a result of tests demonstrating that push-button telephones satisfied consumer desire for faster, easier dialing, the American Telephone and Telegraph10 Company (AT&T~') began development of its TOUCH-TONE signalling system in the early 1950s. Push-button TOUCH-TONE signalling was originally devised as a replacement for the once-common rotary-dial pulse signalling system. Today, TOUCH-TONE .sign~lling controls not only the switching associated with setting up an ordinary telephone call, but also many advanced features and functions, such as 15 multiple-party teleconferencing (where, e.g., TOUCH-TONES are used to control the addition of a party to an on-going teleconference).
The TOUCH-TONE sign~lling system uses combinations of "tones" to form control signals representing "dialed" digits. The system provides eight tones (or signal frequencies) divided into two groups -- one containing four lower pitch 20 tones, and the other containing four higher pitch tones. Each digit of a telephone number is represented by two simult~neously generated tones -- one tone from each group. Since each digit is represented by a pair of tones selected from multipletones, the TOUCH-TONE system is referred to as the dual-tone multi-frequency (DTMF) signalling system.
2s The group of lower pitch tones of the DTMF system includes tones of frequencies 697, 770, 852 and 941 Hz. The group of higher pitch tones includes tones of frequencies 1209, 1336, 1447 and 1633 Hz. A total of sixteen DTMF
signals can be produced by combining one tone from each group. For example, the DTMF signal representing the digit "five" on a conventional telephone keypad comprises simultaneously generated tones at 770 Hz and 1336 Hz. Conventional telephone keypads are capable of generating 12 of the 16 possible DTMF signals (representing digits 0-9 and symbols # and *), while specialized keypads can generate all 16 DTMF signals (the conventional 12 plus special symbols A, B, C, _., and D). To identify a digit, a DTMF receiver (or detector) must determine the frequencies present in a DTMF signal and associate with such frequencies the digit they represent.
Typically, DTMF signals are not co"""u~ te~l over dedicated, noise-S free channels. Rather, they are often tr~n~mitt~cl over ordinary telephone circuits --the same circuits which caIry other signals, such as voice, music, or data. If these other signals have certain characteristics in common with DTMF signals, a DTMF
receiver may falsely identify them as DTMF signals. False identification may occur when a signal carried over a telephone circuit -- for example, a person' s voice --10 includes one tone (or frequency component) from each of the upper and lowerDTMF tone groups.
The problem of falsely identifying voice, music and other signals as DTMF signals is known as talk-off. The talk-off problem is not limited to systems which employ DTMF signalling. It affects many types of signalling systems which 1S must operate in the presence of noise.
Historically, talk-off has not presented a significant obstacle to the initiation of telephone calls by DTMF signalling. This is because, for example, people do not usually speak into their telephone handsets (or otherwise intentionally subject telephone circuits to signifie~nt noise) when dialing. However, if DTMF
20 sign~lling is to be used in the presence of noise (e.g., voice, as when adding a party to an on-going teleconference), conventional DTMF receivers may exhibit signific~nt rates of talk-off. Thus, talk-off may be especially troublesome for DTMF
~ign~lling occurring during a telephone call, when voice, music or other signals are likely to be present. Because of talk-off, many advanced DTMF signal-controlled 2s features and functions ~ccessihle during a call may be hllplopelly initiated or directed, thereby hindering or p~Gvelllillg their beneficial use.
Summary of the Invention A method and apparatus for reliably detecting control signals and reducing the frequency of false control signal identification, such as that causing 30 talk-off, are provided by the present invention. The invention operates to apply tapers (or data windows) to received signals and to determine how well transforms of the tapered signals match models of expected control signals. The present invention is applicable to the detection of communication system control signals comprising one or more frequency components such as, e.g., control signals comprising one or ~- 3 208 1 535 more sinusoidal components (such as DTMF signals, call progress signals (e.g., ring and busy signals and dial tones), supervisory audio tone signals (used in, e.g.,cellular telephony), and the CCITT (International Telephone and Telegraph Consultative Committee) No. 5 sign~lling system, among others).
S In accordance with one aspect of the invention there is provided a method of discrimin~ting control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-control signal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signal components at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the method comprising the steps of: applying a plurality of tapers to a segment of acommunicated signal; performing a transform of a tapered segment; determinin~ a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of thecommunicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and providing an indicator signal representative of control signal information to the communication system element when the communicated signal has been classified as representing control signal information.
In accordance with another aspect of the invention there is provided an apparatus for discrimin~ting control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-control signal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signal components at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the apparatus comprising: means for applying a plurality of tapers to a segment of acommunicated signal; means for performing a transform of a tapered segment; means for determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal .; .<
., !,i - 3a- 208 1 535 frequencies with signal components of the communicated signal at other information signal frequencies; means for classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and means for providing an indicator signal representative of control signal information to the communication system elementwhen the communicated signal has been classified as representing control signal information.
In an illustrative embodiment of the present invention, digital signals which may contain DTMF signals to be detected, as well as other signals, are received and sliced into time segments which may be overlapping. To each of a plurality of copies of a segment is applied one of a plurality of tapers, such as one of the Discrete Prolate Spheroidal Sequences (DPSS). Discrete Fourier Transforms of these tapered segments are determined and combined to form one or more estimatesof the distribution of signal energy as a function of frequency. A ratio of best-fit DTMF sinusoidal model energy to model misfit energy is formed for each of the DTMF sinusoidal frequencies. If the value of the ratio exceeds a threshold, there is likely to be a sinusoid at the DTMF tone frequency associated with the quotient and not elsewhere. If sinusoids are found at certain pairs of frequencies (and not elsewhere), DTMF signals may be identified. Additional tests concerning, e.g., tone duration and spacing, may be included in the DTMF signal identification procedure.
Brief Description of the Drawin~s Figure I presents an illustrative telecommunication system comprising a plurality of individual telephone networks.
Figure 2 presents an illustrative control function for the telephone network of Figure 1.
Figure 3 presents a portion of the control function presented in Figure 2 concerned with receiving and detecting control signals.
Figure 4 presents the eight lowest-order discrete prolate spheroidal sequences determined for NW=4.
Figure 5 presents the eigenvalues of discrete prolate spheroidal sequences determined for NW=4.
Figure 6 presents an illustrative DTMF receiver according to the present invention.
Figure 7 presents a time progression of signal segments provided by an illustrative embodiment of the present invention.
, ~ ,, Figure 8 presents the embodiment presented in Figure 6 illustratively augmented to provide a maximum frequency variation check, a maximum amplitude variation eheck, a maximum phase v~ri~tion check, and a twist check.
Figure 9 presents an illustrative embodiment of the present invention 5 which performs a ~imlllt~neous estimation of signal amplitude and frequency.
Figure 10 presents an illustrative embodiment of the present invention which provides for the ~imlllt:~neous estimation of the amplitudes of two component tones of a DTMF signal.
Detailed Description 0 A. Introduction to the Illustrative Embodiments A commllnication system comprises a multiplicity of devices or systems which need to co""~ icate with each other, and a set of one or more channels, coupled to the devices or systems, which facilitate co~ lnication. Perhaps the most well-known and widespread of all communication systems are the 15 telecommunication systems, such as telephone networks. These include, for example, local- and long-distance telephone networks (e.g., the AT&T long-distance telephone network), and private branch exchange networks (PBXs) (e.g., the AT&T
DEFINITY~ PBXs) used to provide special services to many businesses and institutions. A co"~"~ ication system device which transmits or receives 20 information over the system is referred to as a system station.
Figure 1 presents an illustrative col~-",lll-ication system comprising a plurality of individual telephone networks and a collection of stations. The individual telephone networks include PBXs 3, providing features such as a central answering position, station-to-station intercom calling, and connectivity to local and 25 long distance telephone networks; a local-telephone network 5, providing not only services associated with completing local telephone calls and connecting local stations to a long-distance network 6, but also integral services such as, voice-m~-.ss~ging, three-way calling, call-waiting, etc.; and a long-distance network 6, linking individual local networks 5 together and also providing integral services.
30 Stations may include telephones 1, facsimile machines 2, and personal compu~el~ 4 (PCs), among other things. The illustrative telecommllnication system of Figure 1 may further comprise, e.g., network switching systems (e.g., the AT&T 4ESS and 5ESS@) switches) network-based teleconferencing (e.g., AT&T Alliance~' Teleconferencing) and messaging (e.g., AT&T Message Service), PBX-based mÇssa~ing and switching systems, voice transaction systems, etc. Components (or parts thereof) of a co,-""~l,-ication system may be referred to generically as system elements.
In order for one system element to co"""l~l-icate with another, a system element referred to as a channel must be established. A channel may take the form of a dedicated coupling between elements, or a shared coupling used by several pairs or groups of elem~onts ~imlllt~neously. A ch~nn~l may comprise an electrical coupling, a radio link, a fiber-optic element, an acoustic coupling, etc.
lo To establish and m~int~in comml-nication channels (among other things), co"""llnication systems (such as telephone networks) may comprise one or more elements referred to as system controlfunctions. A system control function provides control of a commllnication system element in response to control signals co"-"~llni~ated over a channel by another system element. For example, a system S control function may control system switching capability directing information flow through a telephone network. That is, a commllnication channel may be established when a station desiring to initiate co"~,.-ll~-ication (a source station) with another station (a target station) transmits control signals over the network identifying the target to one or more system control functions. A system control function, in 20 response, directs the coupling (or switching) of channels to facilitate the desired commllnication between source and target stations.
In addition to, or instead of, controlling a switching capability, a system control function may control special functions, services, devices, and systems ("systems") which augment or enhance a co,--"-l,nication system's basic switching 2s and commllniration functions. Like a switching capability, these special systems are controlled by a control function in response to control signals. In telephone networks, these special systems might include call-forwarding and -transfer systems, voice-messaging, teleconferencing, transaction systems, etc. (in effect, any function, service, device or system which may be initiate(l or directed by control signals).
Figure 2 presents an illustrative system control function for the telecommllnication system of Figure 1. This control function could be resident anywhere in the telecommunication system where control of switching or special systems is needed (e.g., at a station, at a PBX, in a channel, in a local telephone network, or in a long-distance network). Input to the system control function (CF) 35 are a plurality of network comml]nication channels 7, from a plurality of system elements (not shown). These input channels are also coupled to, e.g., a network -switch 8. Switch 8, in turn, is coupled to other (output) channels 9 leading to other system elements (also not shown). Switch 8 may perform the coupling of any of the input channels 7 to any of output channels 9, and may provide special functions, all under the direction of control processor 10 of the system control function.
Control processor 10 of the system control function receives control signals from a system element via input channel 7 and input control signal interface 13. Control signals may comprise, e.g., electrical or optical signals representative of a telephone number of a target station or a code for a special function desired by a station. Control signals, when detected by control signal interface 13, are passed to 10 control processor 10 to be used as input information for software executed by the processor 10. This software, stored in program memory 11, provides the functionality associated with the system control function. As a result of executing the sof~walc, control processor 10 determines other signals necessary to, e.g., facilit~te connection of source and target stations, or to provide desired special 15 functions. (To perform its tasks, control processor 10 may employ a scratch pad memory 12 to record and accllm~ te information during processing. It may also provide the network with control signals, via output signal interf~ce 14, to further f~cilit~te establishm~nt of a communic~ti~ n channel or to provide special functions.) It is to be understood that the number, types, and configuration of 20 hardware components for the system control function of Figure 2 is merely illustrative. Other component configurations are possible. For example, a control function not comprising a central processor unit may be provided. Naturally, thepresent invention is applicable to any control function configuration which requires the detection of co,--,--lll-ication system control signals.
Control signals received by a teleco" ", ~ ication system control function may take the form of DTMF signals. As discussed above, DTMF signals may be co""-,lll-icated over telephone circuits and therefore may be included with other "noise" signals, such as voice, music, colllpuler data signals, physical noise, and crosstalk from adjacent circuits. The input control signal interface (I/F) 13 is 30 charged with the task of detecting true DTMF control signals in the presence of this noise. In performing this task, the control signal interface 13 should not mistake such noise for valid DTMF control signals (talk-off). To detect true DTMF control signals and avoid talk-off, an input control signal interface may include an illustrative DTMF signal detector according to the present invention, as shown 35 schem~tic~lly in Figure 3.
Figure 3 presents a portion of the control function presented in Figure 2.
Signals, x(t), from input channels 7 are provided to input control signal interface 13 and to an illustrative DTMF signal receiver 13' according to the present invention (other circuitry and components of interface 13 are excluded from Figure 3 for s clarity). As discussed above, signals, x(t), may be, e.g., physical electrical or optical commllnication signals, typically in digital form, which may include DTMF signalinformation intended to inspire actual system control, as well as noise (if x(t) is in analog form, it is common that the signals will be converted to digital form prior to DTMF detection). It is the task of illustrative DTMF signal receiver 13' to receive 0 signals, x(t), and to correctly isolate or identify any actual DTMF control signals which may be present in x(t). As a result of identifying a DTMF signal in x(t), illustrative DTMF signal receiver 13' produces other electrical signals, g(t), which represent identified DTMF signals present in x(t). Signals g(t) are then provided to control processor 10 to inspire desired network control. (The switch and special15 functions described above for telephone networks are illustrative of systems or devices controlled by application of physical control signals. In light of this, the ordinary artisan will understand that the present invention is applicable to many systems and devices which require the i(1enfification of physical control signals in the presence of noise.) For clarity of explanation, the illustrative embodiments of the present invention are presented as comprising individual functional blocks (including functional blocks labeled as "processors"). The functions these blocks represent may be provided through the use of either shared or dedicated h~dwale, including, but not limited to, hardware capable of executing software. (Use of the term "processor"
2s should not be construed to refer exclusively to hardware capable of executingsoftware.) Illustrative emboflim~nt~ may comprise digital signal processor (DSP)hardware, such as the AT&T DSP16 or DSP32C, and software performing the operations discussed below. Very large scale integration (VLSI) hal.lwale embodiments of the present invention, as well as hybrid DSP/VLSI embodiments, 30 may also be provided.
As part of the process of identifying DTMF signals, the illustrative embodiments of the present invention estimate energy distributions of received digiti_ed control signals. A signal's energy spectrum represents the distribution of signal energy as a function of frequency. In general, when de~e~ ing energy 35 spectra of received control signals, it is desirable to do so in a way which minimi7~s any mi~m~rping or spurious leakage of energy from one frequency in the spectrum to another. If such leakage is unchecked, a spectrum estimate may misrepresent the energy distribution of a signal and, consequently, obscure true spectral features. To limit leakage in spectrum estimates, the illustrative embo~ t~ of the present invention employ data windows or tapers. Tapers have the effect of concentratingS energy around a~plop~iate frequencies in a spectrum (i.e., where the energy actually is), thereby reducing the distortion of true spectral features.
1. Discrete Prolate Spheroidal Sequences as Tapers Several of the illustrative embo lim~nt~ of the present invention employ special tapers referred to as Discrete Prolate Spheroidal Sequences (DPSS). These lo DPSS are especially good at reducing energy leakage in spectrum estimation. While other types of tapers may be employed in embodimens~ of the present invention, because of the energy-concentrating properties of DPSS tapers, it may be instructive to consider them in some detail.
To simplify notation in this and the following sections, time t has been 15 designated as an index taking on integer values and a unit sampling interval has been ~csllmP(1, so that t=0, 1, 2, . . ., N-l. The frequencies in the formulae which follow, such asfO, are therefore numbers in the Nyquist band (-1/2, 1/2]. The bandwidth W
of a frequency band is therefore a fraction of the width of the Nyquist band, O~W<1/2. However, the physical frequencies and bandwidths of the embodiments 20 discussed below are given in Hz, as is conventionally done. To convert a physical frequency of 200 Hz to a frequencyfO as appearing in the form~ e below (where data is sampled at a rate of 8000 Hz),fo is calculated by dividing the physical frequency 200 Hz by the sampling rate, 8000 Hz:
200 Hz fo 8000 Hz 2s Similarly, a bandwidth of 1000 Hz corresponding to a bandwidth W appearing in the formlll~e below is calculated as:
W _ 1000 Hz 8000 Hz Consider a finite duration sinusoidal signal A 0 ei2~ft having a complex amplitude, A 0, and a frequency,fO, sampled at discrete times t=0,1 ,2,...,N-l . A
30 Discrete Fourier Transform (DFI) of the signal multiplied by a taper, w(t), is:
(f) N~lA -i27~fot ( ) (A.l.l) t=o - q~ 2 08 1 5 3 5 and the energy of the tapered sinusoid is IY(f ) l2. The taper, w(t), may be chosen to concentrate most of the energy of the sinusoid within a restricted frequency band, (f O - W, f O + Wl, of a spectral estimate. However, some of the energy of the sinusoid may leak to other portions of the Nyquist band. The total energy of the5 sinusoid within the Nyquist band, E~, is:
ET = J ¦y(f)¦2 df, (A.1.2) and is the same as the total energy of the tapered signal, ~, I x( t) w(t) 12 .
t=O
Similarly, the energy in the restricted band tf O - W, f O + W~, ER ~ iS:
fo+W
ER = ¦ ¦y(f)¦2 df . (A.1.3) fo -W
0 The ratio of energy within the restricted band to the total energy in the Nyquist band is referred to as the concentration ratio, ~:
fo+W
¦Y(f)l df fo-W
(A.1.4) ¦y(f ) ¦ df - l/2 where ~, quite naturally, has a m:~xi,~,,,,, theoretical value of one. The better a taper is at concentrating energy in the restricted band, (i.e., recll1cing leakage), the closer 5 is to one. Because reduction of energy leakage is desirable for accurate spectrum estim:~tes, "good" tapers are those which maximize ~. The tapers maximizing equation (A. 1.4) are several which satisfy the symmetric, Toeplitz eigenvalue problem:
t~=o ~(t -t' ) (A. 1.5) 20 where t = 0, 1, 2,...,N- 1. The solutions to this problem are the DPSS, Vk(t), k=O, 1 ,2,...,N- 1.
A concentration ratio ~k iS the eigenvalue corresponding to the eigenvector of order k, v k (t). The order of the DPSS v k (t) is defined so that 1 > ~0 > ~1 > ;~2 1N- 1 > - Moreover, the L2NW~ lowest-order DPSS have eigenvalues close to one, and therefore provide good energy concentration within the restricted band (where L*~ indicates the integer portion of *). A plurality of the DPSS, vk(t), typically O<k <K- 1 where O<R< L2NWJ, may be used in combination to provide an accurate estimate of the spectrum of a signal.
s Figure 4 presents the eight lowest-order DPSS determined for NW=4.
Figure 5 presents eigenvalues of these DPSS as a function of k. Figure 5 shows that for k <7, the DPSS have eigenvalues, ~k, which are greater than or approximatelyequal to 0.7. Moreover, for k < 5, ~ k - 1 . As such, these first eight DPSS generally, and the six lowest-order DPSS specifically, are very good at concentrating energy 10 and preventing leakage in spectrum estim~tes. Not all of the DPSS are this good, as Figure S shows for k28 (and especially for k2 10). However, for k< L2NW~ -1, values of ~ k are generally acceptable for purposes of energy concentration in spectrum estimation.
Back~round of the Invention As a result of tests demonstrating that push-button telephones satisfied consumer desire for faster, easier dialing, the American Telephone and Telegraph10 Company (AT&T~') began development of its TOUCH-TONE signalling system in the early 1950s. Push-button TOUCH-TONE signalling was originally devised as a replacement for the once-common rotary-dial pulse signalling system. Today, TOUCH-TONE .sign~lling controls not only the switching associated with setting up an ordinary telephone call, but also many advanced features and functions, such as 15 multiple-party teleconferencing (where, e.g., TOUCH-TONES are used to control the addition of a party to an on-going teleconference).
The TOUCH-TONE sign~lling system uses combinations of "tones" to form control signals representing "dialed" digits. The system provides eight tones (or signal frequencies) divided into two groups -- one containing four lower pitch 20 tones, and the other containing four higher pitch tones. Each digit of a telephone number is represented by two simult~neously generated tones -- one tone from each group. Since each digit is represented by a pair of tones selected from multipletones, the TOUCH-TONE system is referred to as the dual-tone multi-frequency (DTMF) signalling system.
2s The group of lower pitch tones of the DTMF system includes tones of frequencies 697, 770, 852 and 941 Hz. The group of higher pitch tones includes tones of frequencies 1209, 1336, 1447 and 1633 Hz. A total of sixteen DTMF
signals can be produced by combining one tone from each group. For example, the DTMF signal representing the digit "five" on a conventional telephone keypad comprises simultaneously generated tones at 770 Hz and 1336 Hz. Conventional telephone keypads are capable of generating 12 of the 16 possible DTMF signals (representing digits 0-9 and symbols # and *), while specialized keypads can generate all 16 DTMF signals (the conventional 12 plus special symbols A, B, C, _., and D). To identify a digit, a DTMF receiver (or detector) must determine the frequencies present in a DTMF signal and associate with such frequencies the digit they represent.
Typically, DTMF signals are not co"""u~ te~l over dedicated, noise-S free channels. Rather, they are often tr~n~mitt~cl over ordinary telephone circuits --the same circuits which caIry other signals, such as voice, music, or data. If these other signals have certain characteristics in common with DTMF signals, a DTMF
receiver may falsely identify them as DTMF signals. False identification may occur when a signal carried over a telephone circuit -- for example, a person' s voice --10 includes one tone (or frequency component) from each of the upper and lowerDTMF tone groups.
The problem of falsely identifying voice, music and other signals as DTMF signals is known as talk-off. The talk-off problem is not limited to systems which employ DTMF signalling. It affects many types of signalling systems which 1S must operate in the presence of noise.
Historically, talk-off has not presented a significant obstacle to the initiation of telephone calls by DTMF signalling. This is because, for example, people do not usually speak into their telephone handsets (or otherwise intentionally subject telephone circuits to signifie~nt noise) when dialing. However, if DTMF
20 sign~lling is to be used in the presence of noise (e.g., voice, as when adding a party to an on-going teleconference), conventional DTMF receivers may exhibit signific~nt rates of talk-off. Thus, talk-off may be especially troublesome for DTMF
~ign~lling occurring during a telephone call, when voice, music or other signals are likely to be present. Because of talk-off, many advanced DTMF signal-controlled 2s features and functions ~ccessihle during a call may be hllplopelly initiated or directed, thereby hindering or p~Gvelllillg their beneficial use.
Summary of the Invention A method and apparatus for reliably detecting control signals and reducing the frequency of false control signal identification, such as that causing 30 talk-off, are provided by the present invention. The invention operates to apply tapers (or data windows) to received signals and to determine how well transforms of the tapered signals match models of expected control signals. The present invention is applicable to the detection of communication system control signals comprising one or more frequency components such as, e.g., control signals comprising one or ~- 3 208 1 535 more sinusoidal components (such as DTMF signals, call progress signals (e.g., ring and busy signals and dial tones), supervisory audio tone signals (used in, e.g.,cellular telephony), and the CCITT (International Telephone and Telegraph Consultative Committee) No. 5 sign~lling system, among others).
S In accordance with one aspect of the invention there is provided a method of discrimin~ting control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-control signal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signal components at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the method comprising the steps of: applying a plurality of tapers to a segment of acommunicated signal; performing a transform of a tapered segment; determinin~ a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of thecommunicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and providing an indicator signal representative of control signal information to the communication system element when the communicated signal has been classified as representing control signal information.
In accordance with another aspect of the invention there is provided an apparatus for discrimin~ting control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-control signal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signal components at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the apparatus comprising: means for applying a plurality of tapers to a segment of acommunicated signal; means for performing a transform of a tapered segment; means for determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal .; .<
., !,i - 3a- 208 1 535 frequencies with signal components of the communicated signal at other information signal frequencies; means for classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and means for providing an indicator signal representative of control signal information to the communication system elementwhen the communicated signal has been classified as representing control signal information.
In an illustrative embodiment of the present invention, digital signals which may contain DTMF signals to be detected, as well as other signals, are received and sliced into time segments which may be overlapping. To each of a plurality of copies of a segment is applied one of a plurality of tapers, such as one of the Discrete Prolate Spheroidal Sequences (DPSS). Discrete Fourier Transforms of these tapered segments are determined and combined to form one or more estimatesof the distribution of signal energy as a function of frequency. A ratio of best-fit DTMF sinusoidal model energy to model misfit energy is formed for each of the DTMF sinusoidal frequencies. If the value of the ratio exceeds a threshold, there is likely to be a sinusoid at the DTMF tone frequency associated with the quotient and not elsewhere. If sinusoids are found at certain pairs of frequencies (and not elsewhere), DTMF signals may be identified. Additional tests concerning, e.g., tone duration and spacing, may be included in the DTMF signal identification procedure.
Brief Description of the Drawin~s Figure I presents an illustrative telecommunication system comprising a plurality of individual telephone networks.
Figure 2 presents an illustrative control function for the telephone network of Figure 1.
Figure 3 presents a portion of the control function presented in Figure 2 concerned with receiving and detecting control signals.
Figure 4 presents the eight lowest-order discrete prolate spheroidal sequences determined for NW=4.
Figure 5 presents the eigenvalues of discrete prolate spheroidal sequences determined for NW=4.
Figure 6 presents an illustrative DTMF receiver according to the present invention.
Figure 7 presents a time progression of signal segments provided by an illustrative embodiment of the present invention.
, ~ ,, Figure 8 presents the embodiment presented in Figure 6 illustratively augmented to provide a maximum frequency variation check, a maximum amplitude variation eheck, a maximum phase v~ri~tion check, and a twist check.
Figure 9 presents an illustrative embodiment of the present invention 5 which performs a ~imlllt~neous estimation of signal amplitude and frequency.
Figure 10 presents an illustrative embodiment of the present invention which provides for the ~imlllt:~neous estimation of the amplitudes of two component tones of a DTMF signal.
Detailed Description 0 A. Introduction to the Illustrative Embodiments A commllnication system comprises a multiplicity of devices or systems which need to co""~ icate with each other, and a set of one or more channels, coupled to the devices or systems, which facilitate co~ lnication. Perhaps the most well-known and widespread of all communication systems are the 15 telecommunication systems, such as telephone networks. These include, for example, local- and long-distance telephone networks (e.g., the AT&T long-distance telephone network), and private branch exchange networks (PBXs) (e.g., the AT&T
DEFINITY~ PBXs) used to provide special services to many businesses and institutions. A co"~"~ ication system device which transmits or receives 20 information over the system is referred to as a system station.
Figure 1 presents an illustrative col~-",lll-ication system comprising a plurality of individual telephone networks and a collection of stations. The individual telephone networks include PBXs 3, providing features such as a central answering position, station-to-station intercom calling, and connectivity to local and 25 long distance telephone networks; a local-telephone network 5, providing not only services associated with completing local telephone calls and connecting local stations to a long-distance network 6, but also integral services such as, voice-m~-.ss~ging, three-way calling, call-waiting, etc.; and a long-distance network 6, linking individual local networks 5 together and also providing integral services.
30 Stations may include telephones 1, facsimile machines 2, and personal compu~el~ 4 (PCs), among other things. The illustrative telecommllnication system of Figure 1 may further comprise, e.g., network switching systems (e.g., the AT&T 4ESS and 5ESS@) switches) network-based teleconferencing (e.g., AT&T Alliance~' Teleconferencing) and messaging (e.g., AT&T Message Service), PBX-based mÇssa~ing and switching systems, voice transaction systems, etc. Components (or parts thereof) of a co,-""~l,-ication system may be referred to generically as system elements.
In order for one system element to co"""l~l-icate with another, a system element referred to as a channel must be established. A channel may take the form of a dedicated coupling between elements, or a shared coupling used by several pairs or groups of elem~onts ~imlllt~neously. A ch~nn~l may comprise an electrical coupling, a radio link, a fiber-optic element, an acoustic coupling, etc.
lo To establish and m~int~in comml-nication channels (among other things), co"""llnication systems (such as telephone networks) may comprise one or more elements referred to as system controlfunctions. A system control function provides control of a commllnication system element in response to control signals co"-"~llni~ated over a channel by another system element. For example, a system S control function may control system switching capability directing information flow through a telephone network. That is, a commllnication channel may be established when a station desiring to initiate co"~,.-ll~-ication (a source station) with another station (a target station) transmits control signals over the network identifying the target to one or more system control functions. A system control function, in 20 response, directs the coupling (or switching) of channels to facilitate the desired commllnication between source and target stations.
In addition to, or instead of, controlling a switching capability, a system control function may control special functions, services, devices, and systems ("systems") which augment or enhance a co,--"-l,nication system's basic switching 2s and commllniration functions. Like a switching capability, these special systems are controlled by a control function in response to control signals. In telephone networks, these special systems might include call-forwarding and -transfer systems, voice-messaging, teleconferencing, transaction systems, etc. (in effect, any function, service, device or system which may be initiate(l or directed by control signals).
Figure 2 presents an illustrative system control function for the telecommllnication system of Figure 1. This control function could be resident anywhere in the telecommunication system where control of switching or special systems is needed (e.g., at a station, at a PBX, in a channel, in a local telephone network, or in a long-distance network). Input to the system control function (CF) 35 are a plurality of network comml]nication channels 7, from a plurality of system elements (not shown). These input channels are also coupled to, e.g., a network -switch 8. Switch 8, in turn, is coupled to other (output) channels 9 leading to other system elements (also not shown). Switch 8 may perform the coupling of any of the input channels 7 to any of output channels 9, and may provide special functions, all under the direction of control processor 10 of the system control function.
Control processor 10 of the system control function receives control signals from a system element via input channel 7 and input control signal interface 13. Control signals may comprise, e.g., electrical or optical signals representative of a telephone number of a target station or a code for a special function desired by a station. Control signals, when detected by control signal interface 13, are passed to 10 control processor 10 to be used as input information for software executed by the processor 10. This software, stored in program memory 11, provides the functionality associated with the system control function. As a result of executing the sof~walc, control processor 10 determines other signals necessary to, e.g., facilit~te connection of source and target stations, or to provide desired special 15 functions. (To perform its tasks, control processor 10 may employ a scratch pad memory 12 to record and accllm~ te information during processing. It may also provide the network with control signals, via output signal interf~ce 14, to further f~cilit~te establishm~nt of a communic~ti~ n channel or to provide special functions.) It is to be understood that the number, types, and configuration of 20 hardware components for the system control function of Figure 2 is merely illustrative. Other component configurations are possible. For example, a control function not comprising a central processor unit may be provided. Naturally, thepresent invention is applicable to any control function configuration which requires the detection of co,--,--lll-ication system control signals.
Control signals received by a teleco" ", ~ ication system control function may take the form of DTMF signals. As discussed above, DTMF signals may be co""-,lll-icated over telephone circuits and therefore may be included with other "noise" signals, such as voice, music, colllpuler data signals, physical noise, and crosstalk from adjacent circuits. The input control signal interface (I/F) 13 is 30 charged with the task of detecting true DTMF control signals in the presence of this noise. In performing this task, the control signal interface 13 should not mistake such noise for valid DTMF control signals (talk-off). To detect true DTMF control signals and avoid talk-off, an input control signal interface may include an illustrative DTMF signal detector according to the present invention, as shown 35 schem~tic~lly in Figure 3.
Figure 3 presents a portion of the control function presented in Figure 2.
Signals, x(t), from input channels 7 are provided to input control signal interface 13 and to an illustrative DTMF signal receiver 13' according to the present invention (other circuitry and components of interface 13 are excluded from Figure 3 for s clarity). As discussed above, signals, x(t), may be, e.g., physical electrical or optical commllnication signals, typically in digital form, which may include DTMF signalinformation intended to inspire actual system control, as well as noise (if x(t) is in analog form, it is common that the signals will be converted to digital form prior to DTMF detection). It is the task of illustrative DTMF signal receiver 13' to receive 0 signals, x(t), and to correctly isolate or identify any actual DTMF control signals which may be present in x(t). As a result of identifying a DTMF signal in x(t), illustrative DTMF signal receiver 13' produces other electrical signals, g(t), which represent identified DTMF signals present in x(t). Signals g(t) are then provided to control processor 10 to inspire desired network control. (The switch and special15 functions described above for telephone networks are illustrative of systems or devices controlled by application of physical control signals. In light of this, the ordinary artisan will understand that the present invention is applicable to many systems and devices which require the i(1enfification of physical control signals in the presence of noise.) For clarity of explanation, the illustrative embodiments of the present invention are presented as comprising individual functional blocks (including functional blocks labeled as "processors"). The functions these blocks represent may be provided through the use of either shared or dedicated h~dwale, including, but not limited to, hardware capable of executing software. (Use of the term "processor"
2s should not be construed to refer exclusively to hardware capable of executingsoftware.) Illustrative emboflim~nt~ may comprise digital signal processor (DSP)hardware, such as the AT&T DSP16 or DSP32C, and software performing the operations discussed below. Very large scale integration (VLSI) hal.lwale embodiments of the present invention, as well as hybrid DSP/VLSI embodiments, 30 may also be provided.
As part of the process of identifying DTMF signals, the illustrative embodiments of the present invention estimate energy distributions of received digiti_ed control signals. A signal's energy spectrum represents the distribution of signal energy as a function of frequency. In general, when de~e~ ing energy 35 spectra of received control signals, it is desirable to do so in a way which minimi7~s any mi~m~rping or spurious leakage of energy from one frequency in the spectrum to another. If such leakage is unchecked, a spectrum estimate may misrepresent the energy distribution of a signal and, consequently, obscure true spectral features. To limit leakage in spectrum estimates, the illustrative embo~ t~ of the present invention employ data windows or tapers. Tapers have the effect of concentratingS energy around a~plop~iate frequencies in a spectrum (i.e., where the energy actually is), thereby reducing the distortion of true spectral features.
1. Discrete Prolate Spheroidal Sequences as Tapers Several of the illustrative embo lim~nt~ of the present invention employ special tapers referred to as Discrete Prolate Spheroidal Sequences (DPSS). These lo DPSS are especially good at reducing energy leakage in spectrum estimation. While other types of tapers may be employed in embodimens~ of the present invention, because of the energy-concentrating properties of DPSS tapers, it may be instructive to consider them in some detail.
To simplify notation in this and the following sections, time t has been 15 designated as an index taking on integer values and a unit sampling interval has been ~csllmP(1, so that t=0, 1, 2, . . ., N-l. The frequencies in the formulae which follow, such asfO, are therefore numbers in the Nyquist band (-1/2, 1/2]. The bandwidth W
of a frequency band is therefore a fraction of the width of the Nyquist band, O~W<1/2. However, the physical frequencies and bandwidths of the embodiments 20 discussed below are given in Hz, as is conventionally done. To convert a physical frequency of 200 Hz to a frequencyfO as appearing in the form~ e below (where data is sampled at a rate of 8000 Hz),fo is calculated by dividing the physical frequency 200 Hz by the sampling rate, 8000 Hz:
200 Hz fo 8000 Hz 2s Similarly, a bandwidth of 1000 Hz corresponding to a bandwidth W appearing in the formlll~e below is calculated as:
W _ 1000 Hz 8000 Hz Consider a finite duration sinusoidal signal A 0 ei2~ft having a complex amplitude, A 0, and a frequency,fO, sampled at discrete times t=0,1 ,2,...,N-l . A
30 Discrete Fourier Transform (DFI) of the signal multiplied by a taper, w(t), is:
(f) N~lA -i27~fot ( ) (A.l.l) t=o - q~ 2 08 1 5 3 5 and the energy of the tapered sinusoid is IY(f ) l2. The taper, w(t), may be chosen to concentrate most of the energy of the sinusoid within a restricted frequency band, (f O - W, f O + Wl, of a spectral estimate. However, some of the energy of the sinusoid may leak to other portions of the Nyquist band. The total energy of the5 sinusoid within the Nyquist band, E~, is:
ET = J ¦y(f)¦2 df, (A.1.2) and is the same as the total energy of the tapered signal, ~, I x( t) w(t) 12 .
t=O
Similarly, the energy in the restricted band tf O - W, f O + W~, ER ~ iS:
fo+W
ER = ¦ ¦y(f)¦2 df . (A.1.3) fo -W
0 The ratio of energy within the restricted band to the total energy in the Nyquist band is referred to as the concentration ratio, ~:
fo+W
¦Y(f)l df fo-W
(A.1.4) ¦y(f ) ¦ df - l/2 where ~, quite naturally, has a m:~xi,~,,,,, theoretical value of one. The better a taper is at concentrating energy in the restricted band, (i.e., recll1cing leakage), the closer 5 is to one. Because reduction of energy leakage is desirable for accurate spectrum estim:~tes, "good" tapers are those which maximize ~. The tapers maximizing equation (A. 1.4) are several which satisfy the symmetric, Toeplitz eigenvalue problem:
t~=o ~(t -t' ) (A. 1.5) 20 where t = 0, 1, 2,...,N- 1. The solutions to this problem are the DPSS, Vk(t), k=O, 1 ,2,...,N- 1.
A concentration ratio ~k iS the eigenvalue corresponding to the eigenvector of order k, v k (t). The order of the DPSS v k (t) is defined so that 1 > ~0 > ~1 > ;~2 1N- 1 > - Moreover, the L2NW~ lowest-order DPSS have eigenvalues close to one, and therefore provide good energy concentration within the restricted band (where L*~ indicates the integer portion of *). A plurality of the DPSS, vk(t), typically O<k <K- 1 where O<R< L2NWJ, may be used in combination to provide an accurate estimate of the spectrum of a signal.
s Figure 4 presents the eight lowest-order DPSS determined for NW=4.
Figure 5 presents eigenvalues of these DPSS as a function of k. Figure 5 shows that for k <7, the DPSS have eigenvalues, ~k, which are greater than or approximatelyequal to 0.7. Moreover, for k < 5, ~ k - 1 . As such, these first eight DPSS generally, and the six lowest-order DPSS specifically, are very good at concentrating energy 10 and preventing leakage in spectrum estim~tes. Not all of the DPSS are this good, as Figure S shows for k28 (and especially for k2 10). However, for k< L2NW~ -1, values of ~ k are generally acceptable for purposes of energy concentration in spectrum estimation.
2. Numerical Evaluation of the DPSS
The DPSS obey the following symmetric tridiagonal eigenvalue equation:
N-l ~, S~uvk(u) = ~kVk(t) ~ (A.2. 1) U=O
where:
2 t(N-t) u=t-l S _ ~ (to--t)2 cos27~w U = t (A. 2. 2 ) 2 (t+l)(N-l-t) u=t+1 o lu-tl~l N-l 20 for t,u = 0,1,2,...,N-l, where to = 2 ' and ~3k lS another elgenvalue assoclated with vk(t), as discussed by D. Slepian, Prolate Spheroidal wavefunctions, Fourier analysis and uncertainty - V: The discrete case, 57 Bell System Tech. J., 1371-1429 (1978). The DPSS can be found for a wide range of values of W and N by solving the pair of 2 x 2 1 tridiagonal matrix eigenvalue equations of the form 2a8153~
(A.2.1) using conventional procedures such as that provided by Smith et al., Matrix eigensystem routines - EISPACK guide, Lecture Notes in Colllpuler Science No. 6 (the complete NxN system need not be solved because the DPSSs are either odd or even about their midpoints at t = to). Because the DPSS are scaled to have unit N-l energy, ~ (vk(t))2 = 1, the concentration ratios ~k, k=0,1,2,...,N-l, can be t=O
determin~cl from the sum:
N~l (t) sin21~W(t--t ) v (t~) (A.2.3) 3. Tapers Other Than the DPSS
In some applications it may be desirable to use sets of tapers other than 10 the DPSS. For example, there are alternative sets of tapers with energy concentration pl.,pel~ies which are almost as good as those of the DPSS, such astrlln~te~l products of Hermite polynomials with a Gaussian density.
A second class of alternative tapers may be obtained by replacing (A.1.3) in the discussi~n above with:
ER = ¦ IY(f)l 2S(f)df, where the weighting spectrum S(f ) might, for example, contain the average out-of-band energy distribution. This may provide enhanced protection against sources of taLlc-off having this energy distribution, and may be plefelled for environments with identifiable noise characteristics.
A third class of alternative tapers is given by the discrete Rarhunen-Loève expansion. If process statistics are known accurately, tapers given by theKarhunen-Loeve (K-L) expansion have the fastest convergence, in a statistical sense, of any possible taper set and give m~ximllm-likelihood estimates.
If the Karhunen-Loeve expansion is converted to the frequency domain 25 and the frequency domain is restricted as in (A.1.3), tht~ tapers are solutions of the integral equation:
~2~n~ n(f) = ¦ S(~) sinN~(f--~ ) d~ (A.3.2) where S(~) is the power spectrum of the signal causing taL~-off. (If S(~,) is constant in ~fO - W, fO + Wl, the K-L tapers are frequency shifted DPSS.) Linear combinations of the discrete prolate spheroidal sequences efficiently approximate the restricted K-L tapers. The hybrid ha~clware described earlier may be adapted to use this statistical information, wherein the eigen-coefficients are computed by VLSI
S CilCuiLI y and the subsequent processing performed by a DSP. This approach has the advantage that it may be made adaptive: using either the DPSS or the band-limited Karhunen-Loeve tapers for 'average' speech initially, the eigencoefficienti could be transformed to reflect an individual's speech statistics.
B. An Illustrative Multiple Taper DTMF Receiver o An illustrative DTMF receiver 13' according to the present invention for use in, e.g., an input control signal interface 13, is presented in Figure 6. The receiver comprises a signal slicer 15 (which receives input signals which may contain DTMF signals and provides usable segments thereof), a DFT processor 20 (which applies tapers to the signal segments and computes the DFT of the tapered15 segments), a memory 25, coupled to DFT processor 20 (for storing taper data used by DFT processor 20), a spectrum amplitude estimator 30 (for estimating the amplitude of a spectrum at specific frequencies), a statistical F-Test processor 40 (for determining the how well the energy of the received signal is explained by a sinusoidal model at a given frequency), and a DTMF signal identifier 50 (which, 20 depending on inform~tion received from F-Test processor 40, may provide an output indicative of a particular DTMF signal to a system or device 60 which operates on received DTMF signals). Illustrative sor~w~c related to this embodiment (written in the "C" programming language) is presented in an Appendix hereto. This software may be executed on conventional hardware platforms, such as, e.g., a SUN@' 2s SPARCstation 1.~
Signal x(t) is a discrete series of values which may represent, among other things, a DTMF signal. The signal is input to signal slicer 15 which divides this discrete series into sets of contiguous or overlapping signal segments, each comprising N elements. That is, x (S) ( t), s = 0,1 ,2 ,.... Figure 7 presents a time 30 progression of the segments, x(5) (t), for signal x(t). A signal segment may be cont~min~ted with noise, and a DTMF signal may begin or end any time within a segment. To detect short duration DTMF signals and ~hort inter-digit intervals, a signal segment may be chosen to be less than 30msec in duration; an illustrativevalue is lOmsec, corresponding to a segment of about N = 80 samples at the standard -8000Hz telephone system sampling rate.
DFT processor 20 receives signal segments from signal slicer 15 and computes 24 DFTs of length N from each segment, x(S) (t). Each DFT is of the form:
Yk (fj) = ~ X(s)(t)vk(t)e-i2~fit (BØ1) t=o wherefj, 1 < j ~ 8,representstheeightDTMFtonefreqllen~ies,andvk(t), 0 < k < 2, represents the three lowest-order DPSS specified by values for N and W.
The resulting values Yks) ( fj ) are referred to as eigen-coefficients and are provided as output from DFT processor 20 to spectrum amplitude estimator 30. (DFT processor 10 20 may be replaced by a processor performing other transforms such as Laplace, Walsh, etc.) The values of the tapers vk(t) may be stored in memory 25, which may be, e.g., a semiconductor pro~ able read-only memory (PROM), and recalled as needecl There is thus a DFT for each of the eight frequencies at which DTMF tones are found and each of the three lowest-order DPSS, yielding 24 DFTs for each 15 segment x(S) (t).
The number of tapers used by the DFT processor 20 is chosen to be the integer portion of 2NW - 1. The tapers are determined based on a set of frequencies that include a spectral feature of noise ("noise" being non-DTMF signals) in addition to that which contributes to taLk-off. Thus, the bandwidth 2W is chosen wide 20 enough to ~ çrimin~te between DTMF signals and other signals which may cause taLk-off. In this embodiment, a value for W should be chosen such that there can be at most one frequency component from a valid DTMF signal in the range of frequencies ~fj + W, fj - W] for 1 < j < 8. A different value for W may be chosen for eachf;. An illustrative value for W for allfj is 230 Hz/8000 Hz. This25 allows use of the three lowest-order DPSS (the integer portion of 2NW - 1 equals 3, where N=80) and defines bandwidths which avoid dial tone frequencies used in most of North America (for other values of W, it may be useful to elimin~tP dial tonefrequencies with a high-pass filter.
To reduce the number of computations required to determine y~S) (f j ), 30 equation (BØ1) can be implemented by successively ~u~ g precomputed values retrieved from memory 25. These precomputed values comprise the application of tapers to all possible values of data. For example, assuming x(t) is an 8-bit ~-law signal, x(t) may take on any of 28 (or 256) possible values. Memory tables for the expression v k ( t) X( t) e i2~fjt may be precomputed and stored in memory 25 for each k, t, and frequencyf;. Values for j, k, t and x(t) may be used to index the tables and retrieve the precomputed values. Since there are only eight DTMF tone frequencies and, forexample, threevalues forkrequired, only 8x3x2xN=48N
tables of 256 entries need to be stored (where N is the length of the segment and the 5 factor of two arises due to real and im~in~ry components). Summing precomputedvalues to form ykS) ( f; ) will alleviate much of the computational burden of pe~ro~ g real-time DFTs.
Amplitude estimator 30 receives the eigen-coefficients, Yks) (f j ), and determines an estimate of the complex amplitude of a transformed signal segment at lo the eight defined frequencies at which DTMF tones may be found. At each such frequency,f;, an amplitude estimate in the 5th segment, A( ), is formed as a weighted sum of the eigen-coefficients:
K-l ~; Vk (O ) Yk ) (fi ) A (f;) = K-l 2 ' (BØ2) ~ , (Vk(O)) k=O
N-l where Vk (f ) = ~, v k (t) e- i27~ft (Vk (O) iS the DFT of v k ( t) evaluated at f=0) and t=o 15 K=3.
Expression (BØ2) for estimated amplitude, A ( ) (f; ), is derived by minimi~ing an expression for model misflt energy:
2(fi) = ~ ¦yk(f;)--A Vk(0)¦ (BØ3) with respect to A at each frequencyf=f;. Model misfit energy in the frequency 20 domain represents how a transform of an actual signal, yk(f;), differs from a N-l transformofasinusoidalmodelofthesignal,A Vk(O),whereVk(O) = ~, vk(t).
t=o If the signal is accurately represented by a sinusoid atf;, 2 (f; ) will be small. If not, 2 (f; ) will be large. The sinusoidal model is useful since DTMF signals to be detected comprise sinusoids. A (f j ) is determined by ~A j = ~ and solving for 2s A.
ThevaluesofA( )(fj), 1 < j < 8,areprovidedasoutputfromthe amplitude estimator 30 to the statistical F-Test processor 40.
2~3153~
, The statistical F-Test processor 40 determines which of the eight DTMF
tone frequencies, if any, are present in a group of R successive signal segments in question. It does this by detçrmining values for a test variable, Fs ( fj ):
(K--1)5 (~ A(s)(f )12 K~l ¦V (o)¦2 Fs(fj) S-(R-l) K-l ^(s) = 2 (BØ4) y~S)(fj) _ A (fi)vk(o)l s=S k=O
S where R=3, K=3 and S is the index of the latest segment. The nu~ a~or of the expression for Fs ( fj) represents the energy of a best-fitting sinusoidal model at frequencyf;, while the dem)min~tor represents the energy associated with the difference between the received signal and the sinusoidal model, sometimes referred to as the misfit energy. If the group of signal segments is well-al~ploxi~ tçd by the 0 model (i.e., if the received signal actually contains a signal sinusoid at frequencyf;), the numerator of Fs ( fj) will be nearly the signal energy, the misfit energy will be small, and the ratio, Fs (fj), will be large. Conversely, if the model does not match the signal, the modeled (or explained) energy will be small, the misfit energy will be large, and the ratio Fs ( f j) will be small.
The F-Test discussed above (BØ4) is highly frequency sensitive. That is, Fs ( f j ) will tend to be large only when a group of R segments includes a sinusoid at a frequency very close to an expected frequency,f;. Because of DTMF tone generator component tolerances, aging, etc., and teleco"""llniç~tion system-based frequency shifts, DTMF signals may not be c~mmunicated exactly at the expected 20 frequencies,fj. Consequently, reduced F-Test frequency sensitivity may be desirable. Moreover, it may be needed to satisfy DTMF system specifications which may require a DTMF receiver to identify tones which are within a certain frequency range about expected frequencies. A segment length of 10 msec provides a relaxation in the F-Test frequency sensitivity, when compared with longer length2s segm~-nts, to allow for variation of +(1.5 % + 2Hz) of expected DTMF frequencies, fj-F-Test processor 40 determines values for Fs ( fj ) at each of the four low DTMF tone frequencies (697 Hz, 770 Hz, 852 Hz, and 941 Hz) and each of the four high DTMF tone frequencies (1209 Hz, 1336 Hz, 1447 Hz, and 1633 Hz).
30 Values of Fs ( fj ) are output from F-Test processor 40 to a DTMF tone identifier 50.
The DTMF tone identifi~r 50 receives the values Fs ( fj ) and determines whether such values indicate the presence of a DTMF signal. A DTMF signal may be identified when one and only one determined value of Fs ( f; ), 1 < j < 4, and one and only one determinP~l value of Fs ( f j ), S < j < 8, exceed a selected 5 confidence threshold.
In the absence of a valid DTMF signal, the random variable Fs ( f j ) is approxim~tely distributed as a central "F" distribution with 2R and 2R(K - 1 ) degrees of freedom. The confidence thresholds for values of F corresponding to agiven number of degrees of freedom can either be calculated or found in a set of0 statistical tables (e.g., Abramowitz and Stegun, Handbook of Mathernatical Function With Formulas, Graphs and Mathematical Tables, Ch. 26 (1964)). The DTMF tone identifier 50 can therefore determine, with a desired level of confidence, whether the energy present in a spectrum can be attributed to a sinusoid at a given frequency.
For example, if K=3, R=3, and Fs ( fj ) > 4. 82, a confidence level of 99% is 5 indicated.
If one and only one value of Fs ( f j) associated with each tone group exceeds a confidence threshold, a DTMF signal is identified by DTMF signal i~lentifier 50 as the ordered pair of frequencies, ~L ,fjH), at which Fs ( fj) exceeds the threshold (wheref;L is the one frequency at which Fs ( f; ), 1 < j < 4, exceeds the 20 confidence threshold, andfJH is the one frequency at which Fs ( f j ), 5 < j < 8, exceeds the same threshold). Responsive to identifying a DTMF signal, an in(lic~tor signal specifying the DTMF signal, gm~ O<m<15, is passed to system element 60 which operates in response to the detected DTMF signal. In the illustrative control function presented in Figure 2, system element 60 comprises control processor 10.
2s In generating signal gm~ DTMF tone itlentifier 50 may enforce certain re(luilcmcllts regarding DTMF signal length, DTMF signals in consecutive segments, and time gaps between DTMF signals defined by a DTMF system speçific~tion. For example, a DTMF system specification may require the rejection of any DTMF signal which is not at least 40 msec in duration. A DTMF system 30 specification may require that when a given DTMF signal is present in consecutive segments, gm should reflect a single DTMF signal and not a DTMF signal per segment. Also, a system specification may require that when time between consecutive like-DTMF signals is less than a threshold (e.g., 20 msec), the consecutive like-DTMF signals should be treated as a single DTMF signal.
The specific characteristics and form of gm may be determined by the logical and electrical interface re~lui~clllen~s of system element 60. In the context of an illustrative network control function discussed above, these interface re~ui~clllents may be dictated by control processor 10.
s If other than one and only one value of FS ( fj ) for each tone groupexceeds the threshold, then DTMF tone identifier 50 will not pass any in~lic~torsignal to system element 60.
Regardless of whether a DTMF signal is detected in one or more signal segments, the entire detection process continues in real time. That is, the operation 0 of signal slicer 15, DFT processor 20/memory 25, amplitude estimator 30, F-Test processor 40, and DTMF signal iclentifier 50 is continued to determine whether subsequent signal segments, x(5) (t), contain DTMF signals. To aid multiplexed applications, DTMF tone identifier 50 may provide a signal, NS, to signal slicer 15 to provide control of the application of signal segments, x(5) (t), to DFT processor 20 15 for processing.
Although each calculation of Fs ( f j ) by F-Test processor 40 requires DFT and amplitude information for each of R consecutive segments, values for y~S) and A ( ), once determined by DFT processor 20 and amplitude estimator 30, respectively, may be stored by F-Test processor 40 for use in subsequent calculations 20 of FS(fj)-The illustrative embodiment discussed above and presented in Figure 6may be augmented to provide ~ lition~l testing of the received signal segments.
Such additional testing may be desirable to determine the presence of DTMF signals with even greater certainty, or to satisfy criteria for "good" DTMF signals which 2s may be defined by a DTMF system specification. Figure 8 presents the embodiment of Figure 6 illustratively augmented to provide a m~ximllm frequency variation check 51, a m~xi.l,,,.,. amplitude variation check 52, a m~xim~lm phase variation check 54, and a twist check 56. This embodiment also includes an interface 58 toprovide the requisite logical and electrical compatibility with system element 60, as 30 well as the processing associated with DTMF signal duration, consecutive segments with like-DTMF signals, and inter-signal gaps.
~8 1 ~J3~
im~m Frequency Variation of DTMF Tones A DTMF system specification may place requirements on the degree to which DTMF tones can vary from agreed-upon standards and still be accepted as valid. For example, a system specification may provide that a received sinusoid with s frequencyf shall not be accepted as a valid DTMF tone (with frequencyf;) if If j - f 120.035 fj. This requirement can be accomplished by making amplitude estimates not only at frequenciesfj, but also at frequencies 1.035f; and 0.965fj.
As before, a check is made by DTMF tone identifier 50 to see if there is one and only one tone in each of the low and high tone groups. If not, DTMF tone10 itlPntifier 50 may reject the signal as a non-DTMF signal and notify signal slicer 15 as described above. If there is only one tone in each of these groups as determined by DTMF tone identifier 50 (designated asfjL andfjH for frequencies in the low and high tone groups, respectively), a check is made by processor 51 to determine whether the estimated amplitudes at bothfjL andfjH are greater than the estimated 15 amplitudes evaluated at frequencies offset by + 3. 5 % off jL andf jH, respectively. If so, actual received tones atfL andfH are within the + 3. 5 % re~lui~ t and, as such, may be accepted as constituting a valid DTMF signal atf jL ,f jH. If not, then the requirement is ~ns~ti~fied and no DTMF signal atfjL ,fjH may be recognized.
Signal slicer 15 may then be notified by process 51 (via the NS signal) to provide the 20 next signal segment. This test may be conducted for each of the R segments considered (see Appendix).
2. M~im~-m Amplitude Variation of DTMF Tones DTMF signal tones exhibit relatively constant amplitude. To help insure the detection of actual DTMF tones, an amplitude consistency check for the R
2s segments considered by F-Test processor 40 may be performed illustratively as follows.
The above-described embodiment of the present invention determines an amplitude estimate for each segment at each DTMF tone frequency, A ( ) (f j ).
Assuming that one tone from the low and high tone groups with frequenciesfjL and30 fjH, respectively, have been identified by DTMF tone identifier 50, an average absolute amplitude over R (e g 3) segments at each frequencyfJL andfjH is determined as:
A--(fjLH) = ~ A(s)(fL,H)¦ (B.2.1) -~g- 2081535 The value A (fiL~H ) is used by processor 52 to calculate at each frequency a quantity FAMp (fjL H ), which COl~)alc;S average amplitude to an amplitude dispersion between segments:
FAMP(f; ) (R--1)(A(fjL~H))2 ` 2 (B.2.2) S ~ A (s) (f L~H ) ¦ _ s=S
s Because FAMP (f;L H ) is inversely proportional to the dispersion of I A ( ) (fjL H ) 1, small values for FAMp (fjL H ) are indicative of a tone with significantly varying amplitude over R segments. TonesfjL7fiH which vary beyond the degree expected for DTMF tones, but which might otherwise satisfy the F-Test, are rejected by processor 52. Thus, if either of the tones atfjL orfjH fail this check, no DTMF
0 signal atfJL,fjH may be identified. Under such cil-;u~ ances, signal slicer 15 may be notified by processor 52 to provide the next signal segment. A threshold value for FAMp (fjL H ) may be chosen which, if not exceeded, will require rejection of the DTMF signal. An illustrative value for the FAMP (fjL H) threshold is 2.5.
3. l~ iml-m Phase Variation of DTMF Tones As with tone amplitude, the phase of a DTMF tone is relatively constant for its duration. To help insure the detection of actual DTMF tones, a m~ximllm phase variation check for the R segments may be pelrolllRd by processor 54 illustratively as follows.
A value for D (where R=3) is determin~d by processor 54 for each of the 20 tones identified by F-Test processor 40,fjL andfjH, such that D(fL,H) = A (f ) _ (l)(f ), (B.3.1) where values for A ( ) (fjL H ) are complex. (For R>3, similar formlll~e may be used.) The greater the phase shifts which may be present, the greater the value of D.
Tones exhibiting phase shifts which vary beyond the degree expected for DTMF
2s tones, but which might otherwise satisfy the F-Test, are rejected by processor 54. If either of the tones at fjL orfjH fail this check, no DTMF signal at fjL ,fjH may be identified. As described above, signal slicer 15 may be notified. A threshold value for D (fjL H ) may be chosen which if exceeded shall require rejection of the DTMF
signal. Illustrative values for the threshold for D are 0.33 and 1Ø
The DPSS obey the following symmetric tridiagonal eigenvalue equation:
N-l ~, S~uvk(u) = ~kVk(t) ~ (A.2. 1) U=O
where:
2 t(N-t) u=t-l S _ ~ (to--t)2 cos27~w U = t (A. 2. 2 ) 2 (t+l)(N-l-t) u=t+1 o lu-tl~l N-l 20 for t,u = 0,1,2,...,N-l, where to = 2 ' and ~3k lS another elgenvalue assoclated with vk(t), as discussed by D. Slepian, Prolate Spheroidal wavefunctions, Fourier analysis and uncertainty - V: The discrete case, 57 Bell System Tech. J., 1371-1429 (1978). The DPSS can be found for a wide range of values of W and N by solving the pair of 2 x 2 1 tridiagonal matrix eigenvalue equations of the form 2a8153~
(A.2.1) using conventional procedures such as that provided by Smith et al., Matrix eigensystem routines - EISPACK guide, Lecture Notes in Colllpuler Science No. 6 (the complete NxN system need not be solved because the DPSSs are either odd or even about their midpoints at t = to). Because the DPSS are scaled to have unit N-l energy, ~ (vk(t))2 = 1, the concentration ratios ~k, k=0,1,2,...,N-l, can be t=O
determin~cl from the sum:
N~l (t) sin21~W(t--t ) v (t~) (A.2.3) 3. Tapers Other Than the DPSS
In some applications it may be desirable to use sets of tapers other than 10 the DPSS. For example, there are alternative sets of tapers with energy concentration pl.,pel~ies which are almost as good as those of the DPSS, such astrlln~te~l products of Hermite polynomials with a Gaussian density.
A second class of alternative tapers may be obtained by replacing (A.1.3) in the discussi~n above with:
ER = ¦ IY(f)l 2S(f)df, where the weighting spectrum S(f ) might, for example, contain the average out-of-band energy distribution. This may provide enhanced protection against sources of taLlc-off having this energy distribution, and may be plefelled for environments with identifiable noise characteristics.
A third class of alternative tapers is given by the discrete Rarhunen-Loève expansion. If process statistics are known accurately, tapers given by theKarhunen-Loeve (K-L) expansion have the fastest convergence, in a statistical sense, of any possible taper set and give m~ximllm-likelihood estimates.
If the Karhunen-Loeve expansion is converted to the frequency domain 25 and the frequency domain is restricted as in (A.1.3), tht~ tapers are solutions of the integral equation:
~2~n~ n(f) = ¦ S(~) sinN~(f--~ ) d~ (A.3.2) where S(~) is the power spectrum of the signal causing taL~-off. (If S(~,) is constant in ~fO - W, fO + Wl, the K-L tapers are frequency shifted DPSS.) Linear combinations of the discrete prolate spheroidal sequences efficiently approximate the restricted K-L tapers. The hybrid ha~clware described earlier may be adapted to use this statistical information, wherein the eigen-coefficients are computed by VLSI
S CilCuiLI y and the subsequent processing performed by a DSP. This approach has the advantage that it may be made adaptive: using either the DPSS or the band-limited Karhunen-Loeve tapers for 'average' speech initially, the eigencoefficienti could be transformed to reflect an individual's speech statistics.
B. An Illustrative Multiple Taper DTMF Receiver o An illustrative DTMF receiver 13' according to the present invention for use in, e.g., an input control signal interface 13, is presented in Figure 6. The receiver comprises a signal slicer 15 (which receives input signals which may contain DTMF signals and provides usable segments thereof), a DFT processor 20 (which applies tapers to the signal segments and computes the DFT of the tapered15 segments), a memory 25, coupled to DFT processor 20 (for storing taper data used by DFT processor 20), a spectrum amplitude estimator 30 (for estimating the amplitude of a spectrum at specific frequencies), a statistical F-Test processor 40 (for determining the how well the energy of the received signal is explained by a sinusoidal model at a given frequency), and a DTMF signal identifier 50 (which, 20 depending on inform~tion received from F-Test processor 40, may provide an output indicative of a particular DTMF signal to a system or device 60 which operates on received DTMF signals). Illustrative sor~w~c related to this embodiment (written in the "C" programming language) is presented in an Appendix hereto. This software may be executed on conventional hardware platforms, such as, e.g., a SUN@' 2s SPARCstation 1.~
Signal x(t) is a discrete series of values which may represent, among other things, a DTMF signal. The signal is input to signal slicer 15 which divides this discrete series into sets of contiguous or overlapping signal segments, each comprising N elements. That is, x (S) ( t), s = 0,1 ,2 ,.... Figure 7 presents a time 30 progression of the segments, x(5) (t), for signal x(t). A signal segment may be cont~min~ted with noise, and a DTMF signal may begin or end any time within a segment. To detect short duration DTMF signals and ~hort inter-digit intervals, a signal segment may be chosen to be less than 30msec in duration; an illustrativevalue is lOmsec, corresponding to a segment of about N = 80 samples at the standard -8000Hz telephone system sampling rate.
DFT processor 20 receives signal segments from signal slicer 15 and computes 24 DFTs of length N from each segment, x(S) (t). Each DFT is of the form:
Yk (fj) = ~ X(s)(t)vk(t)e-i2~fit (BØ1) t=o wherefj, 1 < j ~ 8,representstheeightDTMFtonefreqllen~ies,andvk(t), 0 < k < 2, represents the three lowest-order DPSS specified by values for N and W.
The resulting values Yks) ( fj ) are referred to as eigen-coefficients and are provided as output from DFT processor 20 to spectrum amplitude estimator 30. (DFT processor 10 20 may be replaced by a processor performing other transforms such as Laplace, Walsh, etc.) The values of the tapers vk(t) may be stored in memory 25, which may be, e.g., a semiconductor pro~ able read-only memory (PROM), and recalled as needecl There is thus a DFT for each of the eight frequencies at which DTMF tones are found and each of the three lowest-order DPSS, yielding 24 DFTs for each 15 segment x(S) (t).
The number of tapers used by the DFT processor 20 is chosen to be the integer portion of 2NW - 1. The tapers are determined based on a set of frequencies that include a spectral feature of noise ("noise" being non-DTMF signals) in addition to that which contributes to taLk-off. Thus, the bandwidth 2W is chosen wide 20 enough to ~ çrimin~te between DTMF signals and other signals which may cause taLk-off. In this embodiment, a value for W should be chosen such that there can be at most one frequency component from a valid DTMF signal in the range of frequencies ~fj + W, fj - W] for 1 < j < 8. A different value for W may be chosen for eachf;. An illustrative value for W for allfj is 230 Hz/8000 Hz. This25 allows use of the three lowest-order DPSS (the integer portion of 2NW - 1 equals 3, where N=80) and defines bandwidths which avoid dial tone frequencies used in most of North America (for other values of W, it may be useful to elimin~tP dial tonefrequencies with a high-pass filter.
To reduce the number of computations required to determine y~S) (f j ), 30 equation (BØ1) can be implemented by successively ~u~ g precomputed values retrieved from memory 25. These precomputed values comprise the application of tapers to all possible values of data. For example, assuming x(t) is an 8-bit ~-law signal, x(t) may take on any of 28 (or 256) possible values. Memory tables for the expression v k ( t) X( t) e i2~fjt may be precomputed and stored in memory 25 for each k, t, and frequencyf;. Values for j, k, t and x(t) may be used to index the tables and retrieve the precomputed values. Since there are only eight DTMF tone frequencies and, forexample, threevalues forkrequired, only 8x3x2xN=48N
tables of 256 entries need to be stored (where N is the length of the segment and the 5 factor of two arises due to real and im~in~ry components). Summing precomputedvalues to form ykS) ( f; ) will alleviate much of the computational burden of pe~ro~ g real-time DFTs.
Amplitude estimator 30 receives the eigen-coefficients, Yks) (f j ), and determines an estimate of the complex amplitude of a transformed signal segment at lo the eight defined frequencies at which DTMF tones may be found. At each such frequency,f;, an amplitude estimate in the 5th segment, A( ), is formed as a weighted sum of the eigen-coefficients:
K-l ~; Vk (O ) Yk ) (fi ) A (f;) = K-l 2 ' (BØ2) ~ , (Vk(O)) k=O
N-l where Vk (f ) = ~, v k (t) e- i27~ft (Vk (O) iS the DFT of v k ( t) evaluated at f=0) and t=o 15 K=3.
Expression (BØ2) for estimated amplitude, A ( ) (f; ), is derived by minimi~ing an expression for model misflt energy:
2(fi) = ~ ¦yk(f;)--A Vk(0)¦ (BØ3) with respect to A at each frequencyf=f;. Model misfit energy in the frequency 20 domain represents how a transform of an actual signal, yk(f;), differs from a N-l transformofasinusoidalmodelofthesignal,A Vk(O),whereVk(O) = ~, vk(t).
t=o If the signal is accurately represented by a sinusoid atf;, 2 (f; ) will be small. If not, 2 (f; ) will be large. The sinusoidal model is useful since DTMF signals to be detected comprise sinusoids. A (f j ) is determined by ~A j = ~ and solving for 2s A.
ThevaluesofA( )(fj), 1 < j < 8,areprovidedasoutputfromthe amplitude estimator 30 to the statistical F-Test processor 40.
2~3153~
, The statistical F-Test processor 40 determines which of the eight DTMF
tone frequencies, if any, are present in a group of R successive signal segments in question. It does this by detçrmining values for a test variable, Fs ( fj ):
(K--1)5 (~ A(s)(f )12 K~l ¦V (o)¦2 Fs(fj) S-(R-l) K-l ^(s) = 2 (BØ4) y~S)(fj) _ A (fi)vk(o)l s=S k=O
S where R=3, K=3 and S is the index of the latest segment. The nu~ a~or of the expression for Fs ( fj) represents the energy of a best-fitting sinusoidal model at frequencyf;, while the dem)min~tor represents the energy associated with the difference between the received signal and the sinusoidal model, sometimes referred to as the misfit energy. If the group of signal segments is well-al~ploxi~ tçd by the 0 model (i.e., if the received signal actually contains a signal sinusoid at frequencyf;), the numerator of Fs ( fj) will be nearly the signal energy, the misfit energy will be small, and the ratio, Fs (fj), will be large. Conversely, if the model does not match the signal, the modeled (or explained) energy will be small, the misfit energy will be large, and the ratio Fs ( f j) will be small.
The F-Test discussed above (BØ4) is highly frequency sensitive. That is, Fs ( f j ) will tend to be large only when a group of R segments includes a sinusoid at a frequency very close to an expected frequency,f;. Because of DTMF tone generator component tolerances, aging, etc., and teleco"""llniç~tion system-based frequency shifts, DTMF signals may not be c~mmunicated exactly at the expected 20 frequencies,fj. Consequently, reduced F-Test frequency sensitivity may be desirable. Moreover, it may be needed to satisfy DTMF system specifications which may require a DTMF receiver to identify tones which are within a certain frequency range about expected frequencies. A segment length of 10 msec provides a relaxation in the F-Test frequency sensitivity, when compared with longer length2s segm~-nts, to allow for variation of +(1.5 % + 2Hz) of expected DTMF frequencies, fj-F-Test processor 40 determines values for Fs ( fj ) at each of the four low DTMF tone frequencies (697 Hz, 770 Hz, 852 Hz, and 941 Hz) and each of the four high DTMF tone frequencies (1209 Hz, 1336 Hz, 1447 Hz, and 1633 Hz).
30 Values of Fs ( fj ) are output from F-Test processor 40 to a DTMF tone identifier 50.
The DTMF tone identifi~r 50 receives the values Fs ( fj ) and determines whether such values indicate the presence of a DTMF signal. A DTMF signal may be identified when one and only one determined value of Fs ( f; ), 1 < j < 4, and one and only one determinP~l value of Fs ( f j ), S < j < 8, exceed a selected 5 confidence threshold.
In the absence of a valid DTMF signal, the random variable Fs ( f j ) is approxim~tely distributed as a central "F" distribution with 2R and 2R(K - 1 ) degrees of freedom. The confidence thresholds for values of F corresponding to agiven number of degrees of freedom can either be calculated or found in a set of0 statistical tables (e.g., Abramowitz and Stegun, Handbook of Mathernatical Function With Formulas, Graphs and Mathematical Tables, Ch. 26 (1964)). The DTMF tone identifier 50 can therefore determine, with a desired level of confidence, whether the energy present in a spectrum can be attributed to a sinusoid at a given frequency.
For example, if K=3, R=3, and Fs ( fj ) > 4. 82, a confidence level of 99% is 5 indicated.
If one and only one value of Fs ( f j) associated with each tone group exceeds a confidence threshold, a DTMF signal is identified by DTMF signal i~lentifier 50 as the ordered pair of frequencies, ~L ,fjH), at which Fs ( fj) exceeds the threshold (wheref;L is the one frequency at which Fs ( f; ), 1 < j < 4, exceeds the 20 confidence threshold, andfJH is the one frequency at which Fs ( f j ), 5 < j < 8, exceeds the same threshold). Responsive to identifying a DTMF signal, an in(lic~tor signal specifying the DTMF signal, gm~ O<m<15, is passed to system element 60 which operates in response to the detected DTMF signal. In the illustrative control function presented in Figure 2, system element 60 comprises control processor 10.
2s In generating signal gm~ DTMF tone itlentifier 50 may enforce certain re(luilcmcllts regarding DTMF signal length, DTMF signals in consecutive segments, and time gaps between DTMF signals defined by a DTMF system speçific~tion. For example, a DTMF system specification may require the rejection of any DTMF signal which is not at least 40 msec in duration. A DTMF system 30 specification may require that when a given DTMF signal is present in consecutive segments, gm should reflect a single DTMF signal and not a DTMF signal per segment. Also, a system specification may require that when time between consecutive like-DTMF signals is less than a threshold (e.g., 20 msec), the consecutive like-DTMF signals should be treated as a single DTMF signal.
The specific characteristics and form of gm may be determined by the logical and electrical interface re~lui~clllen~s of system element 60. In the context of an illustrative network control function discussed above, these interface re~ui~clllents may be dictated by control processor 10.
s If other than one and only one value of FS ( fj ) for each tone groupexceeds the threshold, then DTMF tone identifier 50 will not pass any in~lic~torsignal to system element 60.
Regardless of whether a DTMF signal is detected in one or more signal segments, the entire detection process continues in real time. That is, the operation 0 of signal slicer 15, DFT processor 20/memory 25, amplitude estimator 30, F-Test processor 40, and DTMF signal iclentifier 50 is continued to determine whether subsequent signal segments, x(5) (t), contain DTMF signals. To aid multiplexed applications, DTMF tone identifier 50 may provide a signal, NS, to signal slicer 15 to provide control of the application of signal segments, x(5) (t), to DFT processor 20 15 for processing.
Although each calculation of Fs ( f j ) by F-Test processor 40 requires DFT and amplitude information for each of R consecutive segments, values for y~S) and A ( ), once determined by DFT processor 20 and amplitude estimator 30, respectively, may be stored by F-Test processor 40 for use in subsequent calculations 20 of FS(fj)-The illustrative embodiment discussed above and presented in Figure 6may be augmented to provide ~ lition~l testing of the received signal segments.
Such additional testing may be desirable to determine the presence of DTMF signals with even greater certainty, or to satisfy criteria for "good" DTMF signals which 2s may be defined by a DTMF system specification. Figure 8 presents the embodiment of Figure 6 illustratively augmented to provide a m~ximllm frequency variation check 51, a m~xi.l,,,.,. amplitude variation check 52, a m~xim~lm phase variation check 54, and a twist check 56. This embodiment also includes an interface 58 toprovide the requisite logical and electrical compatibility with system element 60, as 30 well as the processing associated with DTMF signal duration, consecutive segments with like-DTMF signals, and inter-signal gaps.
~8 1 ~J3~
im~m Frequency Variation of DTMF Tones A DTMF system specification may place requirements on the degree to which DTMF tones can vary from agreed-upon standards and still be accepted as valid. For example, a system specification may provide that a received sinusoid with s frequencyf shall not be accepted as a valid DTMF tone (with frequencyf;) if If j - f 120.035 fj. This requirement can be accomplished by making amplitude estimates not only at frequenciesfj, but also at frequencies 1.035f; and 0.965fj.
As before, a check is made by DTMF tone identifier 50 to see if there is one and only one tone in each of the low and high tone groups. If not, DTMF tone10 itlPntifier 50 may reject the signal as a non-DTMF signal and notify signal slicer 15 as described above. If there is only one tone in each of these groups as determined by DTMF tone identifier 50 (designated asfjL andfjH for frequencies in the low and high tone groups, respectively), a check is made by processor 51 to determine whether the estimated amplitudes at bothfjL andfjH are greater than the estimated 15 amplitudes evaluated at frequencies offset by + 3. 5 % off jL andf jH, respectively. If so, actual received tones atfL andfH are within the + 3. 5 % re~lui~ t and, as such, may be accepted as constituting a valid DTMF signal atf jL ,f jH. If not, then the requirement is ~ns~ti~fied and no DTMF signal atfjL ,fjH may be recognized.
Signal slicer 15 may then be notified by process 51 (via the NS signal) to provide the 20 next signal segment. This test may be conducted for each of the R segments considered (see Appendix).
2. M~im~-m Amplitude Variation of DTMF Tones DTMF signal tones exhibit relatively constant amplitude. To help insure the detection of actual DTMF tones, an amplitude consistency check for the R
2s segments considered by F-Test processor 40 may be performed illustratively as follows.
The above-described embodiment of the present invention determines an amplitude estimate for each segment at each DTMF tone frequency, A ( ) (f j ).
Assuming that one tone from the low and high tone groups with frequenciesfjL and30 fjH, respectively, have been identified by DTMF tone identifier 50, an average absolute amplitude over R (e g 3) segments at each frequencyfJL andfjH is determined as:
A--(fjLH) = ~ A(s)(fL,H)¦ (B.2.1) -~g- 2081535 The value A (fiL~H ) is used by processor 52 to calculate at each frequency a quantity FAMp (fjL H ), which COl~)alc;S average amplitude to an amplitude dispersion between segments:
FAMP(f; ) (R--1)(A(fjL~H))2 ` 2 (B.2.2) S ~ A (s) (f L~H ) ¦ _ s=S
s Because FAMP (f;L H ) is inversely proportional to the dispersion of I A ( ) (fjL H ) 1, small values for FAMp (fjL H ) are indicative of a tone with significantly varying amplitude over R segments. TonesfjL7fiH which vary beyond the degree expected for DTMF tones, but which might otherwise satisfy the F-Test, are rejected by processor 52. Thus, if either of the tones atfjL orfjH fail this check, no DTMF
0 signal atfJL,fjH may be identified. Under such cil-;u~ ances, signal slicer 15 may be notified by processor 52 to provide the next signal segment. A threshold value for FAMp (fjL H ) may be chosen which, if not exceeded, will require rejection of the DTMF signal. An illustrative value for the FAMP (fjL H) threshold is 2.5.
3. l~ iml-m Phase Variation of DTMF Tones As with tone amplitude, the phase of a DTMF tone is relatively constant for its duration. To help insure the detection of actual DTMF tones, a m~ximllm phase variation check for the R segments may be pelrolllRd by processor 54 illustratively as follows.
A value for D (where R=3) is determin~d by processor 54 for each of the 20 tones identified by F-Test processor 40,fjL andfjH, such that D(fL,H) = A (f ) _ (l)(f ), (B.3.1) where values for A ( ) (fjL H ) are complex. (For R>3, similar formlll~e may be used.) The greater the phase shifts which may be present, the greater the value of D.
Tones exhibiting phase shifts which vary beyond the degree expected for DTMF
2s tones, but which might otherwise satisfy the F-Test, are rejected by processor 54. If either of the tones at fjL orfjH fail this check, no DTMF signal at fjL ,fjH may be identified. As described above, signal slicer 15 may be notified. A threshold value for D (fjL H ) may be chosen which if exceeded shall require rejection of the DTMF
signal. Illustrative values for the threshold for D are 0.33 and 1Ø
4. lVlinimllm and Maximum Twist of a DTMF Signal The specification of a DTMF ~ign~lling system may set fairly wide limits on the permissible relative amplitudes of the two tones in a received DTMF
5 signal. These wide limits allow for a phenomenon known as twist, caused by imperfect tone generators in telephone sets and frequency-dependent attenuation in a commllnic~tions network over which tones are tr~n~mitt~1 If AL is the amplitude of a lower frequency tone,f~L, identified by tone identifier 50 and AH is the amplitude of a higher frequency tone,fJH, identified by tone identifier 50, a DTMF ~ign~lling o specificationmayrequirethat-6dB < ~ < 8dB,ifthepairoftonesf~L,fHis to be itlentified as a DTMF signal. Twist check processor 56 determines whether the value of I ~ I falls outside the specified bounds. If so, then the DTMF signal associated with these tones may be rejected and signal slicer 15 may be notified.
C. An Illustrative Embodiment Providing Simultaneous Fetim~tion of Amplitude and Frequency As discussed above, convention provides that an ideal DTMF signal comprises a pair of sinusoids at defined frequencies. As a practical matter, however, tones which form real DTMF signals may deviate slightly from the definitions. Such deviations may be caused by, among other things, imperfectly-tuned DTMF signal 20 generators. Naturally, specifications for DTMF systems may require that smalldeviations from defined frequencies be accommodated by DTMF receivers. In an embodiment discussed above, small deviations are accommodated through use of short signal segments which have the effect of lessening the frequency selectivity of the F-Test. Below, a further embodiment for accommodating deviations from 2s defined frequencies is described. This embodiment operates to determine an estimate of frequency deviation, in addition to tone amplitude, and reject toneswhich deviate in frequency beyond an acceptable amount.
Figure 9 presents an illustrative embodiment for the contemporaneous estimation of amplitude and frequency. Signal slicer 15, DFT processor 20, and 30 memory 25 are the same as those discussed above. Amplitude and frequency estimator 70 receives eigen-coefficients y~5) ( fj ) from DFT processor 20 and 2~8153S
determines A( )(fj) as perequation (BØ2). Using the estimatedA( )(f;), estimator 70 determin~s an estimate of frequency deviation aboutfj, &js), as follows:
~, G kY~ ( f j ) â(s) = k=0 , , (CØ 1) --2 ~,Hkyl~)(fj) + A (fj) ~ ¦ Gk¦ + 2 ~ Vk()Hk k=0 ~k=0 k=0 s whereGk = --i2rc ~, (t--to)vk(t),Hk = --2~2 ~ (t--to)2V (t) and t=0 t=0 to = 2 . Alternatively, an estimate of the frequency offset aj at segment S may be formed by combining i,lfolmation from segment S and the previous R -1 segments~ suchas 1 s (~, l)&(s) s=S
With values for &jS) and A ( ) (f j ) determined, e~inlator 70 determines 10 whether there is at least one tone in each of the high and low DTMF tone groups which is within i ( 1. 5 % + 2Hz) of the defined DTMF tone frequencies,f j. This is done by assessing whether the values for &55) are within the required bounds off;
(such bounds may provide, e.g., that I âi(s) I < 0.035fj). The processing described below need be pe~rolllled only for those tones within the required bounds. If there is 1S not at least one tone with âjS) within the required bounds in both the high and low frequency bands, then processing for the current group of segments may cease andthe signal slicer 15 may be notified to provide the next segment.
Once &j(S) is dettlmilled, a refined amplitude estimate A ( ) (fj ) can be determined as follows:
~, Vk()Yk)(fj) + âjs) ~ GkYks)(f ) A (fj) = K--1 k=0 (CØ2) k - 0 1 l or, more accurately, as follows:
~ Vk(0;&j )Yk (fj) A (fj) = K-l 2 ' (CØ3) ~, ¦Vk(O;&j ~¦
- 2~-2G~1~3~
-where Vk(O;a) = N~,l Vk(t) ei2~a(t-tO) Often (C 0 2) provides an adequate t=O
appro~i,llation to A ( ) (fj ).
F-Test processor 72 determin~s Fs ( fj ) as follows:
(K 1) ~ IA (f;)¦ ~ ¦Vk(O;&5 ~¦
¦ Y ks) ( f j ) --A (S) ( f j ) Vk ( 0; &5S~ ) ¦
s=S k=O
s This embodiment of the present invention may be augmented as described above with additional processing associated with, e.g, a maximum amplitude variation check 52, a maximum phase variation check 54, and a twist check 56.
Furthermore, the amplitude and phase variation checks, 52 and 54, may 10 be combined since an estimate of the frequency offset in the 5~h segment a¦S) is known. Consider an illustrative DTMF receiver designed so that R successive segments of N elements each have to contain a valid DTMF signal for the receiverto determine that a DTMF signal is present. A tone with amplitude B and a frequency nearfj can be represented as:
B i2~tfj(s)(t+S(N-l)); t=0,1,2,...N--1 (CØ5) in the 5th segment, where fj(s)=f; +aj(S) iS the frequency, and alS) is the frequency offset in the 5 th segment. The initial amplitude of the tone in the 5 th segment is Aj(s) = Bei2~s(N-l)fi(s) (CØ6) The DTMF receiver produces the amplitude estimates A5s), which can be phase 20 shifted to yield the quantities B ( ) which are estimates of the amplitude B in the 5 th segment:
B ( ) = A5s) e-i2~S(N-l)fj(s) (C O 7) The true amplitude B can be estimated by an arithmetic average of the B ( ) B = R ~ B( ) = 1 (~ )A55~e-i2~5(N-1)fj(5) (CØ8) s=S s=S
2s and the sample variance of the B ( ) C52 = I ~ ¦B(S) B¦ (C O 9) -2~ ~8~ ~3~
provides a measure of the spread of the random variables B ( ). The variance ratio IB l2 FB = ^2 (C.O. 10) 2~B
is roughly F-distributed with 2 and 2R - 2 degrees of freedom. The ratio FB may be com~ ed with a threshold, illustratively 2.5. When FB is less than the threshold, 5 the complex amplitude of successive segments is determined to vary more than expected for a DTMF tone and the segment may be rejected.
D. An Illustrative Embodiment Providing Contemporaneous Fit of Two DTMF
- Tones A further illustrative embodiment of the present invention is presented lo in Figure 10. This embodiment provides for the contemporaneous fit (or estimation) of the amplitudes of two tones which may form a DTMF signal. Unlike the emb~limt-nti discussed above, where one or more values for W are chosen to define limited bands about defined DTMF tone frequencies f j, the present embodiment provides a frequency band centered about a frequencyfc. A value for W is chosen to 15 provide a band aboutfc which includes all eight possible DTMF tone frequencies.
In the embodiments previously described, a model for DTMF signal energy (employed in the F-Test) concerned a single frequency component in given frequency bands about frequenciesf;. In this embodiment, the model for DTMF
signal energy includes both frequency components representing the low and high 20 tones of a DTMF signal.
Suppose that a frequency band [fC - W,fC + W) is chosen to include all DTMF tone frequencies,fj, and exclude call-progress frequencies,fcp (such as those associated with dial tone (350 Hz and 440 Hz)). For example, such a band may be provided by defining a center frequency offc corresponding to 1500 Hz, and 2s a bandwidth of 2W corresponding to 2000 Hz, so that the band extends from 500 to 2500 Hz.
GivenvaluesforNandW,asetofDPSS,vk(t), k=0,1,2...K-l,may be determined to concentrate received signal energy within the band. There are at most l2NW~ of these sequences (or tapers) which resist leakage. By choosing a 30 wide frequency band, L2NW~ may be a dozen or more. For example, if the duration of a signal segment is T = 10 msec, and the sampling period is ~ = 1/ 8000Hz, each segment contains N = T/~ = 80 samples. If 2W corresponds to 2000 Hz as above, 20~ ~ 535 then there are applo~ ately L2NW~ = K = 20 tapers that have useful leakage properties (i.e., concentration ratios, ~k, approximately equal to one3. Values for the 20 tapers may be determined as described above and stored in memory 26 along with the values for tapers as described above for W corresponding 230 Hz.
s As with the embodiments described above, a signal which may contain a DTMF signal, x(t), is provided to signal slicer 15, which in turn provides signal segments x(S) (t). These segments are passed to DFT processor 20 which determines eigen-coefficients, y~S) (fj), by pelrolll~ihlg DFTs as described above using the tapers retrieved from memory 26.
The eigen-coefficients, y~S) (fj ), are provided to amplitude and frequency estimator 75. In addition, a set of coefficients, y~S) ( f c ), are determined for later use. Amplitude and frequency estimator 75 determines amplitude estimates, A( ) (f~ ), as per equation (BØ2), and estimates of frequency deviation aboutfj, &55), as per equation (CØ1). With values of &55) computed, e~Lilllalor 75 determines 5 whether there is one and only one tone in each of the low and high DTMF tone groups within _( 1. 5 % + 2Hz) of the defined DTMF tone frequencies,f j, referred to as fjL andfjH, respectively. This is done, as in section C, by assessing whethervalues for &55) are within the required bounds offj, applying a preliminary F-Test of the form (CØ4), performing phase and amplitude checks, and a twist check. If other 20 than two single tones (one in each band) are i~lensified, processing of the current segment may cease and the signal slicer 15 may be notified. Otherwise, the following processing may be pelrulllled.
Estimator 75 determines estimates of the frequency of the identified single tones by ~ lling the appl~,l.liate values offj, i.e.,fjH andfjL, with associated 2s values of &55) â5s)L and &5s)H:
fL fj + â5 (DØ1) f~ fj + &5 (DØ2) With frequency estimates determined, estimator 75 determines estimates of amplitude at these frequencies in the segment s:
D ,~oY~ (fc){V~(fC--f,( ))IV~(fC--f~S) ~12_ V~c(f _f~S))V (f f~,~S))V (f ~ ) }
(DØ3) - 25 - 2 ~ 3 ~
D it~oY~ (fc){V~(fc f~ )lv~(fc-f~s) ~12--V/~(fc-f~,s) 3V~ (f--f~ (f -f~S))}
(DØ4) where * represents a complex conjugate and D = ~, ¦ Vk (f C--f~,S) ) ¦ ¦ Ve (f c--f~S) ) ¦
-- ~ Vk (f C--f~S) ) Vk ( f C--fL(S) ) Ve ( f C--fL(s) ) V~ ( f c--f~S) ). (D . O. 5 ) k~e=o With values forA(s) andA~s) dele~ ed, F-Testprocessor 77 may determine a value for F (S) as follows:
IA(S) 12 ~, ¦ V (f _f~,s))¦2 + ¦A(S) 12 ~, I vk(f _f~S))12 2 ~, ¦y(s)(f )--A( ) Vk(fc--fl; ))--AH Vk(fc fH ~¦
which is F-distributed with 4 and 2K - 4 degrees of freedom, and is a measure of0 how well the 5 th segment fits the DTMF model. If a segment is associated with a small value of F (5), then it probably does not contain a valid DTMF signal. On the other hand, if the segment is associated with a large value of F(s), the segmentwould more probably be associated with true DTMF signals. As in sections B and C, the sensitivity of (DØ6) may be enhanced by averaging both numerator and 5 denomin~tc-r of (DØ6) over R segments. As with the embo lim~nti discussed above, additional tests may be performed to augment this embodiment.
This matrix-based test, although useful in low signal-to-noise environments, may take more processing time than other DTMF tests. Therefore, while it may be used generally, it may also be appropliate to limit its use to deciding 20 intçrme~ te cases that arise only rarely. The F-Test can be made more ~i~çrimin~ting by increasing the bandwidth 2W, as long as this does not cause tones which are a natural part of a telephone system, such as call progress tones, to intrude on the frequency band [ f C - W,f C + W). If this occurs, steps can be taken to make this test useful. For example, the model can be expanded to include the call progress 25 tones, and the amplitudes of these call progress tones can be determined. However, this may increase the size of the matrix problem that must be solved and lead toincreased complexity and slower processing.
E. DTMF Signal Distortion DTMF receivers may be confronted with DTMF signals which suffer from distortion, either due to problems with a DTMF tone generator, or because of distortion created by a network. For example DTMF tones may not have constant 5 frequency, but may suffer from phenomena known as frequency drift or chirp. Some telephones may produce DTMF tones which are amplitude mod~ tecl, making a single DTMF signal appear like several repeated DTMF signals. Furthermore, nonline~rities in either a DTMF tone generator or a network may result in significant intermodulation components in a DTMF signal. Distortion may also take the form 10 of clipping or qll~nti7~tion error. If these sources of distortion are severe, real DTMF signals may be rejected by a DTMF receiver at an unacceptable rate.
In the context of the present invention, these problems may be addressed by relaxing the rejection thresholds associated with various tests. This, of course, may increase talk-off events. A balance may therefore need to be struck in receiver 5 design given the severity of the distortion experienced.
Alternatively, identified distortion may be introduced into the models of DTMF signals used by the F-Test. Tuning the F-Test in this fashion may avoid increasing talk-off events at the expense of complexity.
- 27 - ~ ~8 1 53 5 /*U~e three fixed dft'~ ~nominal +- 3.5%) per frequency bin */
#include <3tdio.h>
#include <math.h>
#define K 3 #define PI 3.141592654 #define NFREQ 8 #define NWIN 3 #define USAGE "3dfttql -nsample~ -blinear-3,mu-law sparc=2,mu-lawsl,\
aqcii=O -s~kip ifile dfile ofile"
#define 8UFSZ 8192 #define FRAT 5.0 #define MAXPWR 3.5 #define MINPWR -30.0 float freql[NFREQ]={672.0,743.0,822.2,908.1,1166.7,1289.0,1425.3,1575.8};
float freq[NFREQ]={697.0,770.0,852.0,941.0,1209.0,1336.0,1477.0,1633.0~;
float freqh[NFREQ]={721.395,797.0,881.8,974.0,1251.3,1382.8,1528.7,1690.2~;
char *tt table[][4] = {
( -ln~ ~2n~ n3n~ nAn ~
{..4--,"5",n6",nBn}
{ 7 , 8 , 9 , C ~, {~*n~non n#n nDn~
~ ;
main(argc,argv~
int argc;
char **argv;
{
extern int optind;
extern char *optarg;
char dtype[8], ibuf[BUFSZ];
char *ttlogic();
double v2, vO[K], data[80],fdatar[NFREQ][K],fdatai[NFREQ][~], AOr[NFREQ], AOi[NFREQ], res[NFREQ~, A qeqr[NFREQ][NWIN], A qeqi[NFREQ][NWIN],re~ ~eq[NFREQ][NWIN], F[NFREQ], AOlr[NFREQ],AOli[NFREQ],AOhr[NFREQ],AOhi[NFREQ], A ~eqlr[NFREQ][NWIN],A qeqli[NFREQ][NWIN],A qeqhr[NFREQ][NWIN], A ~eqhi[NFREQ][NWIN],re~ qeql[NFREQ][NWIN],req 3eqh[NFREQ][NWIN], Fl[NFREQ],Fh[NFREQ],reql[NFREQ],re~h[NFREQ],fdatalr[NFREQ][K], fdatali[NFREQ][K],fdatahr[NFREQ][K],fdatahi[NFREQ][K],pow,powdbm, nfreq[NFREQ][NWIN];
double taper[80][K];
int i, n, j, itype, k, mread,~kip,icnt;
FILE *iptr,*optr,*dptr,*fopen();
/*****************************Set Con~tantq****************************/
~trcpy(dtype,"real~);
if(argc < 3) {
printf (n%qo~ USAGE);
exit(O);
while ((i~getopt(argc,argv,nn:b:q:")) != EOF) ~witch(i) {
caae 'n':
mread - atoi(optarg);
ifImread > BUFSZ) t fprintf(qtderr,"Max aize - %dO,BUFSZ);
exit(1);
) printf (n%dO, mread);
break;
caqe 'b':
itype ~ atoi(optarg);
printf (n%dO, itype);
break;
aqe 'q':
ckip - atoi(optarg);
printf (n%dO, qkip);
break;
caqe '?':
fprintf(Qtderr,"ERROR: Illegal optionO);
exit(1);
}
/*******************open files calculate qtatiqtic~ ******************/
iptr - fopen (argv[optind++], nr");
dptr ~ fopen (argv[optind++], "rn);
optr - fopen (argv[optind++], "a");
if(itypee=2 11 itype~
if(faeek(iptr,skip,O)) {
perror~nfqeek");
exit(1);
) elae if(itype--3) {
if(fqeek(iptr,qkip*qizeof(qhort),O)) {
perror~"fqeek");
exit(1);
) elae if~qkip!~O) {
printft"Error: Aqcii Mode with non-zero akipO);
exit(1);
/*Collect DPSSq */
~., for(i~O;f~canf(dptr,"%lf %lf %lf %*lf n~&taper[i][O],&taper[i][l], &taper[i][2]) != EOF:i++);
/* Compute taper con3tant~ */
v2-0.0;
for(ksO;k<K;k++) vO[k]-O.O;
for(i=O;i<mread;i++) {
vO[k~+-taper[i]lk~;
v2+=vO~k]*vO[k];
icnt-O;
for(i-O;i<NFREQ;i++) {
for(j-O;j<NWIN;j++) A qeqlr[i][j]=O.O;
A ~eqhr[i][j]-O.O;
A seqli[i][j]-O.O;
A_~eqhi[i][j]-O.O;
re~ seql[i][j]=O.O;
req_qeqh[i][j]-O.O;
A ~eqi[i][j]=O.O;
A ~eqr[i][j]-O.O;
re~_~eq[i][j]-O.O;
}
while(read_blk(mread,itype,data,iptr)) {
icnt++;
if~itype--O) for~i-O;i<mread;i++) t data[i]-4004.19*data[i]; /*Convert to ~tandard dbm */
}
~*Energy Detector*/
pow-O . O;
for(i-O;i<mread;i++) {
pow+-data[i]*data[i];
pow/-(double)(mread);
powdbm~lO.O*loglO(pow)-20.0*1oglO(4004.19);
if~powdbm < MINPWR) fprintf(optr,"%q %dO,"Non-energy in this window",icnt);
elqe if(powdbm > MAXPWR) fprintf(optr,"%~ %do~eo~cible Clippingn,icnt);
}
/* Compute Eigencoefficient.Y */
for(n-O;n<NFREQ;n++) {
for(ksO;k<R;k++) fdatalr[n][k]=O.O;
fdatali[n][k]=O.O;
fdatar[n][k]=O.O;
fdatai[n][k]-O.O;
fdatahr[n][k]=O.O:
fdatahi[n][k]-O.O;
for(i=O;i<mread;i++) I fdatalr[n][k]+- co~(2.00 *PI *i* freql[n]/8000.0) *data[i] *taper[i][k];
fdatali[n][k]+- -qin(2.00 ~PI *i* freql[n]/8000.0) *data[i] *taper[i][k];
fdatar~n][k]+~ coq(2.00 *PI *i* freq[n]/8000.0) *data[i] *taper[i][k];
fdatai[n][k]+- -~in(2.00 *PI *i* freq[n]/8000.0) *data[i] *taper[i][k];
fdatahr[n][k]+- co~(2.00 *PI *i* freqh[n]/8000.0) *data[i] *taper[i][k];
fdatahi[n][k]+- -~in(2.00 *PI *i* freqh[n]/8000.0) *data[i] *taper[i][k];
/* Compute fir~t gueq~ of amp AO[f] and residuals */
initgueqq(fdatar,fdatai,vO,v2,AOr,AOi,re~);
initgue~q(fdatalr,fdatali,vO,v2,AOlr,AOli,reql);
initguea~(fdatahr,fdatahi,vO,v2,AOhr,AOhi,reqh);
/*Compute F-values*/
fate~t(v2,A_seqr,A_qeqi,req_-~eq,F);
fate~t(v2,A_~eqhr,A seqhi,req_qeqh,Fh);
fate.~t~v2,A_~eqlr,A_3eqli,re~_~eql,Fl);
/*~ecide if DTMF or not baqed on A_~eq, re~ ~eq, nfreq,FA*/
fprintf(optr,"%s %dO,ttlogic(A_~eqhr,A ~eqhi,re3_ceqh,A_seqlr ,A_qeqli,res_~eql,A_~eqr,A_qeqi,re3_qeq,Fh,Fl,F,v2) ,icnt);
ffluqh(optr);
}
- 31 - ~08 ~ ~35 .
}
read blk(size,mode,buf,fp) int size, mode;
FILE *fp;
double buf[];
int i;
float x;
char ibuf[BUFSZ];
short sbuf[BUFSZ];
switch(mode) case 0:
for(i=0;i<size;i++) if(fscanf(fp,"%lf",&buf[i])==EOF) return(0);
return(size);
ca~e 1:
if(fread(ibuf,sizeof(char),size,fp)!-size) return(0);
else for(i=0;i<size;i++) buf[i]=(double)mutol(ibuf[i]);
return(size);
ca~e 2:
if(fread(ibuf,sizeof(char),size,fp)!~size) return(0);
el~e for(i~0;i<size;i++) buf[i]~(double)mutol(~ibuf[i]);
return(size);
- 32 -~ 2 0 8 1 5 3 C
case 3:
if~fread(~buf,qizeof(~hort),~ize,fp)!-qize) return(0);
e{ l~e for(isO;i<~ize;i++) buf[i]=~double)~sbuf[i]); -?
return~3ize) }
}
initgues~(ar,ai,v,v2,xr,xi,res)double ar[][R], ai[][K],v[],v2,xr[],xi~],req[];
double tmpr,tmpi;
int i,j;
for(i-O;i<NFREQ;i++) tmprsO.0;
tmpi~0.0;
for~j=O;j<K;j++) I
tmpr+~ar[i][j]*v[j];
tmpi+~ai[i]lj]*v[j];
xr[i]=tmpr/v2;
xi[i]stmpi/v2;
tmpr=0.0;
tmpi80 . 0;
rea[i]-0.0;
for(j-O;j<X;j++) tmpr-ar[i][j]-xr[i]*v[j];
tmpi=ai[i][j]-xi[i]*v[j];
tmpr*-tmpr;
tmpi*-tmpi;
re~li]+-tmpr+tmpi;
}
return;
?
fatect(v2,A_~eqr,A_~eqi,re~_~eq,F) double v2,A_~eqr[][NWIN],A_~eqi[][NWIN],re~_~eq[][NWIN],F[];
double tmpn,tmpd;
int i,j;
for(i-0;i<NFREQ;i++) tmpn-t~ -0.0;
for(j-0;j<NWIN;j++) {
tmpd+-req_seq[i][j];
tmpn+-A_qeqr[i][j]*A_ eqr[i][j]+A_seqi[i][j]*A_seqi[i][j];
}
F[i]~(double)(-l+K)*tmpn*v2/tmpd;
}
return;
) har *ttlogic(A_qeqhr,A_qeqhi,req_qeqh,A_qeqlr,A_qeqli,res_seql,A_seqr,A_seqi, res_qeq,Fh,Fl,F,v2) double A_qeqhr[][NWIN], A_seqhi[][NWIN],res_seqh[][NWIN], A_qeqlr[][NWIN],A_seqli[][NWIN],res_3eql[][NWIN],Fh[],Fl[],v2, A_qeqr[][NWIN],A_qeqi[][NWIN],req_seq[]~NWIN],F[];
int i,cntl,cnth,iL,iH,cnt,cntfl,cntfh;
double mslr,m-qli,aql2,aqh2,m_hr,mqhi,slr[NWIN],qli[NWIN], shr[NWIN],shi[NWIN],na,vl,vh,val,vah,FAL,FAH,mresl,mreqh, FRL,FRH,pwl~NWIN],pwh[NWIN],tw,mash,ma~l,Fcon3t,fvl,fvh, FPL,FPH,fl,fh,Alr[NWIN],Ali[NWIN],Ahr[NWIN],Ahi[NWIN],mAl,mAh, msqAl,m~qAh,abqAl[NWIN], ab~Ah[NWIN],Nr,Ni,Dr,Di,pratl,prath, reql[NWIN], reqh[NWIN],vrl,vrh,amph,ampl,amp;
/*F-teqt*/
cntl-0;
for(i-0;i<NFREQ/2;i++) {
if( F[i] > FRAT) {
cntl++;
iL-i;
}
cnth~0;
for(i-NFREQ~2;i<NFREQ;i++) {
if(F[i] > FRAT) cnth++;
iH-i;
}
/*Only one low ~ high frequency ?*/
if(cntl!=1 1I cnth!=1) ~ 34 ~ 2 08 1 53 5 return("Failed F-test n );
elae t* Paaaed F-teqt */
/*Max F value in the midband*/
for(i-O;i<NFR~Q/2;i++) if(i!=iL) if((Fh~i] > FRAT) Il(Fl[i] >FRAT)) return("Failed Sideband F-Teat );
}
for(i~NFREQ/2;i<NFREQ;i++) if(i! iH) if((Fh[i] > FRAT) Il(Fl[i] >FRAT)) return("Failed Si~ebAn~ F-Teat");
}
/*Midband Teat for Q litudes*/
a..4-a~ amph~O.O;
cntflscntfh-O;
for~i=O;i<NWIN;i++) ampl-A aeqlr[iL][i]*A aeqlr [iL] [i] +A ~eqli[iL][i]*A ~eqli [iL] [i];
amph-A seqhr[iL][i]*A seqhr[iL][i] +A_qeqhi[iL][i]*A_~eqhi[iL][i];
amp-A seqr[iL][i]*A_seqr[iL][i] +A_seqi[iL][i]*A ~eqi[iL][i];
if(((amp/ampl)<1.00) 11 ~lamP/amph) <1.00)) cntfl++;
forli-O;i<NWIN;i++) ampl-A_qeqlr[iH][i]*A_~eqlr[iH][i]
+A seqli[iH]~i]*A aeqli[iH][i];
amph-A aeqhr[iH][i]*A seqhr[iH][i]
+A_3eqhi[iH][i]*A_aeqhi[iH][i];
amp A_aeqrtiH][i]*A seqr[iH][i]
+A_seqi[iH][i]*A_seqi[iH][i];
f~(amp/ampl)<1.00) 11 ((amp/amph) <1.00)) cntfh++;
~ 35 ~ 208 1 5 3 5 if(cntfl >2 1I cntfh > 2) /*At least one segment has hi mid-amp*/
{
return("Failed Mid-Band Amplitude Test");
for(i=O;i<NWIN:i++) {
Alr[i]-A_~eqr[iL][i];
Ali[i]sA_qeqi[iL][i];
fl=freq[iL];
reql[i]sreq_qeq[iL][i];
Ahr[i]-A_~eqr[iH][i];
Ahi[i~=A_seqi[iH][i];
fh~freq[i];
resh[i]-res eqh[iH][i];
}
mAl=mAh-mqqAl-m~qAh-O.O;
for(i=O;i<NWIN;i++) {
absAl[i] qqrt(Alr[i]*Alr[i]+Ali[i]*Ali[i]);
abqAh[i]-.qqrt(Ahr[i]*Ahr[i]+Ahi[i]*Ahi[i]);
mAl+=ab~Al[i];
mAh+-abqAh[i];
msqAl+-absAl[i]*absAl[i];
m~qAh+-ab~Ah[i]*abqAh[i];
}
na-(double)(NWIN);
mAl/~na;
mAh/~na;
val-(m~qAl - na*mAl*mAl)/(na-1.00);
vah-(m~qAh - na*mAh*mAh)/(na-1.OO);
/*F-teqt for amplitude variance*/
FAL=2.00*mAl*mAl /val;
FAH-2.00*mAh*mAh /vah;
if(FAL <FRATII FAH <FRAT) {
return("Exce4~ive amplitude variation");
elqe {
- /*Frequency and phaqe jump teqt*/
Nr-Alr~O]*Alr[2]-Ali[O]*Ali[2]-Alr[l]*Alr[l]+Ali[l]*Ali[l];
Ni-Ali[O]*Alr[2]+Alr[O]*Ali[2]-2*Alr[l]*Ali[1];
Dr-Alr[l]*Alr[2]-Ali[l]*Ali[2];
Di-Alr[l]*Ali[2]+Ali[l]*Alr[2];
pratl-(Nr*Nr+Ni*Ni)/(Dr*Dr+Di*Di);
Nr-Ahr[O]*Ahr[2]-Ahi[O]*Ahi[2]-Ahr[l]*Ahr[l]+Ahi[l]*Ahi[1];
Ni-Ahi[O]*Ahr[2]+Ahr[O]*Ahi[2]-2*Ahr[l]*Ahi[1];
Dr~Ahr[l]*Ahr[2]-Ahi[l]*Ahi[2];
Di-Ahr[l]*Ahi[2]+Ahi[l]*Ahr[2];
prath-(Nr*Nr+Ni*Ni)/(Dr*Dr+Di*Di);
/*Phase jump te~t*/
f((pratl > 0.4)11(prath >0.4)~
return("ExceQ3ive phaqe jump"):
elce /*twist test*/
for(i~O;i<NWIN;i++) pwl[i]=absAl[i]*ab~Al[i];
pwh[i]=absAh[i]*absAh[i];
tw-lO.O*loglO(pwl[i]/pwh[i]);
if((tw<-6.0)11(tw>8.0)) return("Exce~qive Twi~t");
/* Valid DTMF Signal */
return(tt table[iL][iH-4]);
}
}
C. An Illustrative Embodiment Providing Simultaneous Fetim~tion of Amplitude and Frequency As discussed above, convention provides that an ideal DTMF signal comprises a pair of sinusoids at defined frequencies. As a practical matter, however, tones which form real DTMF signals may deviate slightly from the definitions. Such deviations may be caused by, among other things, imperfectly-tuned DTMF signal 20 generators. Naturally, specifications for DTMF systems may require that smalldeviations from defined frequencies be accommodated by DTMF receivers. In an embodiment discussed above, small deviations are accommodated through use of short signal segments which have the effect of lessening the frequency selectivity of the F-Test. Below, a further embodiment for accommodating deviations from 2s defined frequencies is described. This embodiment operates to determine an estimate of frequency deviation, in addition to tone amplitude, and reject toneswhich deviate in frequency beyond an acceptable amount.
Figure 9 presents an illustrative embodiment for the contemporaneous estimation of amplitude and frequency. Signal slicer 15, DFT processor 20, and 30 memory 25 are the same as those discussed above. Amplitude and frequency estimator 70 receives eigen-coefficients y~5) ( fj ) from DFT processor 20 and 2~8153S
determines A( )(fj) as perequation (BØ2). Using the estimatedA( )(f;), estimator 70 determin~s an estimate of frequency deviation aboutfj, &js), as follows:
~, G kY~ ( f j ) â(s) = k=0 , , (CØ 1) --2 ~,Hkyl~)(fj) + A (fj) ~ ¦ Gk¦ + 2 ~ Vk()Hk k=0 ~k=0 k=0 s whereGk = --i2rc ~, (t--to)vk(t),Hk = --2~2 ~ (t--to)2V (t) and t=0 t=0 to = 2 . Alternatively, an estimate of the frequency offset aj at segment S may be formed by combining i,lfolmation from segment S and the previous R -1 segments~ suchas 1 s (~, l)&(s) s=S
With values for &jS) and A ( ) (f j ) determined, e~inlator 70 determines 10 whether there is at least one tone in each of the high and low DTMF tone groups which is within i ( 1. 5 % + 2Hz) of the defined DTMF tone frequencies,f j. This is done by assessing whether the values for &55) are within the required bounds off;
(such bounds may provide, e.g., that I âi(s) I < 0.035fj). The processing described below need be pe~rolllled only for those tones within the required bounds. If there is 1S not at least one tone with âjS) within the required bounds in both the high and low frequency bands, then processing for the current group of segments may cease andthe signal slicer 15 may be notified to provide the next segment.
Once &j(S) is dettlmilled, a refined amplitude estimate A ( ) (fj ) can be determined as follows:
~, Vk()Yk)(fj) + âjs) ~ GkYks)(f ) A (fj) = K--1 k=0 (CØ2) k - 0 1 l or, more accurately, as follows:
~ Vk(0;&j )Yk (fj) A (fj) = K-l 2 ' (CØ3) ~, ¦Vk(O;&j ~¦
- 2~-2G~1~3~
-where Vk(O;a) = N~,l Vk(t) ei2~a(t-tO) Often (C 0 2) provides an adequate t=O
appro~i,llation to A ( ) (fj ).
F-Test processor 72 determin~s Fs ( fj ) as follows:
(K 1) ~ IA (f;)¦ ~ ¦Vk(O;&5 ~¦
¦ Y ks) ( f j ) --A (S) ( f j ) Vk ( 0; &5S~ ) ¦
s=S k=O
s This embodiment of the present invention may be augmented as described above with additional processing associated with, e.g, a maximum amplitude variation check 52, a maximum phase variation check 54, and a twist check 56.
Furthermore, the amplitude and phase variation checks, 52 and 54, may 10 be combined since an estimate of the frequency offset in the 5~h segment a¦S) is known. Consider an illustrative DTMF receiver designed so that R successive segments of N elements each have to contain a valid DTMF signal for the receiverto determine that a DTMF signal is present. A tone with amplitude B and a frequency nearfj can be represented as:
B i2~tfj(s)(t+S(N-l)); t=0,1,2,...N--1 (CØ5) in the 5th segment, where fj(s)=f; +aj(S) iS the frequency, and alS) is the frequency offset in the 5 th segment. The initial amplitude of the tone in the 5 th segment is Aj(s) = Bei2~s(N-l)fi(s) (CØ6) The DTMF receiver produces the amplitude estimates A5s), which can be phase 20 shifted to yield the quantities B ( ) which are estimates of the amplitude B in the 5 th segment:
B ( ) = A5s) e-i2~S(N-l)fj(s) (C O 7) The true amplitude B can be estimated by an arithmetic average of the B ( ) B = R ~ B( ) = 1 (~ )A55~e-i2~5(N-1)fj(5) (CØ8) s=S s=S
2s and the sample variance of the B ( ) C52 = I ~ ¦B(S) B¦ (C O 9) -2~ ~8~ ~3~
provides a measure of the spread of the random variables B ( ). The variance ratio IB l2 FB = ^2 (C.O. 10) 2~B
is roughly F-distributed with 2 and 2R - 2 degrees of freedom. The ratio FB may be com~ ed with a threshold, illustratively 2.5. When FB is less than the threshold, 5 the complex amplitude of successive segments is determined to vary more than expected for a DTMF tone and the segment may be rejected.
D. An Illustrative Embodiment Providing Contemporaneous Fit of Two DTMF
- Tones A further illustrative embodiment of the present invention is presented lo in Figure 10. This embodiment provides for the contemporaneous fit (or estimation) of the amplitudes of two tones which may form a DTMF signal. Unlike the emb~limt-nti discussed above, where one or more values for W are chosen to define limited bands about defined DTMF tone frequencies f j, the present embodiment provides a frequency band centered about a frequencyfc. A value for W is chosen to 15 provide a band aboutfc which includes all eight possible DTMF tone frequencies.
In the embodiments previously described, a model for DTMF signal energy (employed in the F-Test) concerned a single frequency component in given frequency bands about frequenciesf;. In this embodiment, the model for DTMF
signal energy includes both frequency components representing the low and high 20 tones of a DTMF signal.
Suppose that a frequency band [fC - W,fC + W) is chosen to include all DTMF tone frequencies,fj, and exclude call-progress frequencies,fcp (such as those associated with dial tone (350 Hz and 440 Hz)). For example, such a band may be provided by defining a center frequency offc corresponding to 1500 Hz, and 2s a bandwidth of 2W corresponding to 2000 Hz, so that the band extends from 500 to 2500 Hz.
GivenvaluesforNandW,asetofDPSS,vk(t), k=0,1,2...K-l,may be determined to concentrate received signal energy within the band. There are at most l2NW~ of these sequences (or tapers) which resist leakage. By choosing a 30 wide frequency band, L2NW~ may be a dozen or more. For example, if the duration of a signal segment is T = 10 msec, and the sampling period is ~ = 1/ 8000Hz, each segment contains N = T/~ = 80 samples. If 2W corresponds to 2000 Hz as above, 20~ ~ 535 then there are applo~ ately L2NW~ = K = 20 tapers that have useful leakage properties (i.e., concentration ratios, ~k, approximately equal to one3. Values for the 20 tapers may be determined as described above and stored in memory 26 along with the values for tapers as described above for W corresponding 230 Hz.
s As with the embodiments described above, a signal which may contain a DTMF signal, x(t), is provided to signal slicer 15, which in turn provides signal segments x(S) (t). These segments are passed to DFT processor 20 which determines eigen-coefficients, y~S) (fj), by pelrolll~ihlg DFTs as described above using the tapers retrieved from memory 26.
The eigen-coefficients, y~S) (fj ), are provided to amplitude and frequency estimator 75. In addition, a set of coefficients, y~S) ( f c ), are determined for later use. Amplitude and frequency estimator 75 determines amplitude estimates, A( ) (f~ ), as per equation (BØ2), and estimates of frequency deviation aboutfj, &55), as per equation (CØ1). With values of &55) computed, e~Lilllalor 75 determines 5 whether there is one and only one tone in each of the low and high DTMF tone groups within _( 1. 5 % + 2Hz) of the defined DTMF tone frequencies,f j, referred to as fjL andfjH, respectively. This is done, as in section C, by assessing whethervalues for &55) are within the required bounds offj, applying a preliminary F-Test of the form (CØ4), performing phase and amplitude checks, and a twist check. If other 20 than two single tones (one in each band) are i~lensified, processing of the current segment may cease and the signal slicer 15 may be notified. Otherwise, the following processing may be pelrulllled.
Estimator 75 determines estimates of the frequency of the identified single tones by ~ lling the appl~,l.liate values offj, i.e.,fjH andfjL, with associated 2s values of &55) â5s)L and &5s)H:
fL fj + â5 (DØ1) f~ fj + &5 (DØ2) With frequency estimates determined, estimator 75 determines estimates of amplitude at these frequencies in the segment s:
D ,~oY~ (fc){V~(fC--f,( ))IV~(fC--f~S) ~12_ V~c(f _f~S))V (f f~,~S))V (f ~ ) }
(DØ3) - 25 - 2 ~ 3 ~
D it~oY~ (fc){V~(fc f~ )lv~(fc-f~s) ~12--V/~(fc-f~,s) 3V~ (f--f~ (f -f~S))}
(DØ4) where * represents a complex conjugate and D = ~, ¦ Vk (f C--f~,S) ) ¦ ¦ Ve (f c--f~S) ) ¦
-- ~ Vk (f C--f~S) ) Vk ( f C--fL(S) ) Ve ( f C--fL(s) ) V~ ( f c--f~S) ). (D . O. 5 ) k~e=o With values forA(s) andA~s) dele~ ed, F-Testprocessor 77 may determine a value for F (S) as follows:
IA(S) 12 ~, ¦ V (f _f~,s))¦2 + ¦A(S) 12 ~, I vk(f _f~S))12 2 ~, ¦y(s)(f )--A( ) Vk(fc--fl; ))--AH Vk(fc fH ~¦
which is F-distributed with 4 and 2K - 4 degrees of freedom, and is a measure of0 how well the 5 th segment fits the DTMF model. If a segment is associated with a small value of F (5), then it probably does not contain a valid DTMF signal. On the other hand, if the segment is associated with a large value of F(s), the segmentwould more probably be associated with true DTMF signals. As in sections B and C, the sensitivity of (DØ6) may be enhanced by averaging both numerator and 5 denomin~tc-r of (DØ6) over R segments. As with the embo lim~nti discussed above, additional tests may be performed to augment this embodiment.
This matrix-based test, although useful in low signal-to-noise environments, may take more processing time than other DTMF tests. Therefore, while it may be used generally, it may also be appropliate to limit its use to deciding 20 intçrme~ te cases that arise only rarely. The F-Test can be made more ~i~çrimin~ting by increasing the bandwidth 2W, as long as this does not cause tones which are a natural part of a telephone system, such as call progress tones, to intrude on the frequency band [ f C - W,f C + W). If this occurs, steps can be taken to make this test useful. For example, the model can be expanded to include the call progress 25 tones, and the amplitudes of these call progress tones can be determined. However, this may increase the size of the matrix problem that must be solved and lead toincreased complexity and slower processing.
E. DTMF Signal Distortion DTMF receivers may be confronted with DTMF signals which suffer from distortion, either due to problems with a DTMF tone generator, or because of distortion created by a network. For example DTMF tones may not have constant 5 frequency, but may suffer from phenomena known as frequency drift or chirp. Some telephones may produce DTMF tones which are amplitude mod~ tecl, making a single DTMF signal appear like several repeated DTMF signals. Furthermore, nonline~rities in either a DTMF tone generator or a network may result in significant intermodulation components in a DTMF signal. Distortion may also take the form 10 of clipping or qll~nti7~tion error. If these sources of distortion are severe, real DTMF signals may be rejected by a DTMF receiver at an unacceptable rate.
In the context of the present invention, these problems may be addressed by relaxing the rejection thresholds associated with various tests. This, of course, may increase talk-off events. A balance may therefore need to be struck in receiver 5 design given the severity of the distortion experienced.
Alternatively, identified distortion may be introduced into the models of DTMF signals used by the F-Test. Tuning the F-Test in this fashion may avoid increasing talk-off events at the expense of complexity.
- 27 - ~ ~8 1 53 5 /*U~e three fixed dft'~ ~nominal +- 3.5%) per frequency bin */
#include <3tdio.h>
#include <math.h>
#define K 3 #define PI 3.141592654 #define NFREQ 8 #define NWIN 3 #define USAGE "3dfttql -nsample~ -blinear-3,mu-law sparc=2,mu-lawsl,\
aqcii=O -s~kip ifile dfile ofile"
#define 8UFSZ 8192 #define FRAT 5.0 #define MAXPWR 3.5 #define MINPWR -30.0 float freql[NFREQ]={672.0,743.0,822.2,908.1,1166.7,1289.0,1425.3,1575.8};
float freq[NFREQ]={697.0,770.0,852.0,941.0,1209.0,1336.0,1477.0,1633.0~;
float freqh[NFREQ]={721.395,797.0,881.8,974.0,1251.3,1382.8,1528.7,1690.2~;
char *tt table[][4] = {
( -ln~ ~2n~ n3n~ nAn ~
{..4--,"5",n6",nBn}
{ 7 , 8 , 9 , C ~, {~*n~non n#n nDn~
~ ;
main(argc,argv~
int argc;
char **argv;
{
extern int optind;
extern char *optarg;
char dtype[8], ibuf[BUFSZ];
char *ttlogic();
double v2, vO[K], data[80],fdatar[NFREQ][K],fdatai[NFREQ][~], AOr[NFREQ], AOi[NFREQ], res[NFREQ~, A qeqr[NFREQ][NWIN], A qeqi[NFREQ][NWIN],re~ ~eq[NFREQ][NWIN], F[NFREQ], AOlr[NFREQ],AOli[NFREQ],AOhr[NFREQ],AOhi[NFREQ], A ~eqlr[NFREQ][NWIN],A qeqli[NFREQ][NWIN],A qeqhr[NFREQ][NWIN], A ~eqhi[NFREQ][NWIN],re~ qeql[NFREQ][NWIN],req 3eqh[NFREQ][NWIN], Fl[NFREQ],Fh[NFREQ],reql[NFREQ],re~h[NFREQ],fdatalr[NFREQ][K], fdatali[NFREQ][K],fdatahr[NFREQ][K],fdatahi[NFREQ][K],pow,powdbm, nfreq[NFREQ][NWIN];
double taper[80][K];
int i, n, j, itype, k, mread,~kip,icnt;
FILE *iptr,*optr,*dptr,*fopen();
/*****************************Set Con~tantq****************************/
~trcpy(dtype,"real~);
if(argc < 3) {
printf (n%qo~ USAGE);
exit(O);
while ((i~getopt(argc,argv,nn:b:q:")) != EOF) ~witch(i) {
caae 'n':
mread - atoi(optarg);
ifImread > BUFSZ) t fprintf(qtderr,"Max aize - %dO,BUFSZ);
exit(1);
) printf (n%dO, mread);
break;
caqe 'b':
itype ~ atoi(optarg);
printf (n%dO, itype);
break;
aqe 'q':
ckip - atoi(optarg);
printf (n%dO, qkip);
break;
caqe '?':
fprintf(Qtderr,"ERROR: Illegal optionO);
exit(1);
}
/*******************open files calculate qtatiqtic~ ******************/
iptr - fopen (argv[optind++], nr");
dptr ~ fopen (argv[optind++], "rn);
optr - fopen (argv[optind++], "a");
if(itypee=2 11 itype~
if(faeek(iptr,skip,O)) {
perror~nfqeek");
exit(1);
) elae if(itype--3) {
if(fqeek(iptr,qkip*qizeof(qhort),O)) {
perror~"fqeek");
exit(1);
) elae if~qkip!~O) {
printft"Error: Aqcii Mode with non-zero akipO);
exit(1);
/*Collect DPSSq */
~., for(i~O;f~canf(dptr,"%lf %lf %lf %*lf n~&taper[i][O],&taper[i][l], &taper[i][2]) != EOF:i++);
/* Compute taper con3tant~ */
v2-0.0;
for(ksO;k<K;k++) vO[k]-O.O;
for(i=O;i<mread;i++) {
vO[k~+-taper[i]lk~;
v2+=vO~k]*vO[k];
icnt-O;
for(i-O;i<NFREQ;i++) {
for(j-O;j<NWIN;j++) A qeqlr[i][j]=O.O;
A ~eqhr[i][j]-O.O;
A seqli[i][j]-O.O;
A_~eqhi[i][j]-O.O;
re~ seql[i][j]=O.O;
req_qeqh[i][j]-O.O;
A ~eqi[i][j]=O.O;
A ~eqr[i][j]-O.O;
re~_~eq[i][j]-O.O;
}
while(read_blk(mread,itype,data,iptr)) {
icnt++;
if~itype--O) for~i-O;i<mread;i++) t data[i]-4004.19*data[i]; /*Convert to ~tandard dbm */
}
~*Energy Detector*/
pow-O . O;
for(i-O;i<mread;i++) {
pow+-data[i]*data[i];
pow/-(double)(mread);
powdbm~lO.O*loglO(pow)-20.0*1oglO(4004.19);
if~powdbm < MINPWR) fprintf(optr,"%q %dO,"Non-energy in this window",icnt);
elqe if(powdbm > MAXPWR) fprintf(optr,"%~ %do~eo~cible Clippingn,icnt);
}
/* Compute Eigencoefficient.Y */
for(n-O;n<NFREQ;n++) {
for(ksO;k<R;k++) fdatalr[n][k]=O.O;
fdatali[n][k]=O.O;
fdatar[n][k]=O.O;
fdatai[n][k]-O.O;
fdatahr[n][k]=O.O:
fdatahi[n][k]-O.O;
for(i=O;i<mread;i++) I fdatalr[n][k]+- co~(2.00 *PI *i* freql[n]/8000.0) *data[i] *taper[i][k];
fdatali[n][k]+- -qin(2.00 ~PI *i* freql[n]/8000.0) *data[i] *taper[i][k];
fdatar~n][k]+~ coq(2.00 *PI *i* freq[n]/8000.0) *data[i] *taper[i][k];
fdatai[n][k]+- -~in(2.00 *PI *i* freq[n]/8000.0) *data[i] *taper[i][k];
fdatahr[n][k]+- co~(2.00 *PI *i* freqh[n]/8000.0) *data[i] *taper[i][k];
fdatahi[n][k]+- -~in(2.00 *PI *i* freqh[n]/8000.0) *data[i] *taper[i][k];
/* Compute fir~t gueq~ of amp AO[f] and residuals */
initgueqq(fdatar,fdatai,vO,v2,AOr,AOi,re~);
initgue~q(fdatalr,fdatali,vO,v2,AOlr,AOli,reql);
initguea~(fdatahr,fdatahi,vO,v2,AOhr,AOhi,reqh);
/*Compute F-values*/
fate~t(v2,A_seqr,A_qeqi,req_-~eq,F);
fate~t(v2,A_~eqhr,A seqhi,req_qeqh,Fh);
fate.~t~v2,A_~eqlr,A_3eqli,re~_~eql,Fl);
/*~ecide if DTMF or not baqed on A_~eq, re~ ~eq, nfreq,FA*/
fprintf(optr,"%s %dO,ttlogic(A_~eqhr,A ~eqhi,re3_ceqh,A_seqlr ,A_qeqli,res_~eql,A_~eqr,A_qeqi,re3_qeq,Fh,Fl,F,v2) ,icnt);
ffluqh(optr);
}
- 31 - ~08 ~ ~35 .
}
read blk(size,mode,buf,fp) int size, mode;
FILE *fp;
double buf[];
int i;
float x;
char ibuf[BUFSZ];
short sbuf[BUFSZ];
switch(mode) case 0:
for(i=0;i<size;i++) if(fscanf(fp,"%lf",&buf[i])==EOF) return(0);
return(size);
ca~e 1:
if(fread(ibuf,sizeof(char),size,fp)!-size) return(0);
else for(i=0;i<size;i++) buf[i]=(double)mutol(ibuf[i]);
return(size);
ca~e 2:
if(fread(ibuf,sizeof(char),size,fp)!~size) return(0);
el~e for(i~0;i<size;i++) buf[i]~(double)mutol(~ibuf[i]);
return(size);
- 32 -~ 2 0 8 1 5 3 C
case 3:
if~fread(~buf,qizeof(~hort),~ize,fp)!-qize) return(0);
e{ l~e for(isO;i<~ize;i++) buf[i]=~double)~sbuf[i]); -?
return~3ize) }
}
initgues~(ar,ai,v,v2,xr,xi,res)double ar[][R], ai[][K],v[],v2,xr[],xi~],req[];
double tmpr,tmpi;
int i,j;
for(i-O;i<NFREQ;i++) tmprsO.0;
tmpi~0.0;
for~j=O;j<K;j++) I
tmpr+~ar[i][j]*v[j];
tmpi+~ai[i]lj]*v[j];
xr[i]=tmpr/v2;
xi[i]stmpi/v2;
tmpr=0.0;
tmpi80 . 0;
rea[i]-0.0;
for(j-O;j<X;j++) tmpr-ar[i][j]-xr[i]*v[j];
tmpi=ai[i][j]-xi[i]*v[j];
tmpr*-tmpr;
tmpi*-tmpi;
re~li]+-tmpr+tmpi;
}
return;
?
fatect(v2,A_~eqr,A_~eqi,re~_~eq,F) double v2,A_~eqr[][NWIN],A_~eqi[][NWIN],re~_~eq[][NWIN],F[];
double tmpn,tmpd;
int i,j;
for(i-0;i<NFREQ;i++) tmpn-t~ -0.0;
for(j-0;j<NWIN;j++) {
tmpd+-req_seq[i][j];
tmpn+-A_qeqr[i][j]*A_ eqr[i][j]+A_seqi[i][j]*A_seqi[i][j];
}
F[i]~(double)(-l+K)*tmpn*v2/tmpd;
}
return;
) har *ttlogic(A_qeqhr,A_qeqhi,req_qeqh,A_qeqlr,A_qeqli,res_seql,A_seqr,A_seqi, res_qeq,Fh,Fl,F,v2) double A_qeqhr[][NWIN], A_seqhi[][NWIN],res_seqh[][NWIN], A_qeqlr[][NWIN],A_seqli[][NWIN],res_3eql[][NWIN],Fh[],Fl[],v2, A_qeqr[][NWIN],A_qeqi[][NWIN],req_seq[]~NWIN],F[];
int i,cntl,cnth,iL,iH,cnt,cntfl,cntfh;
double mslr,m-qli,aql2,aqh2,m_hr,mqhi,slr[NWIN],qli[NWIN], shr[NWIN],shi[NWIN],na,vl,vh,val,vah,FAL,FAH,mresl,mreqh, FRL,FRH,pwl~NWIN],pwh[NWIN],tw,mash,ma~l,Fcon3t,fvl,fvh, FPL,FPH,fl,fh,Alr[NWIN],Ali[NWIN],Ahr[NWIN],Ahi[NWIN],mAl,mAh, msqAl,m~qAh,abqAl[NWIN], ab~Ah[NWIN],Nr,Ni,Dr,Di,pratl,prath, reql[NWIN], reqh[NWIN],vrl,vrh,amph,ampl,amp;
/*F-teqt*/
cntl-0;
for(i-0;i<NFREQ/2;i++) {
if( F[i] > FRAT) {
cntl++;
iL-i;
}
cnth~0;
for(i-NFREQ~2;i<NFREQ;i++) {
if(F[i] > FRAT) cnth++;
iH-i;
}
/*Only one low ~ high frequency ?*/
if(cntl!=1 1I cnth!=1) ~ 34 ~ 2 08 1 53 5 return("Failed F-test n );
elae t* Paaaed F-teqt */
/*Max F value in the midband*/
for(i-O;i<NFR~Q/2;i++) if(i!=iL) if((Fh~i] > FRAT) Il(Fl[i] >FRAT)) return("Failed Sideband F-Teat );
}
for(i~NFREQ/2;i<NFREQ;i++) if(i! iH) if((Fh[i] > FRAT) Il(Fl[i] >FRAT)) return("Failed Si~ebAn~ F-Teat");
}
/*Midband Teat for Q litudes*/
a..4-a~ amph~O.O;
cntflscntfh-O;
for~i=O;i<NWIN;i++) ampl-A aeqlr[iL][i]*A aeqlr [iL] [i] +A ~eqli[iL][i]*A ~eqli [iL] [i];
amph-A seqhr[iL][i]*A seqhr[iL][i] +A_qeqhi[iL][i]*A_~eqhi[iL][i];
amp-A seqr[iL][i]*A_seqr[iL][i] +A_seqi[iL][i]*A ~eqi[iL][i];
if(((amp/ampl)<1.00) 11 ~lamP/amph) <1.00)) cntfl++;
forli-O;i<NWIN;i++) ampl-A_qeqlr[iH][i]*A_~eqlr[iH][i]
+A seqli[iH]~i]*A aeqli[iH][i];
amph-A aeqhr[iH][i]*A seqhr[iH][i]
+A_3eqhi[iH][i]*A_aeqhi[iH][i];
amp A_aeqrtiH][i]*A seqr[iH][i]
+A_seqi[iH][i]*A_seqi[iH][i];
f~(amp/ampl)<1.00) 11 ((amp/amph) <1.00)) cntfh++;
~ 35 ~ 208 1 5 3 5 if(cntfl >2 1I cntfh > 2) /*At least one segment has hi mid-amp*/
{
return("Failed Mid-Band Amplitude Test");
for(i=O;i<NWIN:i++) {
Alr[i]-A_~eqr[iL][i];
Ali[i]sA_qeqi[iL][i];
fl=freq[iL];
reql[i]sreq_qeq[iL][i];
Ahr[i]-A_~eqr[iH][i];
Ahi[i~=A_seqi[iH][i];
fh~freq[i];
resh[i]-res eqh[iH][i];
}
mAl=mAh-mqqAl-m~qAh-O.O;
for(i=O;i<NWIN;i++) {
absAl[i] qqrt(Alr[i]*Alr[i]+Ali[i]*Ali[i]);
abqAh[i]-.qqrt(Ahr[i]*Ahr[i]+Ahi[i]*Ahi[i]);
mAl+=ab~Al[i];
mAh+-abqAh[i];
msqAl+-absAl[i]*absAl[i];
m~qAh+-ab~Ah[i]*abqAh[i];
}
na-(double)(NWIN);
mAl/~na;
mAh/~na;
val-(m~qAl - na*mAl*mAl)/(na-1.00);
vah-(m~qAh - na*mAh*mAh)/(na-1.OO);
/*F-teqt for amplitude variance*/
FAL=2.00*mAl*mAl /val;
FAH-2.00*mAh*mAh /vah;
if(FAL <FRATII FAH <FRAT) {
return("Exce4~ive amplitude variation");
elqe {
- /*Frequency and phaqe jump teqt*/
Nr-Alr~O]*Alr[2]-Ali[O]*Ali[2]-Alr[l]*Alr[l]+Ali[l]*Ali[l];
Ni-Ali[O]*Alr[2]+Alr[O]*Ali[2]-2*Alr[l]*Ali[1];
Dr-Alr[l]*Alr[2]-Ali[l]*Ali[2];
Di-Alr[l]*Ali[2]+Ali[l]*Alr[2];
pratl-(Nr*Nr+Ni*Ni)/(Dr*Dr+Di*Di);
Nr-Ahr[O]*Ahr[2]-Ahi[O]*Ahi[2]-Ahr[l]*Ahr[l]+Ahi[l]*Ahi[1];
Ni-Ahi[O]*Ahr[2]+Ahr[O]*Ahi[2]-2*Ahr[l]*Ahi[1];
Dr~Ahr[l]*Ahr[2]-Ahi[l]*Ahi[2];
Di-Ahr[l]*Ahi[2]+Ahi[l]*Ahr[2];
prath-(Nr*Nr+Ni*Ni)/(Dr*Dr+Di*Di);
/*Phase jump te~t*/
f((pratl > 0.4)11(prath >0.4)~
return("ExceQ3ive phaqe jump"):
elce /*twist test*/
for(i~O;i<NWIN;i++) pwl[i]=absAl[i]*ab~Al[i];
pwh[i]=absAh[i]*absAh[i];
tw-lO.O*loglO(pwl[i]/pwh[i]);
if((tw<-6.0)11(tw>8.0)) return("Exce~qive Twi~t");
/* Valid DTMF Signal */
return(tt table[iL][iH-4]);
}
}
Claims (60)
1. A method of discriminating control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-control signal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signal components at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the method comprising the steps of:
applying a plurality of tapers to a segment of a communicated signal;
performing a transform of a tapered segment;
determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and providing an indicator signal representative of control signal information to the communication system element when the communicated signal has been classified as representing control signal information.
applying a plurality of tapers to a segment of a communicated signal;
performing a transform of a tapered segment;
determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and providing an indicator signal representative of control signal information to the communication system element when the communicated signal has been classified as representing control signal information.
2. The method of claim 1 further comprising the step of receiving a communicated signal and producing one or more segments thereof.
3. The method of claim 2 wherein the step of producing one or more segments comprises the step of producing overlapping segments.
4. The method of claim 1 wherein the control signal information comprises DTMF signal information.
5. The method of claim 1 wherein the control signal information comprises call progress signal information.
6. The method of claim 1 wherein the control signal information comprises supervisory audio tone signal information.
7. The method of claim 1 wherein the step of applying a plurality of tapers comprises the step of applying a taper which comprises a discrete prolate spheroidal sequence.
8. The method of claim 1 wherein the step of applying a plurality of tapers comprises the step of forming a product of a taper value and an input signal segment value.
9. The method of claim 1 wherein the step of applying a plurality of tapers comprises the step of applying a taper value to a possible communicated signal value.
10. The method of claim 9 further comprising the step of storing in memory information which comprises a taper value applied to a possible communicated signal value.
11. The method of claim 1 wherein the step of performing a transform comprises the step of performing a Fourier transform.
12. The method of claim 1 wherein the model of a control signal comprises a sinusoidal model.
13. The method of claim 12 wherein the sinusoidal model comprises an amplitude modulated sinusoidal model.
14. The method of claim 12 wherein the sinusoidal model comprises a frequency modulated sinusoidal model.
15. The method of claim 12 wherein the sinusoidal model comprises a first sinusoidal model and a second sinusoidal model.
16. The method of claim 15 wherein the first sinusoidal model comprises a first control signal information frequency and the second sinusoidal model comprises a second control signal information frequency.
17. The method of claim 16 wherein the step of determining a similarity score comprises the step of estimating amplitude information based on a transformed tapered segment and wherein each of the first and second sinusoidal models comprises estimated amplitude information.
18. The method of claim 17 wherein the step of determining a similarity score comprises the step of forming a ratio, the numerator of the ratio comprising an energy distribution based on the first and second sinusoidal models, and the denominator of the ratio comprising an energy distribution based on a differencebetween a transformed tapered segment and a sum of the first and second sinusoidal models.
19. The method of claim 1 wherein the model of a control signal comprises expected control signal information distortion.
20. The method of claim 1 wherein the step of determining a similarity score comprises the step of estimating amplitude information based on a transformed tapered segment and wherein a model of a control signal comprises estimated amplitude information.
21. The method of claim 1 wherein the step of determining a similarity score comprises the step of determining a measure of similarity between energy distributions.
22. The method of claim 21 wherein the step of determining a measure of similarity between energy distributions comprises the step of forming a ratio, the numerator of the ratio comprising an energy distribution based on a control signal model, and the denominator of the ratio comprising an energy distribution based on a difference between a transformed tapered segment and the control signal model.
23. The method of claim 1 wherein the step of determining a similarity score comprises the step of:
determining an estimate of frequency deviation between an expected control signal information frequency and a frequency component of a transformed tapered segment; and determining whether the estimate of frequency deviation exceeds a threshold.
determining an estimate of frequency deviation between an expected control signal information frequency and a frequency component of a transformed tapered segment; and determining whether the estimate of frequency deviation exceeds a threshold.
24. The method of claim 1 wherein the classifying step comprises the step of determining whether a similarity score exceeds a threshold.
25. The method of claim 1 wherein the classifying step comprises the step of determining whether a frequency component of a transformed tapered segment deviates from an expected control signal information frequency by an amount which exceeds a threshold.
26. The method of claim 25 wherein the step of determining whether a frequency component of a transformed tapered segment deviates from an expected control signal information frequency comprises the steps of:
determining amplitude estimates of the transformed tapered segment at a plurality of frequencies including the expected control signal information frequency;
and determining whether the amplitude at the expected control signal information frequency exceeds the other determined amplitude estimates.
determining amplitude estimates of the transformed tapered segment at a plurality of frequencies including the expected control signal information frequency;
and determining whether the amplitude at the expected control signal information frequency exceeds the other determined amplitude estimates.
27. The method of claim 1 wherein the classifying step comprises the steps of:
determining an amplitude variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and determining when the amplitude variation parameter exceeds a threshold.
determining an amplitude variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and determining when the amplitude variation parameter exceeds a threshold.
28. The method of claim 1 wherein the classifying step comprises the steps of:
determining a phase variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; andetermining when the phase variation parameter exceeds a threshold.
determining a phase variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; andetermining when the phase variation parameter exceeds a threshold.
29. The method of claim 1 wherein the classifying step comprises the steps of:
determining an amplitude and phase variation parameter based on estimates of the amplitude and phase of a frequency component present in each of a plurality of segments; and determining when the amplitude and phase variation parameter exceeds threshold.
determining an amplitude and phase variation parameter based on estimates of the amplitude and phase of a frequency component present in each of a plurality of segments; and determining when the amplitude and phase variation parameter exceeds threshold.
30. The method of claim 1 wherein the classifying step comprises the steps of:
determining a ratio of amplitudes of a transformed tapered segment, the numerator of the ratio comprising an amplitude evaluated at one frequency of expected control signal information and the denominator of the ratio comprising an amplitude evaluated at another frequency of the expected control signal information;
and determining whether the ratio is within a predetermined range of values.
determining a ratio of amplitudes of a transformed tapered segment, the numerator of the ratio comprising an amplitude evaluated at one frequency of expected control signal information and the denominator of the ratio comprising an amplitude evaluated at another frequency of the expected control signal information;
and determining whether the ratio is within a predetermined range of values.
31. An apparatus for discriminating control signal information from non-control signal information, the control signal information for use by a communication system element, the control signal information and the non-controlsignal information included in one or more segments of a signal communicated over a communication system channel, the control signal information comprising signalcomponents at one or more predetermined control signal frequencies, the non-control signal information comprising signal components at one or more information signal frequencies, the apparatus comprising:
means for applying a plurality of tapers to a segment of a communicated signal;
means for performing a transform of a tapered segment;
means for determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
means for classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and means for providing an indicator signal representative of control signal information to the communication system element when the communicated signal hasbeen classified as representing control signal information.
means for applying a plurality of tapers to a segment of a communicated signal;
means for performing a transform of a tapered segment;
means for determining a similarity score based on a transform of a tapered segment and a model of a control signal, the similarity score reflecting a comparison of signal components of the communicated signal at the predetermined control signal frequencies with signal components of the communicated signal at other information signal frequencies;
means for classifying one or more segments of the communicated signal as representing either control signal information or non-control signal information based on a similarity score; and means for providing an indicator signal representative of control signal information to the communication system element when the communicated signal hasbeen classified as representing control signal information.
32. The apparatus of claim 31 further comprising a means for receiving a communicated signal and producing one or more segments thereof.
33. The apparatus of claim 32 wherein the means for producing one or more segments comprises means for producing overlapping segments.
34. The apparatus of claim 31 wherein the control signal information comprises DTMF signal information.
35. The apparatus of claim 31 wherein the control signal information comprises call progress signal information.
36. The apparatus of claim 31 wherein the control signal information comprises supervisory audio tone signal information.
37. The apparatus of claim 31 wherein the means for applying a plurality of tapers comprises a means for applying a taper which comprises a discrete prolate spheroidal sequence.
38. The apparatus of claim 31 wherein the means for applying a plurality of tapers comprises a means for forming a product of a taper value and an input signal segment value.
39. The apparatus of claim 31 wherein the means for applying a plurality of tapers comprises a means for applying a taper value to a possible communicated signal value.
40. The apparatus of claim 39 further comprising a memory for storing information which comprises a taper value applied to a possible communicated signal value.
41. The apparatus of claim 31 wherein the means for performing a transform comprises a means for performing a Fourier transform.
42. The apparatus of claim 31 wherein the control signal model comprises a sinusoidal model.
43. The apparatus of claim 42 wherein the sinusoidal model comprises an amplitude modulated sinusoidal model.
44. The apparatus of claim 42 wherein the sinusoidal model comprises a frequency modulated sinusoidal model.
45. The apparatus of claim 42 wherein the sinusoidal model comprises a first sinusoidal model and a second sinusoidal model.
46. The apparatus of claim 45 wherein the first sinusoidal model comprises a first control signal information frequency and the second sinusoidal model comprises a second control signal information frequency.
47. The apparatus of claim 46 wherein the means for determining a similarity score comprises means for estimating amplitude information based on atransformed tapered segment and wherein each of the first and second sinusoidal models comprises estimated amplitude information.
48. The apparatus of claim 47 wherein the means for determining a similarity score comprises means for forming a ratio, the numerator of the ratiocomprising an energy distribution based on the first and second sinusoidal models, and the denominator of the ratio comprising an energy distribution based on a difference between a transformed tapered segment and a sum of the first and second sinusoidal models.
49. The apparatus of claim 31 wherein the control signal model comprises expected control signal information distortion.
50. The apparatus of claim 31 wherein the means for determining a similarity score comprises a means for estimating amplitude information based on a transformed tapered segment and wherein a control signal model comprises estimated amplitude information.
51. The apparatus of claim 31 wherein the means for determining a similarity score comprises means for determining a measure of similarity betweenenergy distributions.
52. The apparatus of claim 51 wherein the means for determining a measure of similarity between energy distributions comprises means for forming a ratio, the numerator of the ratio comprising an energy distribution based on a control signal model, and the denominator of the ratio comprising an energy distributionbased on a difference between a transformed tapered segment and the control signal model.
53. The apparatus of claim 31 wherein the means for determining a similarity score comprises:
means for determining an estimate of frequency deviation between an expected control signal information frequency and a frequency component of a transformed tapered segment; and means for determining whether the estimate of frequency deviation exceeds a threshold.
means for determining an estimate of frequency deviation between an expected control signal information frequency and a frequency component of a transformed tapered segment; and means for determining whether the estimate of frequency deviation exceeds a threshold.
54. The apparatus of claim 31 wherein the means for classifying comprises means for determining whether a similarity score exceeds a threshold.
55. The apparatus of claim 31 wherein the means for classifying comprises means for determining whether a frequency component of a transformed tapered segment deviates from an expected control signal information frequency by an amount which exceeds a threshold.
56. The apparatus of claim 55 wherein the means for determining whether a frequency-component of a transformed tapered segment deviates from an expected control signal information frequency comprises:
means for determining amplitude estimates of the transformed tapered segment at a plurality of frequencies including the expected control signal information frequency; and means for determining whether the amplitude at the expected control signal information frequency exceeds the other determined amplitude estimates.
means for determining amplitude estimates of the transformed tapered segment at a plurality of frequencies including the expected control signal information frequency; and means for determining whether the amplitude at the expected control signal information frequency exceeds the other determined amplitude estimates.
57. The apparatus of claim 31 wherein the means for classifying comprises:
means for determining an amplitude variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and means for determining when the amplitude variation parameter exceeds a threshold.
means for determining an amplitude variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and means for determining when the amplitude variation parameter exceeds a threshold.
58. The apparatus of claim 31 wherein the means for classifying comprises:
means for determining a phase variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and means for determining when the phase variation parameter exceeds a threshold.
means for determining a phase variation parameter based on estimates of the amplitude of a frequency component present in each of a plurality of segments; and means for determining when the phase variation parameter exceeds a threshold.
59. The apparatus of claim 31 wherein the means for classifying comprises:
means for determining an amplitude and phase variation parameter based on estimates of the amplitude and phase of a frequency component present in each of a plurality of segments; and means for determining when the amplitude and phase variation parameter exceeds a threshold.
means for determining an amplitude and phase variation parameter based on estimates of the amplitude and phase of a frequency component present in each of a plurality of segments; and means for determining when the amplitude and phase variation parameter exceeds a threshold.
60. The apparatus of claim 31 wherein the means for classifying comprises:
means for determining a ratio of amplitudes of a transformed tapered segment, the numerator of the ratio comprising an amplitude evaluated at one frequency of expected control signal information and the denominator of the ratio comprising an amplitude evaluated at another frequency of the expected control signal information; and means for determining whether the ratio is within a predetermined range of values.
means for determining a ratio of amplitudes of a transformed tapered segment, the numerator of the ratio comprising an amplitude evaluated at one frequency of expected control signal information and the denominator of the ratio comprising an amplitude evaluated at another frequency of the expected control signal information; and means for determining whether the ratio is within a predetermined range of values.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/816,332 US5442696A (en) | 1991-12-31 | 1991-12-31 | Method and apparatus for detecting control signals |
US816,332 | 1991-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2081535A1 CA2081535A1 (en) | 1993-07-01 |
CA2081535C true CA2081535C (en) | 1997-02-04 |
Family
ID=25220303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002081535A Expired - Fee Related CA2081535C (en) | 1991-12-31 | 1992-10-27 | Method and apparatus for detecting control signals |
Country Status (6)
Country | Link |
---|---|
US (1) | US5442696A (en) |
EP (1) | EP0550144A1 (en) |
JP (1) | JP3066213B2 (en) |
KR (1) | KR930015536A (en) |
AU (1) | AU643632B2 (en) |
CA (1) | CA2081535C (en) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3329549B2 (en) * | 1993-12-28 | 2002-09-30 | 松下電送システム株式会社 | Communication device |
US7248680B1 (en) | 1994-04-19 | 2007-07-24 | T-Netix, Inc. | Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access |
US5655013A (en) | 1994-04-19 | 1997-08-05 | Gainsboro; Jay L. | Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access |
US5926533A (en) | 1994-04-19 | 1999-07-20 | Opus Telecom, Inc. | Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access |
US7106843B1 (en) * | 1994-04-19 | 2006-09-12 | T-Netix, Inc. | Computer-based method and apparatus for controlling, monitoring, recording and reporting telephone access |
US5745384A (en) * | 1995-07-27 | 1998-04-28 | Lucent Technologies, Inc. | System and method for detecting a signal in a noisy environment |
GB2306723A (en) * | 1995-10-31 | 1997-05-07 | Advanced Tech Uk Ltd | Data communication |
US6574321B1 (en) | 1997-05-08 | 2003-06-03 | Sentry Telecom Systems Inc. | Apparatus and method for management of policies on the usage of telecommunications services |
US5949864A (en) * | 1997-05-08 | 1999-09-07 | Cox; Neil B. | Fraud prevention apparatus and method for performing policing functions for telephone services |
US6128370A (en) * | 1997-08-06 | 2000-10-03 | Lucent Technologies Inc. | Multiple tone detection using out-of-band background detector |
US6665376B1 (en) | 1998-10-23 | 2003-12-16 | T-Netix, Inc. | Selectively activated integrated real-time recording of telephone conversations with automated documentation of consent to call recording |
WO2000030325A1 (en) * | 1998-10-30 | 2000-05-25 | Nortel Networks Limited | Method and apparatus for detecting signalling tones |
US6665380B1 (en) | 1999-01-11 | 2003-12-16 | T-Netix, Inc. | Inmate messaging system and method |
US6249762B1 (en) * | 1999-04-01 | 2001-06-19 | The United States Of America As Represented By The Secretary Of The Navy | Method for separation of data into narrowband and broadband time series components |
US7423983B1 (en) * | 1999-09-20 | 2008-09-09 | Broadcom Corporation | Voice and data exchange over a packet based network |
US6674855B1 (en) | 1999-10-06 | 2004-01-06 | Comverse Ltd. | High performance multifrequency signal detection |
US6763099B1 (en) | 1999-11-05 | 2004-07-13 | T-Netix, Inc. | Advanced three way call detection system and method using spread spectrum techniques |
US7920697B2 (en) * | 1999-12-09 | 2011-04-05 | Broadcom Corp. | Interaction between echo canceller and packet voice processing |
EP1113675A1 (en) * | 2000-01-03 | 2001-07-04 | Alcatel | Robust CAS detection method |
US6668045B1 (en) | 2000-10-30 | 2003-12-23 | T-Netix, Inc. | Message screening, delivery and billing system |
US8000269B1 (en) | 2001-07-13 | 2011-08-16 | Securus Technologies, Inc. | Call processing with voice over internet protocol transmission |
US7899167B1 (en) | 2003-08-15 | 2011-03-01 | Securus Technologies, Inc. | Centralized call processing |
US6650124B2 (en) | 2001-10-05 | 2003-11-18 | Phonak Ag | Method for checking an occurrence of a signal component and device to perform the method |
CA2427845C (en) * | 2001-10-05 | 2010-07-13 | Phonak Ag | Method for verifying the availability of a signal component and device for carrying out said method |
US9020114B2 (en) | 2002-04-29 | 2015-04-28 | Securus Technologies, Inc. | Systems and methods for detecting a call anomaly using biometric identification |
US7860222B1 (en) | 2003-11-24 | 2010-12-28 | Securus Technologies, Inc. | Systems and methods for acquiring, accessing, and analyzing investigative information |
US7916845B2 (en) | 2006-04-13 | 2011-03-29 | Securus Technologies, Inc. | Unauthorized call activity detection and prevention systems and methods for a Voice over Internet Protocol environment |
US9026468B2 (en) | 2002-04-29 | 2015-05-05 | Securus Technologies, Inc. | System and method for proactively establishing a third-party payment account for services rendered to a resident of a controlled-environment facility |
US7359451B2 (en) | 2002-06-21 | 2008-04-15 | Disney Enterprises, Inc. | System and method for wirelessly transmitting and receiving digital tokens for use in electronic gameplay |
US7764716B2 (en) | 2002-06-21 | 2010-07-27 | Disney Enterprises, Inc. | System and method for wirelessly transmitting and receiving digital data using acoustical tones |
US6915224B2 (en) * | 2002-10-25 | 2005-07-05 | Jung-Ching Wu | Method for optimum spectrum analysis |
US7400573B2 (en) * | 2003-04-29 | 2008-07-15 | Intel Corporation | Dynamic allocation of cyclic extension in orthogonal frequency division multiplexing systems |
US7139567B2 (en) * | 2003-06-18 | 2006-11-21 | The Johns Hopkins University | Tone based command system for reception of very weak signals |
US7529357B1 (en) | 2003-08-15 | 2009-05-05 | Evercom Systems, Inc. | Inmate management and call processing systems and methods |
US7366110B2 (en) * | 2004-09-30 | 2008-04-29 | Avaya Technology Corp. | Method and apparatus for merging call components during call reconstruction |
US7613106B2 (en) * | 2005-01-04 | 2009-11-03 | Avaya Inc. | Dial plan transparency for fragmented networks |
US8462637B1 (en) | 2005-01-04 | 2013-06-11 | Sheridan Ross P.C. | Dial plan routing for fragmented networks |
US10796392B1 (en) | 2007-05-22 | 2020-10-06 | Securus Technologies, Llc | Systems and methods for facilitating booking, bonding and release |
US9363366B1 (en) * | 2015-02-13 | 2016-06-07 | Wipro Limited | System and method for improved lawful interceptions for calls involving in-band DTMF signaling |
US9503568B1 (en) * | 2016-06-30 | 2016-11-22 | Captioncall, Llc | Detecting dial tone on a telephone line |
US10257591B2 (en) * | 2016-08-02 | 2019-04-09 | Pindrop Security, Inc. | Call classification through analysis of DTMF events |
CN110830410B (en) * | 2019-11-08 | 2022-08-16 | 中国人民解放军海军航空大学 | Strictly odd-even symmetric elliptic spherical wave signal construction and detection method |
AU2021212621B2 (en) * | 2020-01-27 | 2024-02-22 | Pindrop Security, Inc. | Robust spoofing detection system using deep residual neural networks |
JP2023515677A (en) | 2020-03-05 | 2023-04-13 | ピンドロップ セキュリティー、インコーポレイテッド | System and method of speaker-independent embedding for identification and matching from speech |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3963905A (en) * | 1974-09-11 | 1976-06-15 | Bell Telephone Laboratories, Incorporated | Periodic sequence generators using ordinary arithmetic |
US3971998A (en) * | 1975-05-02 | 1976-07-27 | Bell Telephone Laboratories, Incorporated | Recursive detector-oscillator circuit |
US4018991A (en) * | 1975-12-29 | 1977-04-19 | Gte Automatic Electric Laboratories Incorporated | Multifrequency signal parity detector |
GB1595301A (en) * | 1976-12-10 | 1981-08-12 | Plessey Canada | Electronic telephone system |
US4158110A (en) * | 1977-08-25 | 1979-06-12 | Tone Commander Systems, Inc. | Tone selective key telephone intercom system including digital tone detector |
FR2409652A1 (en) * | 1977-11-18 | 1979-06-15 | Materiel Telephonique | MULTI-FREQUENCY CODED DIGITAL SIGNAL RECEIVER |
US4328398A (en) * | 1979-05-22 | 1982-05-04 | Oki Electric Industry Co., Ltd. | Digital multi-frequency receiver |
IT1119943B (en) * | 1979-11-05 | 1986-03-19 | Cselt Centro Studi Lab Telecom | RECEIVER OF MUTLIFREQUENCY KEYBOARD SIGNALS CODED IN PCM |
US4354248A (en) * | 1979-11-28 | 1982-10-12 | Motorola, Inc. | Programmable multifrequency tone receiver |
US4348735A (en) * | 1980-06-23 | 1982-09-07 | Bell Telephone Laboratories, Incorporated | Cyclotomic tone detector and locator |
US4361875A (en) * | 1980-06-23 | 1982-11-30 | Bell Telephone Laboratories, Incorporated | Multiple tone detector and locator |
US4333156A (en) * | 1980-06-23 | 1982-06-01 | Bell Telephone Laboratories, Incorporated | Broadband cyclotomic tone detector |
US4613730A (en) * | 1980-09-19 | 1986-09-23 | Rockwell International Corp. | Electronic telephone with feature access and speed dialing including loop breaks |
JPS5795746A (en) * | 1980-12-04 | 1982-06-14 | Fujitsu Ltd | Receiver for multifrequency signal |
JPS57143964A (en) * | 1981-03-03 | 1982-09-06 | Fujitsu Ltd | Multifrequency signal receiver |
JPS57143965A (en) * | 1981-03-03 | 1982-09-06 | Fujitsu Ltd | Multifrequency signal receiver |
JPH0652536B2 (en) * | 1984-05-14 | 1994-07-06 | 富士通株式会社 | Recognition device |
US4611320A (en) * | 1984-05-21 | 1986-09-09 | Siemens Corporate Research And Support, Inc. | Programmable testing analyzer |
JPS6130198A (en) * | 1984-07-20 | 1986-02-12 | Fujitsu Ltd | Receiving method of digital multi-frequency signal |
CA1216380A (en) * | 1984-11-09 | 1987-01-06 | Gordon J. Reesor | Digital tone detector |
US4689760A (en) * | 1984-11-09 | 1987-08-25 | Digital Sound Corporation | Digital tone decoder and method of decoding tones using linear prediction coding |
JPH0646819B2 (en) * | 1985-03-01 | 1994-06-15 | 沖電気工業株式会社 | Digital multi-frequency signal receiver |
JPS61200796A (en) * | 1985-03-04 | 1986-09-05 | Oki Electric Ind Co Ltd | Channel frequency detection system |
US4768221A (en) * | 1986-10-20 | 1988-08-30 | Planum Technology Corp. | Remote reprogramming system for telephone call forwarding service |
US4827500A (en) * | 1987-01-30 | 1989-05-02 | American Telephone And Telegraph Company, At&T Bell Laboratories | Automatic speech recognition to select among call destinations |
US4837799A (en) * | 1987-10-05 | 1989-06-06 | Ambassador College | Telephone line communications control system |
US4907260A (en) * | 1987-10-05 | 1990-03-06 | Ambassador College | Telephone line communications control system |
US4914692A (en) * | 1987-12-29 | 1990-04-03 | At&T Bell Laboratories | Automatic speech recognition using echo cancellation |
US4853958A (en) * | 1988-06-02 | 1989-08-01 | Northern Telecom Limited | LPC-based DTMF receiver for secondary signalling |
US4990848A (en) * | 1988-06-13 | 1991-02-05 | Texas Instruments Incorporated | DTMF receiver |
US4833399A (en) * | 1988-06-13 | 1989-05-23 | Texas Instruments Incorporated | DTMF receiver |
US4932042A (en) * | 1989-03-03 | 1990-06-05 | At&T Bell Laboratories | Spontaneous voice and data messaging |
EP0440028A3 (en) * | 1990-01-29 | 1992-07-22 | Dialogic Corporation | Multifrequency tone signal detector |
US5257309A (en) * | 1990-12-11 | 1993-10-26 | Octel Communications Corporation | Dual tone multifrequency signal detection and identification methods and apparatus |
US5218636A (en) * | 1991-03-07 | 1993-06-08 | Dialogic Corporation | Dial pulse digit detector |
-
1991
- 1991-12-31 US US07/816,332 patent/US5442696A/en not_active Expired - Fee Related
-
1992
- 1992-10-27 CA CA002081535A patent/CA2081535C/en not_active Expired - Fee Related
- 1992-11-23 EP EP92310670A patent/EP0550144A1/en not_active Ceased
- 1992-12-08 KR KR1019920023552A patent/KR930015536A/en active IP Right Grant
- 1992-12-10 AU AU30061/92A patent/AU643632B2/en not_active Ceased
-
1993
- 1993-01-04 JP JP5014402A patent/JP3066213B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0686338A (en) | 1994-03-25 |
US5442696A (en) | 1995-08-15 |
JP3066213B2 (en) | 2000-07-17 |
AU643632B2 (en) | 1993-11-18 |
KR930015536A (en) | 1993-07-24 |
CA2081535A1 (en) | 1993-07-01 |
AU3006192A (en) | 1993-07-08 |
EP0550144A1 (en) | 1993-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2081535C (en) | Method and apparatus for detecting control signals | |
US4577310A (en) | Station interface for digital electronic telephone switching system having centralized digital audio processor | |
US4528664A (en) | Call progress signal monitor and method for telephone systems | |
US5311589A (en) | Apparatus and method for audible signaling tone recognition | |
MXPA96001995A (en) | Tone detector with improved performance in the presence of ha | |
JPH08331614A (en) | Tone detector with improved performance in presence of audio | |
US6782095B1 (en) | Method and apparatus for performing spectral processing in tone detection | |
US5416836A (en) | Disconnect signalling detection arrangement | |
EP0211865B1 (en) | Supervisory tone detection | |
US4990848A (en) | DTMF receiver | |
KR0152070B1 (en) | Dtmf receiver | |
NO157839B (en) | CONFERENCE CIRCUIT. | |
US4742534A (en) | Telephone receiving equipment for recognizing predetermined combinations of voice-frequency signalling components | |
CA1200031A (en) | Adaptive signal receiving method and apparatus | |
US4479229A (en) | Arrangement for and method of detecting multi-frequency sound code signals | |
US5999898A (en) | Voice/data discriminator | |
US3600518A (en) | Subscriber subset for pcm telephone system | |
US4771422A (en) | Priority user protection in multiple priority switching systems | |
US4922528A (en) | Circuitry for recognizing two-tone compound signals in telephone installations | |
US3748398A (en) | Circuit arrangement for determining the existence of a calling condition on channels of a multiplex radiotelephone communication system | |
US5638435A (en) | Impulse signal convertor | |
Baugh | Design and performance of a digital multifrequency receiver | |
US4519072A (en) | Answer supervision system | |
EP1093310A2 (en) | Tone detection using neural network | |
CA2235900A1 (en) | Method and apparatus for detecting multiplexing standard mismatches in communication networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |