Abstract:
The method provides a method and device for detecting in a single or multi frequency signal, one or more frequencies from a predetermined set of frequencies. The Signal is subjected to a complex filter substantially passing all of the frequencies in the predetermined set of frequencies. For each of one or more pairs of members of the complex filtered signal, a complex number Y d  is determined having a phase indicative of a phase difference between the two members of the pair. The one or more frequencies are then determined based upon the one or more complex numbers. The method and device of the invention may be used in an apparatus such as a call indicator (CI) detector or a DTMF detector.

Description:
FIELD OF THE INVENTION 
       [0001]    This invention relates to methods and devices for detecting frequency modulated signals. 
       BACKGROUND OF THE INVENTION 
       [0002]    A frequency modulated signal consists of a predetermined sequence of data bits (Dbits), where each Dbit type is transmitted as a signal having one or more frequencies from a predetermined set of specified frequencies. Use of a frequency modulated signal to transmit information over a communication line requires a detector capable of quickly detecting the signal even in a low signal to noise ratio environment. 
         [0003]    For example, communication devices are known capable of transmitting and receiving voice as well as video signals. When a voice communication link has been established between two or more patties, and one of the parties decides to change the mode of communication from voice to video, the party transmits a Cl (call indication) signal to the other party&#39;s device in order to inform the other party&#39;s device to change its mode of communication from voice to video. This CI signal is specified in the 1TU-V.8 standard, and is a frequency shift modulated signal known as the “T 1 -N 0 ” sequence. This sequence consists of 10 ones (‘1111111111’) followed by 10 synchronization bits (‘0000000001’) and a call function octet (‘0 byte data 1’). The standard further specifies that a “0” be transmitted as a 1180 Hz signal, and that a “1’ be transmitted as a 980 Hz signal. These two frequencies, 980 Hz and 1180 Hz are referred to as the “FSK” (frequency shift key modulation) frequencies. The CI signal is transmitted with a regular ON/OFF cadence in which the ON periods are not less than 3 periods of the CI sequence, and are not greater than 2 sec in duration. The OFF periods are not less than 0.4 sec and not greater than 2 sec in duration. 
         [0004]    A communication device capable of alternating between voice and video modes needs to include a CI signal detector, also known as a CI detector. When the CI detector identifies a CI signal received at the communication device from a remote communication device indicating that the remote device has changed from voice to video communication, the CI detector generates a signal causing its communication device to change from voice to video communication. 
         [0005]    As another example, dual frequency (DF) signals, also known as dual-tone multiple frequencies (DTMF), are signals that are an additive combination of two equal-amplitude frequency components. Thus, the signal generated by depressing “1” on the telephone keypad is the sum of a 697 Hz and a 1209 Hz frequency signals, and the signal generated by depressing “5” is the sum of a 770 Hz and a 1336 Hz sine wave. DF signals are used for example, for representing telephone numbers and other signaling functions within a telephone system including interactive voice response. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention provides a device for detecting a multi-frequency signal in a communication signal. The device of the invention may be used for example, as a CI signal detector for detecting a CI signal in a communication signal. The CI detector may be used in a communication device capable of supporting voice and video communication. As another example, the multi-frequency detector of the invention may be used in a device to detect a DTMF signal. 
         [0007]    In the multi-frequency detector of the invention, an input signal which is to be analyzed for the occurrence of a predetermined signal sequence of data bits is input to a filter module. In accordance with the invention, the filter module carries out a band pass filtering process in which the passed frequency band includes all of the frequencies in the specified frequency set consisting of all of the frequencies used to represent the Dbits in the signal sequence to be detected. In a preferred embodiment of the invention, the passed frequency band has a plateau around each one of the frequencies in the frequency set, where adjacent plateaus are preferably separated by a local minimum. 
         [0008]    The filtered signal is input to a frequency condition module that determines, on the basis of the detector module output whether the frequency of the filtered sequence is one of the specified frequencies. When one of the specified frequencies is detected, by the frequency condition module, it generates an output of the Dbit corresponding to the detected frequency. Otherwise the module generates a blank output (indicated herein by “n”) indicating that none of the specified frequencies was detected. A sequence condition module may optionally search the output of the frequency condition module for the presence of the signal sequence to be detected. When the signal sequence is detected, the device generates a signal indicating that the signal sequence has been detected. 
         [0009]    Thus, in one of its aspects, the present invention provides a method for detecting in a single or multi frequency signal, one or more frequencies from a predetermined set of frequencies, comprising: 
         [0010]    (a) subjecting the signal to a complex filter substantially passing all of the frequencies in the predetermined set of frequencies, to produce a complex filtered signal; 
         [0011]    (b) for each of one or more pairs of members of the complex filtered signal, determining a complex number Y d  having a phase indicative of a phase difference between the two members of the pair; and 
         [0012]    (c) determining the frequency of the signal based upon the one or more complex numbers determined in step (b). 
         [0013]    In another of its aspects, the invention provides a device for detecting in a single or multi frequency input signal, one or more frequencies from a predetermined set of frequencies, the device comprising a processor configured to: 
         [0014]    (a) subject the input signal to a complex filter substantially passing all of the frequencies in the predetermined set of frequencies, to produce a complex filtered signal; for each of one or more pairs of members of the complex filtered signal (a+bj) and (c+dj): 
         [0015]    (b) determine a complex number Y d  having a phase indicative of a phase difference between the two members of the pair; and 
         [0016]    (c) determine the frequency of the signal based upon the one or more complex numbers determined in step (b). 
         [0017]    In still another of its aspects, the invention provides an apparatus comprising the device according to the invention. 
         [0018]    In yet another of its aspects, the invention provides a device comprising a processor configured, for each of the two or more communication lines, to: 
         [0019]    subject a single frequency input signal in the communication line to a complex filter substantially passing all of the frequencies in the predetermined set of frequencies, to produce a complex filtered signal; for each of one of more pairs of members of the complex filtered signal (a+bj) and (c+dj): 
         [0020]    determine a complex number Y d  having a phase indicative of a phase difference between the two members of the pair; 
         [0021]    determine the frequency of the input signal based upon the one or more complex numbers determined in step (b); 
         [0022]    for each of the one or more predetermined frequencies, output a Dbit value associated with the predetermined frequency if the current frequency of the filtered signal is equal to the predetermined frequency; 
         [0023]    output a Dbit value of n if the current frequency of the filtered signal is not equal to any one of the predetermined frequencies to generate a sequence of Dbits; 
         [0024]    analyze the sequence of Dbits to detect the T 1 -N 0  sequence: and 
         [0025]    connect the communication line to the modem when the T 1 -N 0  sequence is detected in the communication line. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0026]    In order to understand the invention and to see how it may be carried out in practice embodiments will now be described, by way of non-limiting example only with reference to the accompanying drawings, in which: 
           [0027]      FIG. 1  shows a CI signal detector in accordance with one embodiment of the invention; 
           [0028]      FIG. 2  shows a frequency response of a filter module for use in the CI signal detector of  FIG. 1 ; 
           [0029]      FIG. 3  shows a method carried out by the energy condition module for use in the CI signal detector of  FIG. 1 ; 
           [0030]      FIG. 4  shows the normalized phase difference between two consecutive Outputs from the filter module as a function of the frequency of the filtered signal; 
           [0031]      FIG. 5  shows a method for determining whether the phase difference between two consecutive outputs from the filter module is in a predetermined range; 
           [0032]      FIG. 6  shows an implementation of a call indicator detector at a multi line communication node; and 
           [0033]      FIG. 7  shows a DTMF detector in accordance with one embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
       [0034]    The invention will first be described within the context of a CI signal detector configured to detect the T 1 -N 0  signal sequence in a frequency modulated signal composed from two different Dbit types (0 and 1). This is done only for clarity in the description; it being evident that the invention may be extended to the detection of a frequency modulated signal composed from more than two Dbit types. 
         [0035]      FIG. 1  shows a schematic representation of a CI signal detector, generally indicated by  2 , in accordance with one embodiment of the invention. An input signal  4  which is to be analyzed for the presence of the T 1 -N 0  sequence is first input to a filter module  6 . As described in detail below, the filter module  6  carries out a filtering process in which frequencies around the two FSK frequencies used in a CI signal are transmitted. The output  8  of the filter module  6  is a sequence of complex numbers that is input to an energy condition module  10 . The energy condition module  10  determines whether the present value of the sequence  8  has an energy level above a predetermined threshold value. If the present value of the sequence  8  does not have an energy level above the predetermined threshold, this result is input as a signal  11  to a sequence condition module  20  which outputs a result  22  that a CI signal has not been detected. If the present value of the sequence  8  has an energy value above the predetermined threshold, the present value of the sequence  8  is input to a frequency detection module  12  as a signal  13 . The energy condition module then determines whether the sequence  8  has had an energy level above the predetermined threshold for at least a predetermined number of consecutive values. If the energy condition module  10  determines that the filtered signal does not meet this energy criterion, this result is input to the sequence condition module  20  which outputs a result  22  that a CI signal has not been detected. 
         [0036]    When the energy condition module  10  determines that the filtered signal  8  satisfies the energy criterion, this is input to the frequency detection module  12  which generates, for each pair of consecutive complex values output from the filter module  10 , a complex output whose phase is equal to the phase difference between the pair. The output  14  of the frequency detector module is input into a frequency condition module  16  that determines from its input, whether the frequency of the filtered signal  8  is one of the two FSK frequencies. When the 980 Hz frequency or the 1180 Hz frequency is detected by the frequency condition module  16 , the module  16  generates an output  18  of “1” or “0”, respectively. Otherwise the module  16  generates a blank output “n” indicating that neither one of the FSK frequencies was detected. The sequence  18  generated by the frequency condition module is input to a sequence condition module  20  which searches the sequence  18  for the presence of the T 1 -N 0  sequence. The sequence condition module outputs an output  22  that is set to 1 when the T 1 -N 0  sequence is detected. Otherwise, the output  22  is set to 0. 
       The Filter Module 
       [0037]      FIG. 2   a  shows the frequency response of the filter module  6  in accordance with one preferred embodiment of the invention. The frequency response has a transmission band  24  including the two FSK frequencies that is shown in greater detail in  FIG. 2   b.  The transmission band  24  has a plateau  25   a  around the FSK frequency  980  and a plateau  25   b  around the FSK frequency 1180. The two transmission peaks  25   a  and  25   b  are separated by a local minimum  27 . The filter module  6  uses an 80 tap complex FIR (finite input response) to compute one complex output every 2 ms. The input signal  4  typically has a baud rate of 300 baud, and a sampling rate greater than 300 baud. For example, a sampling rate of 500 baud may be used, in which case every 16 samples (2 msec) a new FIR starts to run. Every run generates a single complex number indicative of the real and the imaginary frequency components. The frequency response shown in  FIG. 2  is achieved using FIR coefficients generated as follows. 
         [0038]    The frequency bandwidth of the filter module  6  is designed to extend from about 100 Hz below the carrier frequency Fc of the input signal  4  (1080 Hz) to 100 Hz above the carrier frequency (with a deviation of up to +/−12 Hz). The input signal  4  is shifted by the carrier frequency Fc by multiplying the input signal  4  by exp(j*Fc), so that the Fc is set to 0 Hz. Low pass filtering is then run with a high attenuation out-band using a Hamming window convoluted with a Kaiser window. The response of this band pass filter is saddle shaped and flattened at the two FSK frequencies. This is accomplished by multiplying by the two symmetric side frequencies near of the carrier frequency (Fc), exp(j*((Fc+df) and exp(j*(Fc−dt). 
         [0039]    In a preferred embodiment the following process is carried out 
         [0000]      Win_size=80;  df= 81;  Gb=− 0.8;  dp=− ½;  dw= 16;  fc= 1080;  Fs= 8000; 
         [0040]    % Make lowpass fir filter. 
         [0041]    Win=conv(hamming(Win_size−dw+1),kaiser(dw,1)); 
         [0042]    % Complex shift by: 
         [0043]    expFp=exp(j*2*pi*([1:length(Win)/2]*(fc+df)/Fs+dp*(fc+df)/Fs)); 
         [0044]    expFn=exp(j*2*pi*([1:length(Win)/2]*(fc−df)/Fs+dp*(fc−df)/Fs)); 
         [0045]    expFc=exp(j*2*pi*([1:length(Win)/2]*(fc)/Fs+dp*(fc)/Fs)); 
         [0046]    s=expFp+expFn+Gb*expFc; 
         [0047]    % make symmetric complex freq. 
         [0048]    s=[conj(s(end:−1:1)) s]; 
         [0049]    % Calculate complex FIR coedf. 
         [0050]    B=s. *Win′; 
         [0051]    The filter s is converted into a symmetric complex form by setting, s=[conj(s(end:−1:1)) s]. Since the filter module  6  uses a symmetric window, it is sufficient to use only half of the window. The real window is based oil cosines and thus has positive symmetry. The imaginary window is based on sines and thus has negative symmetry. Because of this negative symmetry, the half imaginary window is multiplied by ‘−1’ when being Using it for the other half. A complex FIR coefficient B is calculated as B=sWin′. 
         [0052]    Implementing this process with the parameter values specified above, the filter coefficients B shown in Table 1 in fix point format Q2.13 are obtained. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 WinImage_Fix 
                 WinReal_Fix 
               
               
                   
                   
               
             
             
               
                   
                  68, 
                  39, 
               
               
                   
                  150, 
                  −51, 
               
               
                   
                  93, 
                 −225, 
               
               
                   
                 −147, 
                 −299, 
               
               
                   
                 −415, 
                 −114, 
               
               
                   
                 −447, 
                  294, 
               
               
                   
                  −91, 
                  639, 
               
               
                   
                  495, 
                  579, 
               
               
                   
                  879, 
                  14, 
               
               
                   
                  670, 
                 −737, 
               
               
                   
                 −121, 
                 −1099,  
               
               
                   
                 −986, 
                 −693, 
               
               
                   
                 −1250,  
                  300, 
               
               
                   
                 −628, 
                 1186, 
               
               
                   
                  483, 
                 1278, 
               
               
                   
                 1264, 
                  478, 
               
               
                   
                 1124, 
                 −595, 
               
               
                   
                  268, 
                 −1117,  
               
               
                   
                 −561, 
                 −798, 
               
               
                   
                 −741, 
                  −82, 
               
               
                   
                 −338, 
                  307, 
               
               
                   
                   2, 
                  108, 
               
               
                   
                 −229, 
                 −196, 
               
               
                   
                 −760, 
                  108, 
               
               
                   
                 −706, 
                 1075, 
               
               
                   
                  489, 
                 1786, 
               
               
                   
                 2204, 
                 1080, 
               
               
                   
                 2851, 
                 −1181,  
               
               
                   
                 1210, 
                 −3533,  
               
               
                   
                 −2175,  
                 −3813,  
               
               
                   
                 −4933,  
                 −1022,  
               
               
                   
                 −4532,  
                 3403, 
               
               
                   
                 −492, 
                 6245, 
               
               
                   
                 4745, 
                 4897, 
               
               
                   
                 7309, 
                 −345, 
               
               
                   
                 4846, 
                 −6048,  
               
               
                   
                 −1394,  
                 −7988,  
               
               
                   
                 −7148,  
                 −4381,  
               
               
                   
                 −8192,  
                 2520, 
               
               
                   
                 −3566  
                 7898  
               
               
                   
                   
               
             
          
         
       
     
         [0053]    Although the filter module  6  uses a time window of including 80 taps, the main coefficient energy is on slightly more than one FSK bit, corresponding to about 30 samples. Using a sliding window with a 2 msec delay gives overlapped FSK bits, for more data. 
       The Energy Condition Module 
       [0054]    The output  8  from the filter module  6  is a time sequence Of complex numbers that is input to the energy condition module  10 .  FIG. 3  shows a flow chart diagram for a method carried out by the energy condition module  10 . In step  26  the value of a counter is set to 0. In step  28  a complex data sample a+bi from the output  8  is input to the energy condition module  10 . In step  30 , the energy of the output  22  is calculated using the algebraic expression Energy=a 2 +b 2 . In step  32  it is determined whether the energy is above a predetermined threshold TH. If no, then in step  33  an output of n is generated to the sequence condition module  20  and the process returns to step  26  with the counter being reset to 0. If the energy is above the threshold TH, then in step  34  the present value of the filtered signal  8  is input to the frequency detector module  12 . The process then continues with step  35  where the value of the counter is increased by 1. In step  36  it is then determined whether the counter is greater than or equal to a predetermined constant N. If yes, then in step  37  an output of 1 is generated to the frequency condition module  16  and the process returns to step  28  with the next data sample being input to the energy condition module  10 . If the counter is not greater than or equal to the predetermined constant N, then in step  38  an output of n is generated to the sequence condition module  20  and the process returns to step  28  with the next data sample being input to the energy condition module  10 . 
         [0055]    The final energy decision is thus based upon the last N outputs from the filter module  6 . The energy of all of the last N outputs must exceed the energy threshold TH in order for an output of 1 to be generated by the energy condition module  10 . The larger the N, the larger the immunity to noise and other signals superimposed on the CI signal.  4 , but there is less sensitivity to “talk off”. N may be set, for example to 4. 
         [0056]    In order to reduce or prevent MIPS (million instructions per second) peaks, the filter module  6  should run every sample, while the other modules (the energy condition module  10 , the frequency detection module  12 , the frequency condition module  16  and the sequence condition module  20 ) run every 2 ms. 
       The Frequency Detection Module 
       [0057]    When the frequency detection module  12  receives an input from the energy condition module  10  that the energy of the filtered signal  18  has been above the predetermined threshold TH for at least the N most recent data values, the frequency detection module  12  determines whether the frequency of the signal is one of the two FSK signals. 
         [0058]    During a time period when the frequency of the input signal  4 , and hence the frequency of the filtered signal  8  is constant, all pairs of consecutive data values in the sequence  8  have a fixed phased difference α that is uniquely determined by this constant signal frequency and the constant time delay between consecutive data values. There is thus a one-to-one correspondence between the frequency of the signal  8  and the phase difference α.  FIG. 4  shows the normalized phase between two consecutive data values in the sequence  8  as a function of the frequency of the signal  8 . In the normalization shown in  FIG. 5 , the carrier frequency Fc has been set at 0 phase for the sake of clarity in the description. 
         [0059]    When the delay is 2 msec (16 sample) and Fs=8000 Hz then Fs/16=500 Hz so that every 500 Hz the phase changes sign. In this case, the relationship between the normalized phase and the frequency of the signal  8  in the rage of±250 Hz around Fc is: 
         [0000]    
       
         
           
             
               θ 
               0 
             
             = 
             
               
                 
                   2 
                    
                   π 
                 
                 500 
               
               * 
               
                 ( 
                 
                   
                     f 
                     0 
                   
                   - 
                   
                     f 
                     c 
                   
                 
                 ) 
               
             
           
         
       
     
         [0060]    where f 0  is the frequency of the signal  8 , and f c  is the carrier frequency. More generally, for non-normalized phases: 
         [0000]    
       
         
           
             
               θ 
               0 
             
             = 
             
               
                 
                   2 
                    
                   π 
                 
                 
                   f 
                   b 
                 
               
               * 
               
                 rem 
                 ( 
                 
                   
                     
                       f 
                       0 
                     
                     - 
                     
                       f 
                       b 
                     
                   
                   
                     f 
                     b 
                   
                 
                 ) 
               
             
           
         
       
     
         [0061]    where f b  is the frequency at which the phase changes sign (the “flip frequency”) Given two consecutive data points in the output  8 , y a =a+bj=Ae jH  and y 1 =c+dj=Ce jD , the frequency detector module  12  calculates a vector Y d  where Y d =y 0 ·conj(y 1 )=ACe j(H−D) =(a+bj)(c−dj)=g+hj. 
         [0000]    The phase of the vector Y d  is thus equal to the phase difference α between the two consecutive vectors y 0  and y 1 . The frequency detector module outputs as an output  14  to the frequency condition module, the vector Y d . 
         [0062]    In a neighborhood of the FSK frequencies, there should not be more than one cycle of the phase because more than one cycle of the phase may cause misdetection. As shown in  FIG. 4 , this situation can arise, for example, with a time delay of more than 16 samples, using this 80 tap FIR. A delay of about 2 msec is the optimum delay that an 80 tap filter can support. 
       The Frequency Condition Module 
       [0063]    The frequency condition module  16  determines whether the frequency of the signal  8  is one of the two FSK frequencies using an algorithm involving the vector Y d . If the phase α of Y d  is in a first range TH 1 &lt;α&lt;TH 2  corresponding to a predetermined range of the FSK frequency 980 Hz, the frequency condition module  16  outputs an output  18  of Dbit=1 to the sequence condition module  20 , indicating that the value of the signal  4  is 1. If the value of α is in a second range TH 3 &lt;α&lt;TH 4 , where TH 2 &lt;TH 3  corresponding to a predetermined range of the FSK frequency 1180 Hz, the frequency condition module  16  outputs an output  18  of Dbit=0, indicating that the value of the signal  4  is 0. Otherwise, the frequency detector module outputs an output  18  of Dbit=n. 
         [0064]    In practice, when determining whether α is in a particularly range, it may be computationally more efficient to operate on the real and imaginary parts of Y d , rather than directly on the phase α of Y d .  FIG. 5  shows a flow chart for a method of determining, whether the phase difference α is in either one of the intervals TH 1 &lt;α&lt;TH 2  or TH 3 &lt;α&lt;TH 4  that operates on the imaginary part of Y d . In step  46  the vector Y d  is rotated by −TH 2  by multiplying Y d  by exp (−jTH 1 ). In step  48 , it is determined whether the imaginary part of the rotated vector Y d exp(−jTH 2 ) is less than 0. If the imaginary part of Y d exp(−jTH 2 )is less than 0, then in step  40 , the vector Yd is rotated by −TH 1  by multiplying Y d  by exp(−jH 1 ). Then, in step  42  it is determined whether the imaginary part of the rotated vector Y d exp(−jTH 1 ) is greater than 0. If no, then α&lt;TH 1  so that the frequency of the signal  8  is not 980 Hz and is not 1180 Hz. In this case, in step  44 , the frequency condition module  16  outputs an output of Dbit=n to the sequence condition module  20 , and the process ends. If the imaginary part of Y d exp(−jTH 1 ) is greater than 0, then TH 1 ≦α≦TH 2  and the frequency of the signal  8  is 980 Hz. In this case, in step  50  the frequency condition module  16  outputs a databit (Dbit) output of “1”, and the process ends. 
         [0065]    If in step  48  it is determined that the imaginary part of the rotated vector Y d exp(−jTH 2 ) is not less than 0. then in step  52 , the vector Y d  is rotated by −TH 3  by multiplying Y d  by exp (−jTH 3 ). Then, in step  54  it is determined whether the imaginary part of the rotated vector Y d exp(−jTH 3 ) is greater than 0. If no, then α&lt;TH 3  and the frequency of the signal  8  is not 980 Hz and is not 1180 Hz. In this case, in step  56 , the frequency condition module  16  outputs Dbit=n and the process ends. If the imaginary part of Y d exp(−jTH 3 ) is greater than 0, then TH 3 &gt;α. In this case the process continues with step  58  where the vector Y d  is rotated by −TH 4  by multiplying Y d  by exp (−jTH 4 ). Then, in step  60  it is determined whether the imaginary part of the rotated vector Y d exp(−jTH 4 ) is less than 0. If no, then α&gt;TH 4  and the frequency of the signal  8  is not 980 Hz and is not 1180 Hz. In this case, in step  62 , the frequency condition module  16  outputs a Dbit=n and the process ends. If the imaginary part of Y d exp(−jTH 4 )is less than zero, then TH 3 &lt;α&lt;TH 4 , and the frequency of the signal  8  is 1180 Hz. In this case, in step  64  the frequency condition module  16  outputs a databit (Dbit) output of “0”, and the process ends. 
         [0066]    When a signal is superimposed on the CI signal, “frequency noise” may cause the phase α of Y d  to leave the detection zone. Frequency noise may be reduced by using instead of Y d  in the algorithm of  FIG. 5 , the mean value of the M most recent values of Y d , where M is a predetermined constant. M may be, for example, equal to 4. 
       The Sequence Condition Module 
       [0067]    The output  18  of the frequency condition module  16  consisting of the sequence of Dbits is input to the sequence condition module  20 . The sequence condition module  20  searches the output  18  for the preamble of the T 1 -N 0  sequence (the portion of the T 1 -N 0  sequence consisting of 10 ones (‘1111111111’) followed by 10 synchronization bits (‘0000000001’)). 
         [0068]    The fact that there is no synchronization between the sampling rate and the baud rate and the fact that the Dbit is based on an average of a few windows, man cause Dbit misdetection at the beginning of the T 1 -N 0  sequence and in the transition of bits. Thus, for example, when the signal  4  includes the T 1 -N 0  sequence preamble 
         [0000]      . . . n,n,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1 . . . 
         [0069]    the corresponding output  18  of the frequency condition module  16  may be 
         [0000]      . . . n,n,n,1,1,1,1,1,1,1,1,1,n,0,0,0,0,0,0,0,n,1 . . . 
         [0070]    The distance in the T 1 -N 0  preamble between the first ‘1’ to the first ‘0’ is known as the “flip distance” and is equal to 10 FSK bits or 17 Dbits (The Dbit length is obtained by dividing the FSK bit length by 0.6). The T 1 -N 0  preamble contains 9 flips (a 1 separated from a subsequent 0) of length 10 FSK bits or 17 Dbits. Due to the problem of misdetection, in one preferred embodiment, in order to detect the T 1 -N 0  sequence preamble, instead of searching the output  18  for consecutive flips of length 10 FSK bits, the output  18  is searched for predetermined number of consecutive occurrences of a shorter flip. For example, the T 1 -N 0  preamble maybe detected in the output  18  by searching for consecutive occurrences of a flip of length 7 FSK bits (12 Dbits). When a predetermined number of such flips is detected, the sequence condition module  18  outputs an output  22  of “1” indicating that the T 1 -N 0  signal has been detected. Otherwise, the output  22  is set to 0, indicating that the T 1 -N 0  signal has not been detected. 
         [0071]    The higher the number of consecutive occurrences needed to generate an Output  22  of “1”, the lower die probability for false detection, but the higher the probability for not detecting the T 1 -N 0  sequence preamble when present. On the other hand, the lower the number of consecutive occurrences needed to generate an output  22  of “1” the higher the probability for false detection but the lower probability for not detecting the T 1 -N 0  sequence preamble when present. For most implementations, a value of 7 for the predetermined constant is preferable. 
         [0072]    Since the sequence condition module searches the signal  18  on) and looks for the CI preamble, and the preamble itself is only two thirds of the CI signal, he detection decision is made after no more than 66 mSec from the beginning of the CI. 
         [0073]      FIG. 6  shows an implementation of the CI detector  2  at a communication node  68  of a communication system. The CI detector  2  simultaneously monitors each of two or more communication lines  70  at the node for the occurrence of the T 1 -N 0  sequence. Three communication lines  70   a,    70   b,  and  70   c  are shown in  FIG. 6 . This is by way of example only, and the CI detector  2  may be implemented at a communication node  68  involving any number of lines  70 . The implementation further comprises a single modem  72 . When the sequence condition module  20  ( FIG. 1 ) of the CI detector  2  detects the T 1 -N 0  sequence in one of the communication lines  70 , for example, the communication line  70   a,  the CI detector  2  connects the communication line  70   a  to the modem  72  by means of a switch  74  and causes the modem to change its mode of communication from voice to video. In this implementation, a single modem may be used, and use of a dedicated modem for each of the communication lines can be avoided. 
         [0074]      FIG. 7  shows an implementation of the multi-frequency detector of the invention in a DTMF detector  80 . The DTMF detector  80  searches an input signal  82  for the presence of a DTMF signal which consists of an additive combination of a high frequency and a low frequency where the high frequency is from a predetermined set of high frequencies and the low frequency is from a predetermined set of low frequencies. 
         [0075]    In the DTMF detector  80 , the input signal  82  is simultaneously input into a high frequency detector  84  and a low frequency detector  86 . The high frequency detector  84  consists of a high frequency filter module  88   a  that transmits the frequencies of the predetermined set of high frequencies and is preferably constructed essentially as described above in reference to the filter module  6 . The output of the filter module  88   a  is input to an energy condition module  90   a  which operates essentially as described above in reference to the energy condition module  10 . When the filtered signal satisfies the energy condition of the energy condition module, the filtered signal is analyzed by means of a high frequency detection module  92   a  and a high frequency condition module  94   a,  which operate as described above in reference to the frequency detection module  12  and the frequency condition module  16 , respectively. When the high frequency condition module  94   a  detects one of the high frequencies, the detected high frequency is input to a DTMF detection module  96 . Otherwise, the high frequency condition module  94   a  outputs an output of “n”. 
         [0076]    The low frequency detector  84  consists of a low frequency filter module  88   b  that transmits the frequencies of the predetermined set of low frequencies and is preferably constructed essentially as described above in reference to the filter module  6 . The output of the low frequency filter module  88   b  is input to an energy condition module  90   b  which operates essentially as described above in reference to the energy condition module  10 . When the filtered signal satisfies the energy condition of the energy condition module  90   b,  the filtered signal is analyzed by means of a low frequency detection module  92   b  and a low frequency condition module  94   b,  which operate as described above in reference to the frequency detection module  12  and the frequency condition module  16 , respectively. When the low frequency condition module  94   b  detects one of the low frequencies, the detected low frequency is input to a DTMF detection module  96 . Otherwise, the low frequency condition module  94   a  outputs an output of “n”. 
         [0077]    The DTMF detection module  96  thus receives inputs from the high frequency condition module  94   a  and the low frequency condition module  94   b.  The DTMF detection module detects pairs of simultaneously obtained inputs from the two frequency condition modules  94   a  and  94   b  indicating that one of the predetermined high frequencies was detected in the input signal  82  simultaneously with the detection of one of the predetermined low frequencies. The DTMF detection module  96  may further determine whether the detected pair of high and low frequencies satisfies any other predetermined requirements, especially requirements specified by a communications standard. When the DTMF detection module detects that a predetermined high frequency and a predetermined low frequency were simultaneously detected in the input signal  82 , and meet any predetermined requirements, the DTMF detection module outputs an output indicative of this.