WO1981002353A1 - Digital pseudo continuous tone detector - Google Patents

Digital pseudo continuous tone detector Download PDF

Info

Publication number
WO1981002353A1
WO1981002353A1 PCT/US1981/000028 US8100028W WO8102353A1 WO 1981002353 A1 WO1981002353 A1 WO 1981002353A1 US 8100028 W US8100028 W US 8100028W WO 8102353 A1 WO8102353 A1 WO 8102353A1
Authority
WO
WIPO (PCT)
Prior art keywords
threshold
tone
correlation
block
sum
Prior art date
Application number
PCT/US1981/000028
Other languages
French (fr)
Inventor
G Labedz
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Priority to AU70387/81A priority Critical patent/AU7038781A/en
Priority to BR8106698A priority patent/BR8106698A/en
Priority to DE8181900771T priority patent/DE3174952D1/en
Publication of WO1981002353A1 publication Critical patent/WO1981002353A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/022Selective call receivers
    • H04W88/025Selective call decoders
    • H04W88/027Selective call decoders using frequency address codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03DDEMODULATION OR TRANSFERENCE OF MODULATION FROM ONE CARRIER TO ANOTHER
    • H03D3/00Demodulation of angle-, frequency- or phase- modulated oscillations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G3/00Gain control in amplifiers or frequency changers
    • H03G3/005Control by a pilot signal

Definitions

  • This invention relates generally to the electronic signal processing art and, in particular, to an improved digital tone detection method suitable for tone control squelch systems.
  • such systems operate by equipping each radio transmitter in the particular radio system with a tone encoder operating on one of the 33 standard EIA channels between 67.0 and 250.3HZ.
  • the operator's voice modulates the transmitter in the 300-3000HZ range and simultaneously with the voic the subaudible tone modulates the transmitter as well.
  • Receivers within the radio system are equipped with a frequency selective device (tone decoder) tuned to the same tone frequency as the tone encoder within the trans mitters of the system. This tone decoder normally holds the receiver in the squelched mode. If a received signal is not modulated with the tone or is modulated with a tone that is not on the decoder frequency, then the receiver will remain squelched and the operator will not hear the interference. If a transmission is received having a tone corresponding to the frequency of the tone decoder, the receiver will be unsquelched and the opera ⁇ tor will receive the message.
  • subaudible tone such as, control of radio repeaters, identifying a particular vehicle out of a plurality of vehicles, alarm and control signal applications, switch ⁇ ing radio receiver or transmitter frequencies, switching communication circuits, etc.
  • OMPI referred to as a quadrature correlation detector for a signal of unknown input phase.
  • This prior art electronic approach suffers from lack of flexibility in that it must be designed for a single frequency in a predetermined bandwidth. It is also difficult to integrate a circuit of this type with other circuits of a using system.
  • an electronic tone detector which can meet EIA standards and which is easily programmable.
  • OMPI signal to detect at least one desired tone of a pluralit of tones.
  • the input signal is first digitized, prefer ⁇ ably using hard limiting, to generate samples of the input signal.
  • Each sample is assigned to a phase sub- region of a reference waveform where the reference wave ⁇ form preferably has the frequency of the desired tone.
  • the sample values for each phase subregion are then summed over sequential time intervals. As a result, for each time interval there is a subtotal for each phase subregion.
  • the subtotals are correlated against at least one local reference waveform so as to obtain a total correlation value for each local reference waveform used.
  • the total correlation value fo each local reference waveform is the total summation of the products of the sum over a number of the latest time intervals of the subtotals of each phase subregion multi plied by the amplitude of a corresponding phase subregio of the local reference.
  • the total correlation values ar processed at the end of each time interval to obtain a sum of the absolute values of the total correlation values. This sum of the absolute values of the total correlation values is compared at the end of each time interval to a first threshold and a detection indication signal is generated in response to the sum exceeding the first threshold.
  • the first threshold is changed to a second threshold in response to the initial generation of the detection indi cation signal.
  • the second threshold is being used and the sum of the absolute values of the total correlation values falls below the second threshol at the end of any time interval, then a detection indica tion signal will not be generated and the first threshol will again be used.
  • any undesired tones on adjacent tone channels are detected. If an undesired tone is present a background detection indication signal is generated.
  • the background detection signal is used to generate an inhibit signal representa ⁇ tive of the probability that an undesired tone has been present over a period of time prior to the sum of the absolute value of the total correlation value exceeding the first threshold.
  • the detection indication' signal is then inhibited in response to the inhibit signal.
  • the sum of the absolute values of the total correlation values is compared to a third threshold at the end of each time interval and in response to the detection indi- cation signal.
  • a reverse burst signal is generated if the sum of the absolute value of the total correlation values exceeds the third threshold.
  • the first number of time intervals used in correlating is reduced, and the desired tone fre- quency is reprogrammed upward a predetermined amount.
  • the sum of the absolute values of the total correlation values is compared to a fourth threshold. In response to the sum of the absolute values of the total correlation values falling below the fourth threshold a control signal is generated and the number of time intervals used in correlating is increased to the first number of time intervals in response to the generation of the control signal.
  • FIG. 1 is a generalized block diagram illustrating one embodiment of the inventive digital pseudo continuou correlation tone detector.
  • FIG. 2 is a detailed block diagram of a digital pseudo continuous correlation tone detector according to the invention.
  • FIG. 3 is a block diagram illustrating a microcom ⁇ puter implementation of the preferred embodiment of the invention.
  • FIG. 4 is an overall flow diagram of the computer program for the invention.
  • FIG. 5 is a program flow diagram for the sample storage routine of the computer program for the inven ⁇ tion.
  • FIG. 6 is a'program flow diagram for the BACKGROUND DETECTOR routine of the computer program for the inven ⁇ tion.
  • FIG. 7 is a program flow diagram for the CORRELATIO routine of the computer program for the invention.
  • FIG. 8 is a program flow diagram for the MOVPTR sub routine of the computer program for the invention.
  • FIG. 9 is a program flow diagram for the REVERSE BURST routine of the computer program for the invention.
  • FIG. 10 is a program flow diagram for the REVERSE BURST CHECK routine of the computer program for the invention.
  • FIG. 1 is a generalized block diagram illustrating the fundamental blocks of the preferred embodiment of
  • the invention intended for use as a detector for a con ⁇ tinuous tone controlled squelch system.
  • a signal is applied to an input terminal 20 and coupled to a filter 22.
  • the filter 22 is optional, but its use will improve the performance of the system for most applica ⁇ tions. When used, it is preferably a low pass or band ' pass filter.
  • the signal from the filter 22 is applied to a limiter 24 which hard limits the signal thus converting the signal into essentially a rectangular waveform.
  • the rectangular waveform from the limiter 24 is applied to the input 25 of the control logic 26.
  • the control logic 26 samples the applied signal at a fixed rate f s and processes the samples to determine whether a tone of a predetermined desired frequency f 0 is pres- ent.
  • control logic 26 Several processing parameters used by the control logic 26 are stored in a programmable utility memory 30 coupled to the control logic 26.
  • control logic 26 stores sample data in the sample matrix memory 28.
  • the processing of the data to permit a tone present/ absent decision initially requires that the incoming limited signal applied to the control logic input 25 be sampled at a fixed rate f s .
  • the rate of the sampling- must be high enough to permit adequate sampling of the highest frequency tone to be detected. In the preferred embodiment the highest frequency tone to be detected is approximately 250HZ and the sampling rate is approxi ⁇ mately 1,000HZ.
  • the control logic 26 samples the rectangular signal, a high value is determined to be +1 and a low value is determined to be a -1 (other values can be used such as +1 and 0).
  • the input signal is digitized by the combined function of hard limiting and sampling. This digitizing could also be accomplished by means of an A/D converter.
  • the digitized sample values are then assigned to a phase subregion (in the preferred embodiment there are four phase subregions and therefore they are phase quad ⁇ rants) of a local reference waveform which preferably ha the same frequency f 0 as that of the tone to be detect ⁇ ed.
  • phase accumulato which is incremented before each sample by a phase incre ment equal to f Q /fs stored in the programmable util ⁇ ity memory 30.
  • the phase accumulator is then used to address one of four memory locations M]_, l_2 , M3 and M4, corresponding to the four phase quadrants.
  • Each sample value (either +1 or -1) is then added to the contents of the memory location addressed for that sample.
  • phase increment would be .125.
  • phase accumulator is started a zero, the first two sample values would be added to mem ⁇ ory location M ⁇ _, the next two to memory location. _2 ⁇ the next two to memory location M3 , etc.
  • phase accumulator is started a zero, the first two sample values would be added to mem ⁇ ory location M ⁇ _, the next two to memory location. _2 ⁇ the next two to memory location M3 , etc.
  • phase subregions could be used, for example, an eight subregion (octant) system has been designed by the Applicant.
  • more than two values can be utilized and this can, in fact, be desir ⁇ able in systems using more than four phase subregions.
  • OM standards for detection times As a result, a pseudo continuous approach is used in which an observation time window of length T, long enough (approximately 330 milliseconds in the preferred embodiment) to provide sufficient bandwidth and noise falsing immunity for a continuous tone control squelch system, is divided into N time intervals (referred to as time subwindows) . At the end of each subwindow a correlation is performed against at least one local reference waveform based on the most recent T seconds of sample data.
  • the control logic 26 adds 39 samples to the four quadrant memory locations M]_ through M4 during each time subwindow obtaining phase quadrant subtotals for each time subwindow. After 39 samples have been accumulated, the control logic 26 per ⁇ forms correlations against two orthoganal local reference waves using the last nine subwindow phase quadrant sub ⁇ totals. The data from the last nine, subwindows is stored in the sample matrix memory 28.
  • and a cosine correlation value (CC) according to the expression CC JM1-M2- 3+M4I .
  • New cor ⁇ relation values are determined after each subwindow using the phase quadrant subtotals for the most recent nine time subwindows. The resulting values are then added to obtain a correlation total and compared at the end of each subwindow to a threshold value of 91 to make a tone detection decision. Once a tone has been detected, the detect threshold is lowered to 48, thus providing detect threshold hysteresis.
  • Standard continuous tone control squelch systems require that once a tone has been detected, a state of no detect must be reached more quickly than if the tone had simply been removed, in order to avoid an annoying squelch tail. This is accomplished by using a "reverse burst" by suddenly phase shifting the tone signal by 180 JOREAX ⁇
  • the correlation totals can be limited by limitin the number of samples used once a tone detection has occurred. This limits the amount that the correlation totals must fall in order to drop below the threshold.
  • floating submatrix limiting is provided to obtain revers burst turn off times adequate to meet required standards for continuous tone controlled squelch systems.
  • the control logic 26 compares the corre ⁇ lation total to a reverse burst limit threshold. This threshold is set sufficiently above the initial detect threshold to assure that a strong correlation has been built up before starting to limit, in order to prevent limiting from driving the correlations below the initial detection level.
  • the reverse burst limit threshold is exceeded, sample matrix is limited to a lesser number of subwindows (seven in the preferred embodiment), thus a smaller number of subwindows are used to obtain the cor ⁇ relation total.
  • the correlation total drops below a limit drop out threshold, the total number of subwindows used is increased to normal. The number of subwindows removed depends upon the subwindow size relative to the
  • the control logic 26 shifts to a reverse burst mode.
  • the next subwindow is defined to be a new bottom for the sample matrix, then following two subwindows are elimin ⁇ ated from the sample matrix and the correlation values for these two subwindows following the new bottom are subtracted from the correlation total. These two subwin ⁇ dows are not used again until the correlation total falls below a limit drop out threshold of 67. Because the eli ⁇ minated subwindows can occur anywhere in the matrix, the limited submatrix is said to be floating.
  • the detect frequency of the novel detector is shifted 1.2HZ when the detector is in the reverse burst mode so that the approx ⁇ imately 24 o degree phase shift of the reverse burst tone relative to the desired tone frequency f Q will be 180 degrees relative to the shifted tone.
  • the amount of the frequency shift required is determined by the design bandwidth of the system.
  • a sudden 240 degree phase shift on a tone channel adjacent to the desired tone can cause a momentary false detect of the desired tone.
  • These false detects are fundamental to matched filter detectors such as mechanical reed detectors and the Applicant's novel correlation detector.
  • background detection is provided to anticipate and cor ⁇ rect this reverse burst false detect problem.
  • a second background detector is centered on the frequency of the desired tone but with bandwidth characteristics such that it detects -adjacent tone channels as well. This detector
  • .. C - -' __ can be of any of the available types including mechanica reed detectors, but is preferably a correlation detector
  • the background detector will find not only the center frequency tone, but also nearby tones. If the main detector determines that the correlation total is above the detect threshold, background detector is checked to determine if it has sensed a tone for longer than the time period required for a detection by the main detec ⁇ tor. If the background detector has such a detection, then it is assumed that an adjacent tone has been presen and that there was a reverse burst on the adjacent tone which caused a false detect. No detect is allowed as a result and the system is reinitialized. Since the wide bandwidth of the background detector allows quick detec- tion, if the background detect has been for less than th time needed for the main detector to detect a tone, then the detect is allowed.
  • the background detector be a correlation detector using the same samples and referenc phase quadrant memory locations _n , M2, M3, M4 as the main detector, except that the tone detect decisions are based on fewer subwindows.
  • the background detector is a correlation detector based upon the samples of three time subwindows. At the end of the three subwindows, the background detector mem ory is cleared, the detection decision is stored, and th background detector continues correlating using samples over the next three time subwindows.
  • the main detector correlation total exceeds the initial detect threshold of 91, a check is made to be sure less than 7 detections by the background detector have been stored before a tone detect is allowed.
  • FIG. 2 shows a detailed block diagram of a digital pseudo continuous correlation tone detector according to the invention.
  • a signal normally from the discriminator of a receiver, is applied at an input terminal 22 of a filter 20 which is preferably a low pass filter.
  • the filtered output of the filter 20 is coupled directly to an input terminal 24 of a limiter 25 where the filtered signal is limited to transform it into essentially a rectangular waveform with only a high or a low level, at an output terminal 26.
  • the limiter output terminal 26 is coupled to the up/down (U/D) input of each up/down counter in a matrix of up/down counters indicated generally at 30. These counters of the matrix 30 are arranged in four columns, as shown, labelled M_, 2, M3, M4.
  • Each column is comprised of a plurality of counters equal to the number of time subwindows used by the system (although nine are used in the preferred embodiment, only three are shown) .
  • Each counter is incremented by 1 if the level on its U/D input is high and decremented by one if the level on its U/D input in low, if at the same time, its unique address is present.on its ADR input and a sample pulse occurs on the S input. All counters in the counter matrix 30 which are not addressed remain unchanged
  • the address signals for the up/down counters of counter matrix 30 are generated by the control circuitry 40.
  • Control circuitry 40 includes a phase accumulator 32 which comprises a multibit binary adder and register (not shown in detail) which are used to generate an address signal on an output bus 33.
  • a sample clock signal with frequency equal to the sampling frequency f s is gener ⁇ ated by an oscillator 36 and applied to the C input 34 of the phase accumulator.
  • An input • terminal 35 is provided which is coupled to a programmable utility memory loca- tion 37 in which a phase increment value equal to f Q /fs is stored where f 0 is the frequency of the desired tone to be detected.
  • This value f 0 /f s is the phase change that occurs in the local reference waveform in the inter ⁇ val between sampling clock pulses.
  • the fraction f 0 /f s is added to the accumulator at each sampling pulse from
  • the value in the accumulator is a binary fraction between 0 and 1 with the two most significant bits corresponding to one of four phase quadrants of a •local reference waveform with frequency f 0 . Therefore, upon each sample clock pulse the phase accumulator will be incremented by the phase increment f ⁇ / s/ and the two most signficant bits can be used as address bits for the up/down counters of matrix 30.
  • the phase accumulato value is coupled from the output terminal 33 to the inpu terminal 39 of a circuit 38 which drops all but the two most significant bits .
  • the two most significant bits ar coupled to the address bus 54 via the phase address bus 41.
  • the signal from the sample clock 36 is also applied to a sample pulser 42 which generates a sampling pulse o the sample control line 43 during each cycle of the sample clock signal.
  • the sample pulse signal on the sample control line 43 is coupled to the sample input (S input) of each of the counters in the counter matrix 30.
  • S input sample input
  • the sample pulse signal is also coupled to the inpu terminal 44 of a delay circuit 45 as shown.
  • the delay circuit 45 generates a delayed pulse on its output terminal 46 which is coupled to a divider 47. The delay is necessary to allow for the settling time of the circuits in the system.
  • the divider 47 frequency divides the signal from the delay circuit 45 by the number of samples per subwindow and generates a subwindow pulse on the output terminal 48 at the end of each time subwindow.
  • the output terminal 48 is coupled to a subwindow address counter 49.
  • the subwindow address counter increments an address which is applied to its output terminal 52 and coupled to the address bus 54 via a subwindow address bus 53.
  • the sub ⁇ window address contains the most significant bits of the up/down counter address and is combined with the two bits from the phase address bus 41.
  • the full address on the address bus 54 is composed of the subwindow address bits which determine which row of the matrix is addressed (each row representing a different subwindow) , and the two phase address bits which determine which of the four up/down counters (i.e. which column M1-M4) will be addressed in the subwindow row. All address bits are coupled to the ADR input of each up/down counter.
  • each up/down counter will be addressed sequentially so as to sample the input signal and add the sample to the correct phase quadrant memory location M]_, 2, M3, M4, when the sample pulse occurs.
  • the two bits from the phase accumulator 32 would first address the counter 55 assuming the phase accumulator begins at zero.
  • the counter 55 would be incremented or decremented depending upon whether the signal on the U/D input was high or low.
  • phase accumulator 32 would be incremented by f 0 /f s .
  • the phase accumulator would be incremented enough to cause the two most significant bits to address the next counter 56.
  • the first counter 55 would be incremented or decremented.
  • counter 56 will sample the signal upon each sample pulse on the S input from the sample control line 43. In this way, each counter accumulates the input samples for its quadrant of the local reference waveform.
  • the total sum in each counter is applied to a SUM output terminal (for example, see the SUM output terminal 57 of the up/down counter 55) .
  • the totals for each counter in each column are applied to summing circuits 70, 72, 74, 76 via a set of SUM busses.
  • the totals from column Mj_ are coupled to the summing circuit 70 via the SUM busses 61, 62, 63 and 64 where bus 63 represents the SUM bus fo all those counters not shown.
  • summing cir- cuit 70 produces a total sample sum M. ⁇
  • summing circuit 72 produces a total sample sum M2
  • summing circuit 74 produces a total sample sum M3
  • summing circuit 76 produces a total sample sum M4.
  • the sample totals are coupled to the adding cir ⁇ cuit 78 such that the M]_ and M2 sample totals are added and the M3 and M4 totals are subtracted.
  • the sample totals are coupled to the adding circuit 80 such that the M_ sample total and the M4 sample total are added and the M2 and M3 sample totals are subtracted.
  • the resulting value from the adding circuit 78 is applied to the input 82 of the absolute value circuit 83 which take the absolute value of the quantity applied to its input 82.
  • the resulting quantity from the adder circuit 80 is applied to the input 84 of the absolute value circuit 85 which takes the absolute value of the quantity applied to its input 84.
  • the comparator 90 is coupled directly to the subwindow divider 47 so that a subwindow pulse is applied to the enable input 91.
  • the correlation total applied to the input 89 is compared to a threshold value.
  • a decision is made by comparing the correlation total to the threshold. If the correlation total exceeds the threshold, a deci ⁇ sion output signal is generated on the decision output 93.
  • the decision output terminal 93 is also coupled to the input terminal 94 of threshold circuit 95. As a result, when a decision output occurs on output terminal 93, a high level is applied to the input terminal 94 of the threshold circuit 95 which changes to a new lower threshold.
  • the new lower threshold is then applied to the threshold input 96 of the comparator 90. This results in the comparator 90 comparing the correlation total on ' its input 89 to a new lower threshold applied to its input 96 after the initial detect occurs. If upon a comparison being made, the decision output 93 goes low because the correlation total applied at input 89 does not exceed the threshold applied at input 96, then the threshold circuit will revert back to the original higher threshold.
  • the change output 92 is coupled to the reset inputs of all the counters in the counter matrix 30. As a result, all of the counters of the sub ⁇ window row which is addressed at the time the reset pulse occurs are cleared. Thus, once a decision determination has been made, the counters for the next subwindow to take samples will be cleared to prepare them to accumu ⁇ late a new set of samples.
  • FIG. 3 illustrates the preferred embodiment of the invention wherein the control logic and memory are realized via a standard microcomputer.
  • the microcompute shown in FIG. 10 is preferably the commercially availabl MOSTEK 3870 microcomputer chip.
  • the signal to be pro ⁇ Ded is applied to the input terminal 100 of an option al filter 102.
  • the filtered signal from the filter 102 is coupled to the input terminal 104 of the limiter 106.
  • the limited output signal from the limiter 106 is couple to the 1/0 input 108 of a microcomputer 110.
  • a clock crystal 112 is coupled to the clock inputs 114 and 116.
  • the microcomputer 110 will sample the limited signal applied to its input 108, process the sampled informatio and when the presence of the desired tone is detected, generate a detect indication on a detect output 118. Also shown are the typical pin numbers that would be use when utilizing a MOSTEK 3370.
  • the preferred microcom ⁇ puter chip, the MOSTEK 3870 includes the necessary ROM and RAM required for the program. However, a micropro ⁇ cessor with peripheral devices to accomplish the. same functions could also be utilized.
  • FIG. 4 is a general program flow diagram for the microcomputer of FIG. 3 to implement the present inven- tion as shown in FIG. 3.
  • An INITIALIZE routine 120 sets the initial values and trig ⁇ gers the initial operation of the program sequence. Fro the INITIALIZE routine 120, program flow proceeds to a WAIT routine 129.
  • the WAIT routine 129 provides the necessary delay between operations so that samples are taken at the proper intervals. During this waiting period, the microcomputer can be used to perform other functions. After the necessary delay has occurred durin the WAIT routine 129, program flow proceeds to the sampl block 122.
  • program flow proceeds to the next program routine 124.
  • the routine 124 identifies the proper memory storage location for the sample according to the phase of a local reference wave ⁇ form of frequency f Q .
  • the sample is then stored in the appropriate memory location indicated as M j _ through M .
  • decision block 126 checks to determine if the 39 samples for a subwindow have been taken. If there have not been enough samples for a subwindow, program flow proceeds to the REVERSE BURST check routine 128. At this point a check is made to determine whether the reverse burst limited submatrix is required.
  • the routine establishes the floating submatrix and returns program control to the WAIT routine 129.
  • WAIT routine 129 enough delay is established so that the next sample is taken at block 122 after the necessary delay. If, however, the 39 samples needed to form a subwindow had been taken, then program control proceeds to the BACKGROUND DETECTOR routine 132. This routine performs the necessary correlation calculations on three subwindows of samples and stores the result. Program control then proceeds to block 136 where correla- tion values are determined and stored in correlation matrices CS and CC and where a correlation total SUMCOR is determined. Following these calculations, the program control proceeds to decision block 138 where the correla ⁇ tion total SUMCOR is compared to the threshold GOOD.
  • REVERSE BURST routine 142 it is determined whether the reverse burst floating submatrix is required and, if so, appropriate values are set to establish the floating submatrix. Program will then proceed to decision block 144 where the decision flag RCOPFG is checked to determine whether a detect had occurred previously. If a previous detect had been allowed, then program control proceeds to the WAIT rou ⁇ tine 129 where the necessary delay is established before taking the next sample.
  • program control proceeds to decision block 146 where the background detector variable HLONG i checked to determine if the detect was the result of an adjacent channel reverse burst or a real detect. If the detect was a false detect, then the variable HLONG will be greater than or equal to 7 and the program control will be passed to the INITIALIZE routine where the pro ⁇ gram will be reinitialized. If the variable HLONG is less than 7, then an allowed detect can occur and progra control will proceed to block 148. At block 148 the threshold GOOD will be set to a new lower threshold, and the detect flag RCOPFG will be set and output. Program control will then be passed back to the WAIT routine 129 where the necessary delay will be established before the next sample is taken.
  • program control will pass to block 150.
  • the subroutine MOVPT is called. Thi subroutine determines the location of the subwindow wher the next samples will be stored. Program control will then pass to decision block 140 where the detect flag RCOPFG is checked to determine if an allowed detect had occurred. If the detect flag had been set indicating an allowed detect had occurred, then the detect flag RCOPFG is cleared to zero at block 141 and is output. Program control then proceeds to the INITIALIZE routine where th entire program is reinitialized.
  • program control proceeds to th WAIT routine 129 where the appropriate delay is estab ⁇ lished before the next sample is taken.
  • program control proceeds to block 124 which is shown in greater detail in Fig. 5. Referring now to Fig. 5 routine 124 is entered at block 124a. At this point the phase increment equal to ⁇ /fs ⁇ s ac -- ⁇ -***•*-* ⁇ to a phase accumulator.
  • phase accumulator is decoded as indicated at block 124b by using the two most significant bits of the accumulator as a pointer to identify one of the four phase quadrant memory locations. Mi, M2, M3, M4.
  • the sample is added to the memory location identified to give a subwindow subtotal for each phase quadrant.
  • sample counter SMPCTR is decre ⁇ mented as indicated in block 124d.
  • the sample counter is initially set to 39 in INITIALIZE routine 120 shown in Fig. 4. When it has been decremented all the way to zero, this will indicate that enough' samples have been taken for a subwindow.
  • a subwindow subtotal will have been accumulated for each phase quadrant in memory locations Mi through M4.
  • program control passes from block 124d, it will proceed to decision block 126 of Fig. 4 where the sample counter is checked to determine if it has reached zero. If the sample counter SMPCTR equals zero, then the end of a subwindow has been reached and program control will pass to the BACKGROUND DETECTOR routine indicated at block 132 of Fig. 4.
  • the BACKGROUND DETECTOR routine 132 of Fig. 4 is shown in greater detail in Fig. 6. This routine is entered at block 132a in which the background correlation values are calculated.
  • BC0R1 is a correlation value made up of the M subwindow subtotal minus the M2 sub- window subtotal for up to three consecutive subwindows.
  • the BCOR2 correlation value is the M2 subwindow sub ⁇ total minus the M subwindow subtotal for up to three consecutive subwindows.
  • the background counter BKGCTR is decrement ed as shown in block 132b.
  • the background counter vari ⁇ able BKGCTR is originally set to three in the INITIALIZE routine shown at 120 in Fig. 4.
  • program flow proceeds to decision block 132c where the background counter is checked to determine if it is zero. If the background counter BKGCTR is equal to zero, this indicates that three subwindows have been used to make the background correlation value and therefore a correlation test can b made. If the background counter is not equal to zero, this means that there are less than three subwindows of correlation values and therefore not a sufficient number of samples to make a ' correlation test. Therefore, the program flow will jump to connection point 132k as shown and will proceed to the next routine indicated as block 136 in Fig. 4.
  • the back ground counter is reset to three as shown in block 132d and program flow proceeds to the decision block 132e.
  • the absolute value of BCORl and the absolute value of BCOR2 are tested sequentially to see if either is greater than or equal to the background threshold. I neither is greater than nor equal to the threshold, then this indicates that no tone is being detected on either the center channel or the adjacent channels and the pro ⁇ gram flow proceeds to decision block 132i.
  • the variable HLONG is checked to determine if it is equal to zero, if not, it is decremented as shown in block 132j. If it is already zero, then program flow proceeds to block 132h as shown in Fig. 6. If the
  • CM absolute value of BCORl or the absolute value of BCOR2 is greater than or equal to the threshold, this indicates that a tone has been detected on either the center chan ⁇ nel or the adjacent channels and program flow proceeds to decision block 132f.
  • the variable HLONG is checked to determine if it is equal to or greater than 10. If it is, program flow proceeds to connection point 132k and from there to the next routine indicated as block 136 of Fig. 4. If the variable HLONG is less than 10, then the variable HLONG is incremented as shown in block 132g and program flow proceeds to block 132h.
  • the value of HLONG is thereby constrained between zero and ten to prevent the value in the microcomputer memory location from rolling over or rolling under.
  • connection point 132K the correlation values BCORl and BCOR2 are cleared to prepare the background routine for the next set of . three subwindow correlations.
  • Program flow then proceeds to connection point 132K and from there to the next rou ⁇ tine indicated at 136 in Fig. 4.
  • the net result of the background routine is that at every three subwindows, a correlation is performed and, if a detection occurs, a variable HLONG is incremented to store the effective detection and whenever a detection does not occur at the end of three subwindows, the variable HLONG is decrement- ed to indicate a lack of detection.
  • the value of HLONG represents a probability that an undesired tone has been detected.
  • CORRELATION TOTAL routine is entered at block 136a at which the subwindow correlation values NEWCS and NEWCC are calculated.
  • NEWCS is the value of the sine correlation for the latest subwindow, which is equal to M1+M2-M3-M4 and the variable NEWCC is the cosine correlation for the latest subwindow and i equal to M1-M2-M3+M4.
  • TEMPCS is equal to the latest subwindow correlation value NEWCS minus the oldest existing value in the sine correlation matrix CS.
  • the exact location in the matrix is deter ⁇ mined by the matrix pointer MTXPTR whose value is set initially in the INITIALIZE routine.
  • the value of the variable TEMPCC is equal to the latest subwindow cosine correlation value NEWCC minus the oldest existing corre- lation value in the cosine correlation matrix CC indi ⁇ cated by the value of the matrix pointer MTXPTR.
  • program flow proceeds to 136d as shown where total sine and total cosine correlation values are determined.
  • the total sine correlation value TOTCS is determined by adding the previously calculated value TEMPCS to the existing total sine correlation value TOTCS.
  • the total cosine correlation value TOTCC is given by the total correlation value existing TOTCC plus the value of TEMPCC calculated above.
  • program flow pro ⁇ ceeds to block 136e where the new sine correlation value NEWCS for the latest subwindow location determined by the matrix pointer MTXPTR is used to replace the previous value in the sine correlation matrix CS and the new cosine correlation value NEWCC for the latest subwindow is used to replace the old cosine correlation value in the cosine correlation matrix CC.
  • the total correlation values TOTCS and TOTCC respectively are equal to the sum of all the correlation values in each correlation matrix CS and CC. In other words, the total correlation values TOTCS and TOTCC are
  • the total number of subwindows is equal to 9.
  • Program flow then proceeds to block 136f where the value SUMCOR is calculated by adding the absolute value of the total sine correlation value TOTCS to the absolute value of the total cosine correlation value TOTCC.
  • Program flow then proceeds out of the CORRELATION routine indicated at 136 in Fig. 4 to the decision block 138 shown in Fig. 4.
  • the correlation sum SUMCOR is compared to the threshold value GOOD which is initially set in the INITIALIZE routine 120.
  • the preferred value for the initial threshold value is 91.
  • program flow proceeds to block 150 which calls the MOVPTR subroutine.
  • the MOVPTR subroutine is shown in greater detail in Fig. 8. As shown in Fig. 8, the MOVPTR subroutine is entered at block 150a and program flow proceeds to decision block 150b where the reverse burst flag RBFLAG is checked to determine if it is equal to zero. If the reverse burst flag is equal to zero, this means that the REVERSE BURST mode has not been entered and the correlation matrix should not be limited. As a result, program flow pro ⁇ ceeds from block 150b to block 150d as shown.
  • a temporary variable TEMPA is set equal to one to cause an advance of only one subwindow and program flow proceeds to block 150f.
  • the matrix pointer MTXPTR is checked to determine if it is equal to a value RBOT.
  • the value RBOT is the .real bottom of the correla ⁇ tion matrix and is a constant. If the matrix pointer is equal to the real bottom, then the matrix pointer value is set to a value RTOP.
  • RTOP is the real top of the correlation matrix and is a constant. After setting the matrix pointer equal to RTOP, program flow proceeds to block 150i where the value TEMPA is decremented.
  • the temporary variable TEMPA is set equal to three as shown at block 150e in order to move the matrix pointer MTXPTR over the two unused subwindows. If the matrix pointer MTXPTR is not equal to NBOT, then the temporary variable TEMPA is set equal to one as shown at block 150d. Program flow in each case then proceeds to decision block 150f where it is determined whether the matrix pointer MTXPTR is equal to the real bottom. If the matrix pointer is equal to the real bottom, RBOT, then the matrix pointer will be set equal to the real top RTOP as shown in block 15Og.
  • Program flow then proceeds to block 150i where the temp ⁇ orary variable TEMPA is decremented. If, however, the matrix pointer MTXPTR is not equal to the real bottom, then the matrix pointer is incremented as shown in block 150h and program flow then proceeds again to block 150i where TEMPA is decremented. After TEMPA is decremented, program flow proceeds to the decision block 150j where it is determined whether TEMPA is equal to zero. If the matrix pointer MTXPTR had not been equal to the new bottom NBOT, then TEMPA will be zero after the first- decrementing of TEMPA and program flow will proceed to the return block 150k and the subroutine will then return to the main program at the point at which it was called.
  • the detect flag RCOPFG is checked to determin whether an allowed detection had previously occurred. I should be recalled that to be at this point in the pro ⁇ gram it must have been already determined at block 138 that the correlation sum was below the detect threshold. The detect flag must therefore be reset to zero if a detect had previously occurred setting it to one. There fore, if the detect flag is equal to one, program flow proceeds to block 141 where the detect flag RCOPFG is se to zero and is output to the output port. Program flow then proceeds to the INITIALIZE routine 120 where the program is reinitialized. If, however, the detect flag was not set to one, then program flow proceeds from bloc 140 to the WAIT routine 129 where the necessary delay is established between samples before the sample is taken a block 122.
  • the correlation sum SUMCOR is compared to the reverse burst limit thresh ⁇ old RBTHRESH 1. If the correlation sum is greater than or equal to the reverse burst limit threshold, the pro- gram will then be shifted into the reverse burst mode and program flow will therefore proceed to block 142c. At this point the phase increment PHINC is increased by a value corresponding to a frequency shift of 1.2 HZ. Therefore, the phase increment is increased by 1.2 HZ divided by the sample frequency f s . Program flow then proceeds to block 142d where the MOVPTR subroutine is called and the matrix pointer MTXPTR is changed as described previously.
  • the subroutine After the matrix pointer has been changed, the subroutine returns control to block 142e where the variable RBFIX is set equal to one, and the variable NBOT is set equal to MTXPTR. At this point then, the new bottom of the matrix is established as being equal to the existing position of the matrix pointer MTXPTR and the variable RBFIX is set for use to be described later. Making the new bottom of the matrix equal to the subwindow after RBTHRESHl has been exceeded, allows the two subwindows following the new bottom, which are to be cleared by the REVERSE BURST CHECK routine 128, to be immediately reused if such clearing drops the value of SUMCOR below the drop-out threshold RBTHRESH2. Program flow then proceeds to connection point 142k from which the program will then proceed to block 144 of Fig. 4.
  • program control proceeds to decision block 144.
  • the detect flag RCOPF is checked to determine if it is equal to one. If the detect flag is equal to one, an allowed detect has occur red previously and program flow proceeds to the WAIT routine 129 as shown in Fig. 4 where the necessary delay between samples is established. If, however, the RCOPFG variable is not equal to one, this means that an allowed detect did not set the flag previously and program flow proceeds to decision block 146 shown in Fig. 4. At deci sion block 146 the variable HLONG is checked to determin if it is greater than or equal to seven.
  • variabl HLONG is greater than or equal to seven, then the detect is assumed to be a false detect resulting from a reverse burst tone on an adjacent tone channel. As a result, program flow will proceed to the INITIALIZE routine 120 as shown in Fig. 4.
  • the threshold variable GOOD is set equal to a hysteresis threshold THRESH2, which in the preferred embodiment is equal to 48.
  • the detect flag RCOPFG is set equal to one indicating a detect and this detection flag is output on the output port.
  • Program flow then proceeds to the WAIT routine 129 where the necessary delay is established before the next sample is taken at block 122.
  • RBFIX is equal to one, this indicates that reverse burst processing of the data is required. Therefore, program flow proceeds to block 128b as shown in Fig. 10.
  • a temporary variable TEMPA is set equal to two, a temporary variable TEMPB is set to zero and a temporary variable TEMPC is set to zero.
  • the variable RBFIX is cleared to zero. This is required since the processing of the REVERSE BURST CHECK routine is done only after the first sample of the new bottom subwindow just after the new bottom has been defined in block 142.
  • RBFIX must be set to equal zer so that it is not entered again until the variable RBFIX is reset to one by the REVERSE BURST routine 142.
  • Pro ⁇ gram flow then proceeds from block 128b to decision bloc 128c.
  • the matrix pointer MTXPTR is checked to determine whether it is equal to RBOT, tha is, to see whether the matrix pointer is pointing at the real bottom of the matrix. If the matrix pointer is at the real bottom of the matrix, then the matrix pointer MTXPTR is set equal to the top of the matrix TOPMTX as shown in block 128d.
  • variable TEMPC is set equal to the exist ing value of TEMPC plus the cosine correlation value fro the cosine correlation matrix CC at the subwindow of the present matrix pointer value.
  • Program then proceeds to block 128g where the sine correlation and cosine correla tion matrix values for the present subwindow are set equal to zero and program flow then proceeds to block 128h where the value of TEMPA is decremented. Program flow then proceeds to decision block 128i where it is

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Noise Elimination (AREA)
  • Complex Calculations (AREA)

Abstract

Method and apparatus (Fig. 1) for sampling input signals (20) of different frequencies and providing a detect signal when the input frequency has a predetermined value suitable for use as a tone decoder for continuous tone controlled squelch systems. The method utilizes digital pseudo continuous correlation tone detection, and includes sample matrix limiting (26 and 28) to provide rapid reverse burst turnoff, as well as background detection to avoid adjacent channel reverse burst turnoff falsing.

Description

DIGITAL PSEUDO CONTINUOUS TONE DETECTOR
Background of the Invention
I. Field of the Invention
This invention relates generally to the electronic signal processing art and, in particular, to an improved digital tone detection method suitable for tone control squelch systems.
II. Description of the Prior Art As a result of the extensive use of radio communica¬ tions channels presently available, it has become common, especially in heavily populated metropolitan areas, to have several communication systems simultaneously operat¬ ing on a common radio channel. Operators whose radios are not equipped with some form of tone squelch must listen to all conversations on the channel from transmit¬ ters that are within range. This is both annoying and fatiguing for the operators. The use of tone squelch to alleviate the annoyance is a common solution to the prob- lem. A standard for subaudible continuous tone control squelch systems (CTCSS) is covered in an Electronic Industries Association (EIA) Standard RS 220-A, published in March of 1979.
Basically, such systems operate by equipping each radio transmitter in the particular radio system with a tone encoder operating on one of the 33 standard EIA channels between 67.0 and 250.3HZ. When the transmitter is keyed, the operator's voice modulates the transmitter in the 300-3000HZ range and simultaneously with the voic the subaudible tone modulates the transmitter as well. Receivers within the radio system are equipped with a frequency selective device (tone decoder) tuned to the same tone frequency as the tone encoder within the trans mitters of the system. This tone decoder normally holds the receiver in the squelched mode. If a received signal is not modulated with the tone or is modulated with a tone that is not on the decoder frequency, then the receiver will remain squelched and the operator will not hear the interference. If a transmission is received having a tone corresponding to the frequency of the tone decoder, the receiver will be unsquelched and the opera¬ tor will receive the message.
Numerous other applications are possible using subaudible tone, such as, control of radio repeaters, identifying a particular vehicle out of a plurality of vehicles, alarm and control signal applications, switch¬ ing radio receiver or transmitter frequencies, switching communication circuits, etc.
Many of the tone squelch systems now being manufac¬ tured employ vibrating mechanical resonant reeds. Reson- ant reed systems suffer from a number of problems. In order to reprogram such a system the resonant reed must be replaced by a reed of another frequency. Long lead times are involved as service organizations rarely stock the 33 types of encoding and decoding reeds required for this type of change. In addition, vibrating mechanical resonant reeds suffer from short life and false operation when subject to vibration encountered in vehicular two- way radio service.
Until very recently it was difficult to employ elec- tronic means for generating and decoding these low tone frequencies . One related approach to tone detection is
OMPI referred to as a quadrature correlation detector for a signal of unknown input phase. This prior art electronic approach suffers from lack of flexibility in that it must be designed for a single frequency in a predetermined bandwidth. It is also difficult to integrate a circuit of this type with other circuits of a using system.
Thus, it is desirable to provide an electronic tone detector which can meet EIA standards and which is easily programmable. In addition, it is desirable that such a system be easily integrated with other circuits in a radio system and which minimizes sensitivity to vibration in mobile units and to noise in noisy transmission envi¬ ronments.
Solutions for these and other problems are provided for by the instant invention which is a digital pseudo continuous correlation tone detector. The frequency of the tone to be detected is programmable and can be speci¬ fied with sufficient accuracy to meet EIA standards for subaudible continuous tone controlled squelch systems. Related subject matter is disclosed in a co-pending application by Backof et al.. Serial No. 277,487, filed July 26, 1979.
Summary of the Invention
It is an object of the invention to provide a method and apparatus for digital pseudo continuous correlation tone detection suitable for use with subaudible continu¬ ous tone controlled squelch systems.
It is another object of the invention to provide a method and apparatus for digital pseudo continuous corre¬ lation tone detection which is programmable. Briefly, according to one embodiment of the inven¬ tion, there is provided a method of processing an input
jUREAcT-
OMPI signal to detect at least one desired tone of a pluralit of tones. The input signal is first digitized, prefer¬ ably using hard limiting, to generate samples of the input signal. Each sample is assigned to a phase sub- region of a reference waveform where the reference wave¬ form preferably has the frequency of the desired tone. The sample values for each phase subregion are then summed over sequential time intervals. As a result, for each time interval there is a subtotal for each phase subregion. Using the phase subregion subtotals from a number of the latest time intervals, the subtotals are correlated against at least one local reference waveform so as to obtain a total correlation value for each local reference waveform used. The total correlation value fo each local reference waveform is the total summation of the products of the sum over a number of the latest time intervals of the subtotals of each phase subregion multi plied by the amplitude of a corresponding phase subregio of the local reference. The total correlation values ar processed at the end of each time interval to obtain a sum of the absolute values of the total correlation values. This sum of the absolute values of the total correlation values is compared at the end of each time interval to a first threshold and a detection indication signal is generated in response to the sum exceeding the first threshold.
According to another feature of the invention, the first threshold is changed to a second threshold in response to the initial generation of the detection indi cation signal. In addition, if the second threshold is being used and the sum of the absolute values of the total correlation values falls below the second threshol at the end of any time interval, then a detection indica tion signal will not be generated and the first threshol will again be used.
O
Wv According to another feature of the invention, any undesired tones on adjacent tone channels are detected. If an undesired tone is present a background detection indication signal is generated. The background detection signal is used to generate an inhibit signal representa¬ tive of the probability that an undesired tone has been present over a period of time prior to the sum of the absolute value of the total correlation value exceeding the first threshold. The detection indication' signal is then inhibited in response to the inhibit signal.
According to still another feature of the invention, the sum of the absolute values of the total correlation values is compared to a third threshold at the end of each time interval and in response to the detection indi- cation signal. A reverse burst signal is generated if the sum of the absolute value of the total correlation values exceeds the third threshold. In response to the reverse burst signal the first number of time intervals used in correlating is reduced, and the desired tone fre- quency is reprogrammed upward a predetermined amount. In addition, at the end of each time interval in which the reduced number of time intervals is used for correlating, the sum of the absolute values of the total correlation values is compared to a fourth threshold. In response to the sum of the absolute values of the total correlation values falling below the fourth threshold a control signal is generated and the number of time intervals used in correlating is increased to the first number of time intervals in response to the generation of the control signal.
Brief Description of the Drawings
The features of the present invention which are believed to be novel are set forth with particularity in
. OMPI the appended claims. The invention, together with fur¬ ther objects and advantages thereof, may best be under¬ stood by reference to the following description when taken in conjunction with the accompanying drawings. FIG. 1 is a generalized block diagram illustrating one embodiment of the inventive digital pseudo continuou correlation tone detector.
FIG. 2 is a detailed block diagram of a digital pseudo continuous correlation tone detector according to the invention.
FIG. 3 is a block diagram illustrating a microcom¬ puter implementation of the preferred embodiment of the invention.
FIG. 4 is an overall flow diagram of the computer program for the invention.
FIG. 5 is a program flow diagram for the sample storage routine of the computer program for the inven¬ tion.
FIG. 6 is a'program flow diagram for the BACKGROUND DETECTOR routine of the computer program for the inven¬ tion.
FIG. 7 is a program flow diagram for the CORRELATIO routine of the computer program for the invention.
FIG. 8 is a program flow diagram for the MOVPTR sub routine of the computer program for the invention.
FIG. 9 is a program flow diagram for the REVERSE BURST routine of the computer program for the invention.
FIG. 10 is a program flow diagram for the REVERSE BURST CHECK routine of the computer program for the invention.
Description of the Preferred Embodiment
FIG. 1 is a generalized block diagram illustrating the fundamental blocks of the preferred embodiment of
OMPI
" the invention intended for use as a detector for a con¬ tinuous tone controlled squelch system. Here, a signal is applied to an input terminal 20 and coupled to a filter 22. The filter 22 is optional, but its use will improve the performance of the system for most applica¬ tions. When used, it is preferably a low pass or band ' pass filter. The signal from the filter 22 is applied to a limiter 24 which hard limits the signal thus converting the signal into essentially a rectangular waveform. The rectangular waveform from the limiter 24 is applied to the input 25 of the control logic 26. The control logic 26 samples the applied signal at a fixed rate fs and processes the samples to determine whether a tone of a predetermined desired frequency f0 is pres- ent. Several processing parameters used by the control logic 26 are stored in a programmable utility memory 30 coupled to the control logic 26. In addition, in pro¬ cessing the samples the control logic 26 stores sample data in the sample matrix memory 28. The processing of the data to permit a tone present/ absent decision initially requires that the incoming limited signal applied to the control logic input 25 be sampled at a fixed rate fs. The rate of the sampling- must be high enough to permit adequate sampling of the highest frequency tone to be detected. In the preferred embodiment the highest frequency tone to be detected is approximately 250HZ and the sampling rate is approxi¬ mately 1,000HZ. As the control logic 26 samples the rectangular signal, a high value is determined to be +1 and a low value is determined to be a -1 (other values can be used such as +1 and 0). Thus, the input signal is digitized by the combined function of hard limiting and sampling. This digitizing could also be accomplished by means of an A/D converter. The digitized sample values are then assigned to a phase subregion (in the preferred embodiment there are four phase subregions and therefore they are phase quad¬ rants) of a local reference waveform which preferably ha the same frequency f0 as that of the tone to be detect¬ ed. This is accomplished by means of a phase accumulato which is incremented before each sample by a phase incre ment equal to fQ/fs stored in the programmable util¬ ity memory 30. The phase accumulator is then used to address one of four memory locations M]_, l_2 , M3 and M4, corresponding to the four phase quadrants. Each sample value (either +1 or -1) is then added to the contents of the memory location addressed for that sample.
For example, assuming a sample rate fs=l,000HZ and a local reference waveform frequency (also the desired tone frequency) of f0=125 HZ, the phase "increment would be .125. As a result, if phase accumulator is started a zero, the first two sample values would be added to mem¬ ory location Mτ_, the next two to memory location. _2 ^ the next two to memory location M3 , etc. These stored sample values will be used to produce correlations against at least one reference waveform with the fre¬ quency of the desired tone. It should be noted again that any number of phase subregions could be used, for example, an eight subregion (octant) system has been designed by the Applicant. Also, although limiting the sample to +1 or -1 values is preferred, more than two values can be utilized and this can, in fact, be desir¬ able in systems using more than four phase subregions.
In order to detect the desired tone using a corre¬ lation scheme, samples must be collected over a period o time. The longer the period of time (observation window) over which the samples used for the correlation are collected, the narrower the acceptance bandwidth of the detection system for a given detect threshold. Unfor¬ tunately, in order to meet the bandwidth requirements fo a continuous tone control squelch system, the observation time window needed is too long to meet the required
OM standards for detection times. As a result, a pseudo continuous approach is used in which an observation time window of length T, long enough (approximately 330 milliseconds in the preferred embodiment) to provide sufficient bandwidth and noise falsing immunity for a continuous tone control squelch system, is divided into N time intervals (referred to as time subwindows) . At the end of each subwindow a correlation is performed against at least one local reference waveform based on the most recent T seconds of sample data.
Thus, in the preferred embodiment, the control logic 26 adds 39 samples to the four quadrant memory locations M]_ through M4 during each time subwindow obtaining phase quadrant subtotals for each time subwindow. After 39 samples have been accumulated, the control logic 26 per¬ forms correlations against two orthoganal local reference waves using the last nine subwindow phase quadrant sub¬ totals. The data from the last nine, subwindows is stored in the sample matrix memory 28. A sine correlation (CS) value is determined according to the expression CS= JMτ_+M2- 3-M4| and a cosine correlation value (CC) according to the expression CC= JM1-M2- 3+M4I . New cor¬ relation values are determined after each subwindow using the phase quadrant subtotals for the most recent nine time subwindows. The resulting values are then added to obtain a correlation total and compared at the end of each subwindow to a threshold value of 91 to make a tone detection decision. Once a tone has been detected, the detect threshold is lowered to 48, thus providing detect threshold hysteresis.
Standard continuous tone control squelch systems require that once a tone has been detected, a state of no detect must be reached more quickly than if the tone had simply been removed, in order to avoid an annoying squelch tail. This is accomplished by using a "reverse burst" by suddenly phase shifting the tone signal by 180 JOREAXΓ
QMPΓ •.-_*** IPO~ , degrees. Because of the characteristics of the mechan¬ ical vibrating reeds commonly used, a 240 degree shift i actually utilized to shutdown the detector in convention al systems, which corresponds to a shift in the reed resonant frequency. In a correlation detection system, the sudden shift causes the detector to see a rising signal when it otherwise would have seen a falling one and vice versa. As a result, whatever digital quantity the detector has built up, will begin to fall. How quickly it falls below the threshold, and therefore how quickly a loss of tone detect occurs, is determined by signal quality and by how far above the threshold the correlation was at the start of the phase shifted signal Thus, to achieve a shorter turn off in a correlation system, the correlation totals can be limited by limitin the number of samples used once a tone detection has occurred. This limits the amount that the correlation totals must fall in order to drop below the threshold.
Thus, according to another feature of the invention, floating submatrix limiting is provided to obtain revers burst turn off times adequate to meet required standards for continuous tone controlled squelch systems. After a tone detection, the control logic 26 compares the corre¬ lation total to a reverse burst limit threshold. This threshold is set sufficiently above the initial detect threshold to assure that a strong correlation has been built up before starting to limit, in order to prevent limiting from driving the correlations below the initial detection level. When the reverse burst limit threshold is exceeded, sample matrix is limited to a lesser number of subwindows (seven in the preferred embodiment), thus a smaller number of subwindows are used to obtain the cor¬ relation total. When the correlation total drops below a limit drop out threshold, the total number of subwindows used is increased to normal. The number of subwindows removed depends upon the subwindow size relative to the
{ K&r- 'L oΪ entire matrix and the amount of limiting required to achieve the desired turn off time.
In the preferred embodiment, when the correlation total exceeds a reverse burst limit threshold of 133 at the end of a time subwindow, the control logic 26 shifts to a reverse burst mode. In the reverse burst mode the next subwindow is defined to be a new bottom for the sample matrix, then following two subwindows are elimin¬ ated from the sample matrix and the correlation values for these two subwindows following the new bottom are subtracted from the correlation total. These two subwin¬ dows are not used again until the correlation total falls below a limit drop out threshold of 67. Because the eli¬ minated subwindows can occur anywhere in the matrix, the limited submatrix is said to be floating. The detect frequency of the novel detector is shifted 1.2HZ when the detector is in the reverse burst mode so that the approx¬ imately 24 o degree phase shift of the reverse burst tone relative to the desired tone frequency fQ will be 180 degrees relative to the shifted tone. The amount of the frequency shift required is determined by the design bandwidth of the system.
In conventional continuous tone control squelch systems using mechanical reed detectors, a sudden 240 degree phase shift on a tone channel adjacent to the desired tone (within approximately -^.S HZ) can cause a momentary false detect of the desired tone. These false detects are fundamental to matched filter detectors such as mechanical reed detectors and the Applicant's novel correlation detector. According to still another feature of the invention, background detection is provided to anticipate and cor¬ rect this reverse burst false detect problem. A second background detector is centered on the frequency of the desired tone but with bandwidth characteristics such that it detects -adjacent tone channels as well. This detector
..C- -' __ can be of any of the available types including mechanica reed detectors, but is preferably a correlation detector The background detector will find not only the center frequency tone, but also nearby tones. If the main detector determines that the correlation total is above the detect threshold, background detector is checked to determine if it has sensed a tone for longer than the time period required for a detection by the main detec¬ tor. If the background detector has such a detection, then it is assumed that an adjacent tone has been presen and that there was a reverse burst on the adjacent tone which caused a false detect. No detect is allowed as a result and the system is reinitialized. Since the wide bandwidth of the background detector allows quick detec- tion, if the background detect has been for less than th time needed for the main detector to detect a tone, then the detect is allowed.
It is preferred that the background detector be a correlation detector using the same samples and referenc phase quadrant memory locations _n , M2, M3, M4 as the main detector, except that the tone detect decisions are based on fewer subwindows. Thus, in the preferred embod iment the background detector is a correlation detector based upon the samples of three time subwindows. At the end of the three subwindows, the background detector mem ory is cleared, the detection decision is stored, and th background detector continues correlating using samples over the next three time subwindows. When the main detector correlation total exceeds the initial detect threshold of 91, a check is made to be sure less than 7 detections by the background detector have been stored before a tone detect is allowed.
FIG. 2 shows a detailed block diagram of a digital pseudo continuous correlation tone detector according to the invention. .As shown in FIG. 2, a signal, normally from the discriminator of a receiver, is applied at an input terminal 22 of a filter 20 which is preferably a low pass filter. The filtered output of the filter 20 is coupled directly to an input terminal 24 of a limiter 25 where the filtered signal is limited to transform it into essentially a rectangular waveform with only a high or a low level, at an output terminal 26. The limiter output terminal 26 is coupled to the up/down (U/D) input of each up/down counter in a matrix of up/down counters indicated generally at 30. These counters of the matrix 30 are arranged in four columns, as shown, labelled M_, 2, M3, M4. Each column is comprised of a plurality of counters equal to the number of time subwindows used by the system (although nine are used in the preferred embodiment, only three are shown) . Each counter is incremented by 1 if the level on its U/D input is high and decremented by one if the level on its U/D input in low, if at the same time, its unique address is present.on its ADR input and a sample pulse occurs on the S input. All counters in the counter matrix 30 which are not addressed remain unchanged The address signals for the up/down counters of counter matrix 30 are generated by the control circuitry 40. Control circuitry 40 includes a phase accumulator 32 which comprises a multibit binary adder and register (not shown in detail) which are used to generate an address signal on an output bus 33. A sample clock signal with frequency equal to the sampling frequency fs is gener¬ ated by an oscillator 36 and applied to the C input 34 of the phase accumulator. An input • terminal 35 is provided which is coupled to a programmable utility memory loca- tion 37 in which a phase increment value equal to fQ/fs is stored where f0 is the frequency of the desired tone to be detected. This value f0/fs is the phase change that occurs in the local reference waveform in the inter¬ val between sampling clock pulses. The fraction f0/fs is added to the accumulator at each sampling pulse from
OMPI ' the clock 36, using modulo 2 addition. On overflow of the adder, the ones are dropped leaving only the frac¬ tional part. The value in the accumulator is a binary fraction between 0 and 1 with the two most significant bits corresponding to one of four phase quadrants of a •local reference waveform with frequency f0. Therefore, upon each sample clock pulse the phase accumulator will be incremented by the phase increment fσ/ s/ and the two most signficant bits can be used as address bits for the up/down counters of matrix 30. The phase accumulato value is coupled from the output terminal 33 to the inpu terminal 39 of a circuit 38 which drops all but the two most significant bits . The two most significant bits ar coupled to the address bus 54 via the phase address bus 41.
The signal from the sample clock 36 is also applied to a sample pulser 42 which generates a sampling pulse o the sample control line 43 during each cycle of the sample clock signal. The sample pulse signal on the sample control line 43 is coupled to the sample input (S input) of each of the counters in the counter matrix 30. When the pulse occurs, the addressed counter in the counter matrix 30 will sample the signal on its U/D inpu and will be incremented or decremented accordingly. The sample pulse signal is also coupled to the inpu terminal 44 of a delay circuit 45 as shown. The delay circuit 45 generates a delayed pulse on its output terminal 46 which is coupled to a divider 47. The delay is necessary to allow for the settling time of the circuits in the system.
The divider 47 frequency divides the signal from the delay circuit 45 by the number of samples per subwindow and generates a subwindow pulse on the output terminal 48 at the end of each time subwindow. The output terminal 48 is coupled to a subwindow address counter 49. The subwindow address counter increments an address which is applied to its output terminal 52 and coupled to the address bus 54 via a subwindow address bus 53. The sub¬ window address contains the most significant bits of the up/down counter address and is combined with the two bits from the phase address bus 41. Thus, the full address on the address bus 54 is composed of the subwindow address bits which determine which row of the matrix is addressed (each row representing a different subwindow) , and the two phase address bits which determine which of the four up/down counters (i.e. which column M1-M4) will be addressed in the subwindow row. All address bits are coupled to the ADR input of each up/down counter.
Consequently, the matrix 30 will be addressed so that each row will be addressed for a time subwindow. During that time each up/down counter will be addressed sequentially so as to sample the input signal and add the sample to the correct phase quadrant memory location M]_, 2, M3, M4, when the sample pulse occurs. For example, assuming the first subwindow row composed of the counters 55, 56, 57, 58, is addressed, then the two bits from the phase accumulator 32 would first address the counter 55 assuming the phase accumulator begins at zero. When the sample pulse occurs, on the sample control line 43, the counter 55 would be incremented or decremented depending upon whether the signal on the U/D input was high or low. Then, the phase accumulator 32 would be incremented by f0/fs. Depending on the value of f0/fs, eventually the phase accumulator would be incremented enough to cause the two most significant bits to address the next counter 56. Up until that occurs, upon each sample pulse on the sample control line 43, the first counter 55 would be incremented or decremented. When the second counter 56 is addressed, then counter 56 will sample the signal upon each sample pulse on the S input from the sample control line 43. In this way, each counter accumulates the input samples for its quadrant of the local reference waveform. As the samples are being taken, the total sum in each counter is applied to a SUM output terminal (for example, see the SUM output terminal 57 of the up/down counter 55) . The totals for each counter in each column are applied to summing circuits 70, 72, 74, 76 via a set of SUM busses. For example, the totals from column Mj_ are coupled to the summing circuit 70 via the SUM busses 61, 62, 63 and 64 where bus 63 represents the SUM bus fo all those counters not shown. As a result, summing cir- cuit 70 produces a total sample sum M.χ , summing circuit 72 produces a total sample sum M2, summing circuit 74 produces a total sample sum M3, and summing circuit 76 produces a total sample sum M4. These total sample sums are then coupled to two adding circuits 78, 80, as shown. The sample totals are coupled to the adding cir¬ cuit 78 such that the M]_ and M2 sample totals are added and the M3 and M4 totals are subtracted. The sample totals are coupled to the adding circuit 80 such that the M_ sample total and the M4 sample total are added and the M2 and M3 sample totals are subtracted. The resulting value from the adding circuit 78 is applied to the input 82 of the absolute value circuit 83 which take the absolute value of the quantity applied to its input 82. The resulting quantity is the sine correlation valu given by CS= |M_+M2-M3-M4J . The resulting quantity from the adder circuit 80 is applied to the input 84 of the absolute value circuit 85 which takes the absolute value of the quantity applied to its input 84. The resulting output is the cosine correlation value given by CC= IM1-M2+M3+M4I . These two correlation values are then applied to the summing circuit 86 at its inputs 87 and 88. The summing circuit 86 adds the two correlation values obtaining a correlation total which is applied to the input 89 of the comparator 90. Another input 91 to
* the comparator 90 is coupled directly to the subwindow divider 47 so that a subwindow pulse is applied to the enable input 91. When a subwindow pulse occurs on the enable input 91 of the comparator 91, the correlation total applied to the input 89 is compared to a threshold value. Thus, at the end of each subwindow a decision is made by comparing the correlation total to the threshold. If the correlation total exceeds the threshold, a deci¬ sion output signal is generated on the decision output 93. The decision output terminal 93 is also coupled to the input terminal 94 of threshold circuit 95. As a result, when a decision output occurs on output terminal 93, a high level is applied to the input terminal 94 of the threshold circuit 95 which changes to a new lower threshold. The new lower threshold is then applied to the threshold input 96 of the comparator 90. This results in the comparator 90 comparing the correlation total on 'its input 89 to a new lower threshold applied to its input 96 after the initial detect occurs. If upon a comparison being made, the decision output 93 goes low because the correlation total applied at input 89 does not exceed the threshold applied at input 96, then the threshold circuit will revert back to the original higher threshold. In addition, the change output 92 is coupled to the reset inputs of all the counters in the counter matrix 30. As a result, all of the counters of the sub¬ window row which is addressed at the time the reset pulse occurs are cleared. Thus, once a decision determination has been made, the counters for the next subwindow to take samples will be cleared to prepare them to accumu¬ late a new set of samples.
It can be seen that the above described is a hard¬ ware embodiment of a pseudo continuous digital correla¬ tion tone detector with threshold hysteresis. However, by programming a microcomputer system to perform the function of the control logic, a less expensive and preferred embodiment of the invention can be implemented
FIG. 3 illustrates the preferred embodiment of the invention wherein the control logic and memory are realized via a standard microcomputer. The microcompute shown in FIG. 10 is preferably the commercially availabl MOSTEK 3870 microcomputer chip. The signal to be pro¬ cessed is applied to the input terminal 100 of an option al filter 102. The filtered signal from the filter 102 is coupled to the input terminal 104 of the limiter 106. The limited output signal from the limiter 106 is couple to the 1/0 input 108 of a microcomputer 110. A clock crystal 112 is coupled to the clock inputs 114 and 116. The microcomputer 110 will sample the limited signal applied to its input 108, process the sampled informatio and when the presence of the desired tone is detected, generate a detect indication on a detect output 118. Also shown are the typical pin numbers that would be use when utilizing a MOSTEK 3370. The preferred microcom¬ puter chip, the MOSTEK 3870, includes the necessary ROM and RAM required for the program. However, a micropro¬ cessor with peripheral devices to accomplish the. same functions could also be utilized.
FIG. 4 is a general program flow diagram for the microcomputer of FIG. 3 to implement the present inven- tion as shown in FIG. 3. Each of the routines described will be discussed later in greater detail where required in conjunction with the accompanying drawings. An INITIALIZE routine 120 sets the initial values and trig¬ gers the initial operation of the program sequence. Fro the INITIALIZE routine 120, program flow proceeds to a WAIT routine 129. The WAIT routine 129 provides the necessary delay between operations so that samples are taken at the proper intervals. During this waiting period, the microcomputer can be used to perform other functions. After the necessary delay has occurred durin the WAIT routine 129, program flow proceeds to the sampl block 122. At this point, the microcomputer samples the input signal applied to the input 108 and program flow proceeds to the next program routine 124. The routine 124 identifies the proper memory storage location for the sample according to the phase of a local reference wave¬ form of frequency fQ. The sample is then stored in the appropriate memory location indicated as Mj_ through M . Once a sample has been stored in its proper loca¬ tion, program flow passes to decision block 126 which checks to determine if the 39 samples for a subwindow have been taken. If there have not been enough samples for a subwindow, program flow proceeds to the REVERSE BURST check routine 128. At this point a check is made to determine whether the reverse burst limited submatrix is required. If so, the routine establishes the floating submatrix and returns program control to the WAIT routine 129. In the WAIT routine 129 enough delay is established so that the next sample is taken at block 122 after the necessary delay. If, however, the 39 samples needed to form a subwindow had been taken, then program control proceeds to the BACKGROUND DETECTOR routine 132. This routine performs the necessary correlation calculations on three subwindows of samples and stores the result. Program control then proceeds to block 136 where correla- tion values are determined and stored in correlation matrices CS and CC and where a correlation total SUMCOR is determined. Following these calculations, the program control proceeds to decision block 138 where the correla¬ tion total SUMCOR is compared to the threshold GOOD. If the correlation total SUMCOR is greater than or equal to the threshold GOOD, then program control proceeds to the REVERSE BURST routine 142. In the REVERSE BURST routine 142 it is determined whether the reverse burst floating submatrix is required and, if so, appropriate values are set to establish the floating submatrix. Program will then proceed to decision block 144 where the decision flag RCOPFG is checked to determine whether a detect had occurred previously. If a previous detect had been allowed, then program control proceeds to the WAIT rou¬ tine 129 where the necessary delay is established before taking the next sample. If a detect had not previously been allowed, then program control proceeds to decision block 146 where the background detector variable HLONG i checked to determine if the detect was the result of an adjacent channel reverse burst or a real detect. If the detect was a false detect, then the variable HLONG will be greater than or equal to 7 and the program control will be passed to the INITIALIZE routine where the pro¬ gram will be reinitialized. If the variable HLONG is less than 7, then an allowed detect can occur and progra control will proceed to block 148. At block 148 the threshold GOOD will be set to a new lower threshold, and the detect flag RCOPFG will be set and output. Program control will then be passed back to the WAIT routine 129 where the necessary delay will be established before the next sample is taken. If, at the decision block 138, it is found that the correlation sum is less than the threshold GOOD, then program control will pass to block 150. At block 150 the subroutine MOVPT is called. Thi subroutine determines the location of the subwindow wher the next samples will be stored. Program control will then pass to decision block 140 where the detect flag RCOPFG is checked to determine if an allowed detect had occurred. If the detect flag had been set indicating an allowed detect had occurred, then the detect flag RCOPFG is cleared to zero at block 141 and is output. Program control then proceeds to the INITIALIZE routine where th entire program is reinitialized. If the detect flag RCOPFG had not been set indicating that no detect had occurred previously, then program control proceeds to th WAIT routine 129 where the appropriate delay is estab¬ lished before the next sample is taken. After a sample has been input as shown at block 122 in Fig. 4, program control proceeds to block 124 which is shown in greater detail in Fig. 5. Referring now to Fig. 5 routine 124 is entered at block 124a. At this point the phase increment equal to σ/fs ^s ac--<-***•*-* to a phase accumulator. After the addition of the phase increment has occurred, the phase accumulator is decoded as indicated at block 124b by using the two most significant bits of the accumulator as a pointer to identify one of the four phase quadrant memory locations. Mi, M2, M3, M4. Once the proper memory location has been identified by the phase accumulator pointer,, then, as indicated at block 124c, the sample is added to the memory location identified to give a subwindow subtotal for each phase quadrant. At this point sample counter SMPCTR is decre¬ mented as indicated in block 124d. The sample counter is initially set to 39 in INITIALIZE routine 120 shown in Fig. 4. When it has been decremented all the way to zero, this will indicate that enough' samples have been taken for a subwindow. At the end of the subwindow a subwindow subtotal will have been accumulated for each phase quadrant in memory locations Mi through M4. When program control passes from block 124d, it will proceed to decision block 126 of Fig. 4 where the sample counter is checked to determine if it has reached zero. If the sample counter SMPCTR equals zero, then the end of a subwindow has been reached and program control will pass to the BACKGROUND DETECTOR routine indicated at block 132 of Fig. 4. The BACKGROUND DETECTOR routine 132 of Fig. 4 is shown in greater detail in Fig. 6. This routine is entered at block 132a in which the background correlation values are calculated. In the BACKGROUND DETECTOR routine, there are two correlation values determined, labelled BC0R1 and BCOR2. BCORl is a correlation value made up of the M subwindow subtotal minus the M2 sub- window subtotal for up to three consecutive subwindows. The BCOR2 correlation value is the M2 subwindow sub¬ total minus the M subwindow subtotal for up to three consecutive subwindows. After Mi minus M3 and M2 minus M4 for the last subwindow is added to BCORl and BCOR2, respectively, the background counter BKGCTR is decrement ed as shown in block 132b. The background counter vari¬ able BKGCTR is originally set to three in the INITIALIZE routine shown at 120 in Fig. 4. Once the background counter has been decremented, program flow proceeds to decision block 132c where the background counter is checked to determine if it is zero. If the background counter BKGCTR is equal to zero, this indicates that three subwindows have been used to make the background correlation value and therefore a correlation test can b made. If the background counter is not equal to zero, this means that there are less than three subwindows of correlation values and therefore not a sufficient number of samples to make a' correlation test. Therefore, the program flow will jump to connection point 132k as shown and will proceed to the next routine indicated as block 136 in Fig. 4. If the background counter is equal to zero indicating a correlation test can be made, the back ground counter is reset to three as shown in block 132d and program flow proceeds to the decision block 132e. A this point the absolute value of BCORl and the absolute value of BCOR2 are tested sequentially to see if either is greater than or equal to the background threshold. I neither is greater than nor equal to the threshold, then this indicates that no tone is being detected on either the center channel or the adjacent channels and the pro¬ gram flow proceeds to decision block 132i. At decision block 132i the variable HLONG is checked to determine if it is equal to zero, if not, it is decremented as shown in block 132j. If it is already zero, then program flow proceeds to block 132h as shown in Fig. 6. If the
CM absolute value of BCORl or the absolute value of BCOR2 is greater than or equal to the threshold, this indicates that a tone has been detected on either the center chan¬ nel or the adjacent channels and program flow proceeds to decision block 132f. At this point the variable HLONG is checked to determine if it is equal to or greater than 10. If it is, program flow proceeds to connection point 132k and from there to the next routine indicated as block 136 of Fig. 4. If the variable HLONG is less than 10, then the variable HLONG is incremented as shown in block 132g and program flow proceeds to block 132h. The value of HLONG is thereby constrained between zero and ten to prevent the value in the microcomputer memory location from rolling over or rolling under. At this point the correlation values BCORl and BCOR2 are cleared to prepare the background routine for the next set of . three subwindow correlations. Program flow then proceeds to connection point 132K and from there to the next rou¬ tine indicated at 136 in Fig. 4. The net result of the background routine is that at every three subwindows, a correlation is performed and, if a detection occurs, a variable HLONG is incremented to store the effective detection and whenever a detection does not occur at the end of three subwindows, the variable HLONG is decrement- ed to indicate a lack of detection. Thus, the value of HLONG represents a probability that an undesired tone has been detected.
After the BACKGROUND DETECTOR routine 132, program flow proceeds to determine the correlation total values as indicated at 136 of Fig. 4. The CORRELATION routine 136 of Fig. 4 is shown in greater detail in Fig. 7. Referring now to Fig. 7, the CORRELATION TOTAL routine is entered at block 136a at which the subwindow correlation values NEWCS and NEWCC are calculated. NEWCS is the value of the sine correlation for the latest subwindow, which is equal to M1+M2-M3-M4 and the variable NEWCC is the cosine correlation for the latest subwindow and i equal to M1-M2-M3+M4. After the subwindow correlation calculation takes place, program flow proceeds to block
136b where the memory locations M , M2, M3 and M4 are cleared in preparation for the next subwindow sample accumulation. Program flow then proceeds to block 136c where a value TEMPCS and TEMPCC are calculated. TEMPCS is equal to the latest subwindow correlation value NEWCS minus the oldest existing value in the sine correlation matrix CS. The exact location in the matrix is deter¬ mined by the matrix pointer MTXPTR whose value is set initially in the INITIALIZE routine. The value of the variable TEMPCC is equal to the latest subwindow cosine correlation value NEWCC minus the oldest existing corre- lation value in the cosine correlation matrix CC indi¬ cated by the value of the matrix pointer MTXPTR. After this calculation occurs, program flow proceeds to 136d as shown where total sine and total cosine correlation values are determined. The total sine correlation value TOTCS is determined by adding the previously calculated value TEMPCS to the existing total sine correlation value TOTCS. The total cosine correlation value TOTCC is given by the total correlation value existing TOTCC plus the value of TEMPCC calculated above. After the calculation of the total correlation values at 136d program flow pro¬ ceeds to block 136e where the new sine correlation value NEWCS for the latest subwindow location determined by the matrix pointer MTXPTR is used to replace the previous value in the sine correlation matrix CS and the new cosine correlation value NEWCC for the latest subwindow is used to replace the old cosine correlation value in the cosine correlation matrix CC. The net result of this is that the total correlation values TOTCS and TOTCC respectively are equal to the sum of all the correlation values in each correlation matrix CS and CC. In other words, the total correlation values TOTCS and TOTCC are
f OM the total correlation sums against the two orthoganal references for all of the subwindows used to form the full observation window. In the preferred embodiment, the total number of subwindows is equal to 9. Program flow then proceeds to block 136f where the value SUMCOR is calculated by adding the absolute value of the total sine correlation value TOTCS to the absolute value of the total cosine correlation value TOTCC. Program flow then proceeds out of the CORRELATION routine indicated at 136 in Fig. 4 to the decision block 138 shown in Fig. 4. At this point, the correlation sum SUMCOR is compared to the threshold value GOOD which is initially set in the INITIALIZE routine 120. The preferred value for the initial threshold value is 91. If the correlation sum SUMCOR is not greater than or equal to the threshold value GOOD, then program flow proceeds to block 150 which calls the MOVPTR subroutine. The MOVPTR subroutine is shown in greater detail in Fig. 8. As shown in Fig. 8, the MOVPTR subroutine is entered at block 150a and program flow proceeds to decision block 150b where the reverse burst flag RBFLAG is checked to determine if it is equal to zero. If the reverse burst flag is equal to zero, this means that the REVERSE BURST mode has not been entered and the correlation matrix should not be limited. As a result, program flow pro¬ ceeds from block 150b to block 150d as shown. At block 150d a temporary variable TEMPA is set equal to one to cause an advance of only one subwindow and program flow proceeds to block 150f. At this point the matrix pointer MTXPTR is checked to determine if it is equal to a value RBOT. The value RBOT is the .real bottom of the correla¬ tion matrix and is a constant. If the matrix pointer is equal to the real bottom, then the matrix pointer value is set to a value RTOP. RTOP is the real top of the correlation matrix and is a constant. After setting the matrix pointer equal to RTOP, program flow proceeds to block 150i where the value TEMPA is decremented. If the matrix pointer is not equal to RBOT,- then this means tha the matrix pointer is not at the bottom of the matrix an therefore the matrix pointer MTXPTR is incremented as shown at block 150h. Then program flow proceeds to bloc 150i where the variable TEMPA is decremented. In the sequence presently being described, the variable TEMPA was set to one, therefore, decrementing it the first tim will cause the value to go to zero. Thus, when program flow proceeds as shown to decision block 150j where it i determined whether TEMPA is equal to zero, the value of TEMPA will be zero and program flow will proceed to the return block 150k resulting in the program flow returnin to the original position in the program. The overall effect of this sequence is that if the RBFLAG variable i equal to zero, then the matrix pointer MTXPTR will eithe be incremented if it is not pointing at the bottom of th correlation matrix or it will be reset to the top of the correlation matrix if it is already pointing at the bot- torn. Thus, in this sequence, the matrix pointer MTXPTR is simply moved to the next subwindow position in the matrix.
Returning now to block 150b of Fig.. 8, if the reverse burst flag RBFLAG is not equal to zero, this is an indication that the system is in the REVERSE BURST mode requiring two subwindows to be skipped to limit the matrix. Therefore, program flow will proceed to decisio block 150c as shown. At this point it is determined whether the matrix pointer MTXPTR is equal to" the vari- able NBOT. NBOT is the new bottom of the floating submatrix which is set during the REVERSE BURST routine shown as block 142 of Fig. 4. If the matrix 'pointer MTXPTR is equal to the new bottom, then the temporary variable TEMPA is set equal to three as shown at block 150e in order to move the matrix pointer MTXPTR over the two unused subwindows. If the matrix pointer MTXPTR is not equal to NBOT, then the temporary variable TEMPA is set equal to one as shown at block 150d. Program flow in each case then proceeds to decision block 150f where it is determined whether the matrix pointer MTXPTR is equal to the real bottom. If the matrix pointer is equal to the real bottom, RBOT, then the matrix pointer will be set equal to the real top RTOP as shown in block 15Og. Program flow then proceeds to block 150i where the temp¬ orary variable TEMPA is decremented. If, however, the matrix pointer MTXPTR is not equal to the real bottom, then the matrix pointer is incremented as shown in block 150h and program flow then proceeds again to block 150i where TEMPA is decremented. After TEMPA is decremented, program flow proceeds to the decision block 150j where it is determined whether TEMPA is equal to zero. If the matrix pointer MTXPTR had not been equal to the new bottom NBOT, then TEMPA will be zero after the first- decrementing of TEMPA and program flow will proceed to the return block 150k and the subroutine will then return to the main program at the point at which it was called. If, however, the matrix pointer MTXPTR had been equal to NBOT at block 150c, TEMPA would have been set to 3 and TEMPA would therefore" not be equal to zero at block 150j after the first decrementing of TEMPA. Therefore, pro- gram flow would return to block 150f as shown. As a result, the matrix pointer MTXPTR will skip two locations in the correlation matrix since it will be incremented three times instead of one. After TEMPA has been decre¬ mented to zero, program flow will then return to the original point in the program at which the MOVPTR routine was called. The net result is that when in the REVERSE BURST mode, if the matrix pointer MTXPTR is at the new bottom, the matrix pointer will be caused to skip two subwindows in the correlation matrix. If the matrix pointer MTXPTR is at some other point in the matrix, the pointer is caused only to move to the next subwindow. Both of these movement conditions are subject to the rul that, if the matrix pointer MTXPTR is equal to RBOT, the real bottom of the matrix, then the next move brings it to RTOP. After the MOVPTR subroutine has moved the matrix pointer MTXPTR as required, program flow proceeds from block 150 to decision block 140 as shown in Fig. 4. At block 140, the detect flag RCOPFG is checked to determin whether an allowed detection had previously occurred. I should be recalled that to be at this point in the pro¬ gram it must have been already determined at block 138 that the correlation sum was below the detect threshold. The detect flag must therefore be reset to zero if a detect had previously occurred setting it to one. There fore, if the detect flag is equal to one, program flow proceeds to block 141 where the detect flag RCOPFG is se to zero and is output to the output port. Program flow then proceeds to the INITIALIZE routine 120 where the program is reinitialized. If, however, the detect flag was not set to one, then program flow proceeds from bloc 140 to the WAIT routine 129 where the necessary delay is established between samples before the sample is taken a block 122.
Referring back to block 138 of Fig. 4, if the resul of the comparison between the correlation sum SUMCOR and the detect threshold GOOD is such that the correlation sum is found to be is greater than or equal to the threshold, then program flow will proceed to the REVERSE BURST routine as shown at block 142 of Fig. 4. The REVERSE BURST routine shown at block 142 is shown in greater detail in Fig. 9. Referring now to Fig. 9, it can be seen that the REVERSE BURST routine is entered at decision block 142a where the reverse burst flag RBFLAG is checked to determine if it is equal to one. If it is not equal to one, this means that the program is not in the REVERSE BURST mode and program flow then proceeds to the decision block 142b. At this point the correlation sum SUMCOR is compared to the reverse burst limit thresh¬ old RBTHRESH 1. If the correlation sum is greater than or equal to the reverse burst limit threshold, the pro- gram will then be shifted into the reverse burst mode and program flow will therefore proceed to block 142c. At this point the phase increment PHINC is increased by a value corresponding to a frequency shift of 1.2 HZ. Therefore, the phase increment is increased by 1.2 HZ divided by the sample frequency fs. Program flow then proceeds to block 142d where the MOVPTR subroutine is called and the matrix pointer MTXPTR is changed as described previously. After the matrix pointer has been changed, the subroutine returns control to block 142e where the variable RBFIX is set equal to one, and the variable NBOT is set equal to MTXPTR. At this point then, the new bottom of the matrix is established as being equal to the existing position of the matrix pointer MTXPTR and the variable RBFIX is set for use to be described later. Making the new bottom of the matrix equal to the subwindow after RBTHRESHl has been exceeded, allows the two subwindows following the new bottom, which are to be cleared by the REVERSE BURST CHECK routine 128, to be immediately reused if such clearing drops the value of SUMCOR below the drop-out threshold RBTHRESH2. Program flow then proceeds to connection point 142k from which the program will then proceed to block 144 of Fig. 4.
If, however, the RBFLAG variable is equal to one, this indicates that the reverse burst mode has already been entered and program flow will therefore proceed to the decision block 142f. At decision block 142f it is determined whether the correlation sum SUMCOR is less than or equal to the reverse burst drop-out threshold RBTHRESH2. If the correlation sum is less than or equal to the reverse burst drop-out threshold, then the system must come out of the REVERSE BURST mode. Therefore, pro gram flow proceeds to block 142g where the phase incre¬ ment PHINC is reset to be equal to f0/fs eliminating the reverse burst frequency shift. Then, program flow pro- ceeds to block 142h where NBOT is set equal to RBOT. This sets the new bottom value equal to the real bottom value of the correlation matrix thereby adding the two dropped subwindows back into the matrix. Program flow then proceeds to block 142i where the variable RBFLAG is set equal to zero to indicate that the system is no longer in the REVERSE BURST mode. Program flow then proceeds to block 142j where the MOVPTR subroutine is called in order to change the matrix pointer MTXPTR to the required value as described previously. If the correlation sum is not less than or equal to the reverse burst hysteresis drop-out RBTHRESH2, then program control proceeds directly to block 142j as shown At this point the MOVPTR subroutine .is called and the matrix pointer MTXPTR is incremented as required. Program flow then proceeds to connection point 142k wher it will continue to decision block 144 of Fig. 4.
Referring again to Fig. 4 after the REVERSE BURST routine has been finished, program control proceeds to decision block 144. At this point the detect flag RCOPF is checked to determine if it is equal to one. If the detect flag is equal to one, an allowed detect has occur red previously and program flow proceeds to the WAIT routine 129 as shown in Fig. 4 where the necessary delay between samples is established. If, however, the RCOPFG variable is not equal to one, this means that an allowed detect did not set the flag previously and program flow proceeds to decision block 146 shown in Fig. 4. At deci sion block 146 the variable HLONG is checked to determin if it is greater than or equal to seven. If the variabl HLONG is greater than or equal to seven, then the detect is assumed to be a false detect resulting from a reverse burst tone on an adjacent tone channel. As a result, program flow will proceed to the INITIALIZE routine 120 as shown in Fig. 4.
However, if the variable HLONG is not greater than or equal to seven, then this indicates that the detection determined at block 138 was, in fact, a- detection of the desired tone and as a result program flow proceeds to block 148 of Fig. 4. At this point the threshold variable GOOD is set equal to a hysteresis threshold THRESH2, which in the preferred embodiment is equal to 48. Thus, the threshold value is reduced from 91 to 48. In addition, the detect flag RCOPFG is set equal to one indicating a detect and this detection flag is output on the output port. Program flow then proceeds to the WAIT routine 129 where the necessary delay is established before the next sample is taken at block 122.
Referring back to block 126 of Fig. 4, if enough samples have not been taken to complete a subwindow, then program flow proceeds to the REVERSE BURST CHECK routine, block 128 as shown in Fig. 4. This REVERSE BURST CHECK routine 128 is indicated in greater detail in Fig. 10. Referring now to Fig. 10, it can be seen that the REVERSE BURST CHECK routine 128 is entered at decision block 128a. At block 128a it is determined whether the vari- able RBFIX is equal to one. If it is not equal to one, this means the processing of the REVERSE BURST CHECK routine is not necessary. Therefore, program flow proceeds to connection point 128k as shown. From this point program flow proceeds to the WAIT routine 129 shown in Fig. 4.
If, however, RBFIX is equal to one, this indicates that reverse burst processing of the data is required. Therefore, program flow proceeds to block 128b as shown in Fig. 10. At block 128b a temporary variable TEMPA is set equal to two, a temporary variable TEMPB is set to zero and a temporary variable TEMPC is set to zero. In addition, the variable RBFIX is cleared to zero. This is required since the processing of the REVERSE BURST CHECK routine is done only after the first sample of the new bottom subwindow just after the new bottom has been defined in block 142. Therefore, once this part of the routine has been entered, RBFIX must be set to equal zer so that it is not entered again until the variable RBFIX is reset to one by the REVERSE BURST routine 142. Pro¬ gram flow then proceeds from block 128b to decision bloc 128c. At this decision block the matrix pointer MTXPTR is checked to determine whether it is equal to RBOT, tha is, to see whether the matrix pointer is pointing at the real bottom of the matrix. If the matrix pointer is at the real bottom of the matrix, then the matrix pointer MTXPTR is set equal to the top of the matrix TOPMTX as shown in block 128d. This is done because if the maxtri pointer MTXPTR (which at this point has been set to the new bottom) is at the real bottom then the first subwin¬ dow to be cleared is the top location of the matrix. Program flow then proceeds to block 128f. However, if the matrix pointer is not equal to RBOT, the program flo proceeds to block 128e as shown where the matrix pointer MTXPTR is incremented so as to be pointing at the next subwindow. Program flow then proceeds to block 128f. A block 128f the variable TEMPB is set equal to the exist- ing value of TEMPB plus the cosine correlation value of the sine correlation matrix CS for the subwindow of the present value of the matrix pointer MTXPTR. Also, at block 128f, the variable TEMPC is set equal to the exist ing value of TEMPC plus the cosine correlation value fro the cosine correlation matrix CC at the subwindow of the present matrix pointer value.. Program then proceeds to block 128g where the sine correlation and cosine correla tion matrix values for the present subwindow are set equal to zero and program flow then proceeds to block 128h where the value of TEMPA is decremented. Program flow then proceeds to decision block 128i where it is
Q determined whether the variable TEMPA is equal to zero. Since it was initially set to two, after the first time through the routine, the result of this decision will be NO and program flow will proceed back to block 128c where the previously described process will be repeated. After the second time through the routine, the value TEMPA will equal zero and program flow will proceed to block 128j where the total sine correlation value TOTCS will be set equal to the previously existing total sine correlation value TOTCS minus the value of TEMPB. Also the total cosine correlation value TOTCC will be set equal to the previously existing value TOTCC minus the value of TEMPC. The net result is that the correlation matrix is limited and the subwindows which are to be skipped are set to zero and removed from the total correlation values TOTCS and TOTCC. Program flow then proceeds out of the REVERSE BURST CHECK routine and to the WAIT routine 129 as shown in Fig. 4.
In summary, a digital pseudo continuous correlation tone detector suitable for use in a continuous tone con¬ trol squelch system has been described, which system is particularly adaptable for implementation in a microcom¬ puter system.
While a preferred embodiment of the invention has been described and shown, it should be understood that other variations and modifications may be implemented. It is therefore contemplated to cover by the present application any and all modifications and variations that fall within the true spirit and scope of the basic under- lying principles disclosed and claimed herein. What is claimed is:
)M?I "

Claims

Claims
1. A method of processing an input signal to det at least one desired tone of a plurality of tones, incl ing the steps of digitizing the input signal to generate sampl of the input signal at a predetermined rate, and assigning each sample to a phase subregion of reference waveform where the reference waveform has the frequency of the desired tone, said method of processin further characterized by the steps of: a) summing the sample values for each phase subregion for sequential time intervals to obtain a pha subregion subtotal for each time interval; b) correlating, at the end of each time in¬ terval, for a number of the latest time intervals, the phase subregion subtotals against at least one local reference waveform so as to obtain a total correlation value for each local reference waveform, said total correlation value being a total summation of the produc of the sum over a number of the latest time intervals o the subtotals of each phase subregion multiplied by the amplitude of a corresponding phase subregion of the loca reference waveform; c) processing the total correlation values the end of each time interval to obtain a sum of the absolute values of the total correlation values; d) comparing at the end of each time interv the sum of the absolute values of the total correlation values to a first threshold in generating a detection indication signal in response to said sum exceeding said first threshold.
2. • The method of claim 1 wherein the comparing step is further characterized by the step of changing the first threshold to a second threshold in response to the genera¬ tion of the detection indication signal, and changing from the second threshold to the first threshold in response to the absolute values of the total correlation values fall¬ ing below the second threshold.
3. The method of claim 2 further characterized by the steps of: detecting undesired tones of frequencies near the desired tone on adjacent tone channels; generating a background detection indication signal in response to detecting that an undesired tone is present; generating an inhibit control signal, in response to the background detection indication signal, representative of the probability that an undesired tone has been present over a period of time prior to the sum of the absolute value of the total correlation value exceeding the first threshold; inhibiting generation of the detection indica¬ tion signal in response to the inhibit control signal.
4. The method of claims 2 or 3 further character¬ ized by the steps of: comparing at the end of each time interval and in response to the detection indication signal the sum of the absolute values of the total correlation values to a third threshold and generating a reverse burst signal in response to the sum of the absolute values of the total correlation values exceeding said third threshold; reducing the number of time intervals used in correlating in response to the reverse burst signal;
-BUREAU
OMPF comparing at the end of each time interval in which the reduced number of time intervals is used, the sum of the absolute values of the total correlation values to a fourth threshold and generating a control signal in response to the sum of the absolute values "of the total correlation values falling below the fourth threshold; increasing the reduced number of time interva used in correlating to the first predetermined number o time intervals in response to the control signal.
5. The method of claim 3 wherein the step of detecting is further characterized by the step of corre lating at the end of each time interval for a predeter¬ mined number of the latest time intervals, the phase su region subtotals against at least one local reference waveform so as to obtain at least one correlation value for each local reference; processing the correlation values to obtai a least one correlation coefficient representative of the probability that the sampled input signal includes a to with a frequency of the desired tone; detecting the undesired tones based on the co parison between the correlation coefficients and a fift threshold.
6. The method of claim 4 wherein the step of dig tizing is characterized by hard limiting the input sign
7. The method of claim 4 wherein the step of dig ing is characterized by analog to digital conversion.
8. The method of claim 4 further characterized b the step of filtering the input signal.
PCT/US1981/000028 1980-02-14 1981-01-08 Digital pseudo continuous tone detector WO1981002353A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU70387/81A AU7038781A (en) 1980-02-14 1981-01-08 Digital pseudo continuous tone detector
BR8106698A BR8106698A (en) 1980-02-14 1981-01-08 DIGITAL DETECTOR PSEUDO CONTINUOUS OF TONES
DE8181900771T DE3174952D1 (en) 1980-02-14 1981-01-08 Digital pseudo continuous tone detector

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/121,563 US4302817A (en) 1980-02-14 1980-02-14 Digital Pseudo continuous tone detector
US121563 1980-02-14

Publications (1)

Publication Number Publication Date
WO1981002353A1 true WO1981002353A1 (en) 1981-08-20

Family

ID=22397506

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1981/000028 WO1981002353A1 (en) 1980-02-14 1981-01-08 Digital pseudo continuous tone detector

Country Status (8)

Country Link
US (1) US4302817A (en)
EP (1) EP0045801B1 (en)
JP (1) JPS57500214A (en)
BR (1) BR8106698A (en)
CA (1) CA1159564A (en)
IL (1) IL61912A (en)
MX (1) MX151011A (en)
WO (1) WO1981002353A1 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2512306A1 (en) * 1981-08-27 1983-03-04 Telecommunications Sa DIGITAL FREQUENCY RECOGNITION DEVICE
US4534041A (en) * 1982-02-12 1985-08-06 Northern Telecom Limited Digital circuit for determining the envelope frequency of PCM encoded call progress tones in a telephone system
US4538281A (en) * 1982-05-06 1985-08-27 Rockwell International Corporation Adaptive acquisition of multiple access codes
US4590583A (en) * 1982-07-16 1986-05-20 At&T Bell Laboratories Coin telephone measurement circuitry
US4455617A (en) * 1982-08-30 1984-06-19 Motorola, Inc. Multiple simultaneous tone decoder
US4513385A (en) * 1983-01-31 1985-04-23 Motorola, Inc. Apparatus and method for suppressing side lobe response in a digitally sampled system
US4573135A (en) * 1983-04-25 1986-02-25 Rca Corporation Digital lowpass filter having controllable gain
US4534043A (en) * 1983-06-27 1985-08-06 Racal Data Communications, Inc. Test tone detector apparatus and method modem using same
US4617520A (en) * 1984-01-03 1986-10-14 Motorola, Inc. Digital lock detector for a phase-locked loop
US4573017A (en) * 1984-01-03 1986-02-25 Motorola, Inc. Unitary phase and frequency adjust network for a multiple frequency digital phase locked loop
US4574243A (en) * 1984-01-03 1986-03-04 Motorola, Inc. Multiple frequency digital phase locked loop
US4668917A (en) * 1984-01-03 1987-05-26 Motorola, Inc. Phase comparator for use with a digital phase locked loop or other phase sensitive device
US4698769A (en) * 1985-02-04 1987-10-06 American Telephone And Telegraph Company Supervisory audio tone detection in a radio channel
US4675880A (en) * 1985-05-02 1987-06-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Antimultipath communication by injecting tone into null in signal spectrum
US4750215A (en) * 1986-06-24 1988-06-07 Cincinnati Microwave, Inc. Police radar signal detection circuitry for a police radar warning receiver
JP2632852B2 (en) * 1987-06-13 1997-07-23 株式会社ケンウッド Digital SSB modulator
US4769610A (en) * 1987-06-29 1988-09-06 Motorola, Inc. Tone decoder
US5274579A (en) * 1990-01-02 1993-12-28 Motorola, Inc. Digital tone detector
US6424925B1 (en) 1999-08-31 2002-07-23 Integrated Telecom Express, Inc. Circuit and method for detecting a tone signal
US20050227622A1 (en) * 2004-04-08 2005-10-13 Tin Lee W Continuous dual tone controlled squelch system
JP4805629B2 (en) * 2005-08-04 2011-11-02 本田技研工業株式会社 Encoder
KR100897770B1 (en) * 2007-01-30 2009-05-15 삼성전자주식회사 Methods and apparatuses for adjusting thresholds of transmission envelope detector

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3131354A (en) * 1961-06-12 1964-04-28 Motorola Inc Tone control receiver circuit
US3602820A (en) * 1968-10-02 1971-08-31 Computer Equipment Corp Tunable tone squelch encoder-decoder incorporating an active filter feedback tuning network
US3748451A (en) * 1970-08-21 1973-07-24 Control Data Corp General purpose matrix processor with convolution capabilities
US3950635A (en) * 1974-01-23 1976-04-13 James Nickolas Constant Digital matched filter and correlator using random access memory
US3962645A (en) * 1974-11-06 1976-06-08 General Electric Company Tone frequency detecting circuit
US4021653A (en) * 1975-10-14 1977-05-03 Motorola, Inc. Digital programmable tone detector
USRE29460E (en) * 1974-07-22 1977-10-25 Gte Automatic Electric Laboratories Incorporated PCM tone receiver using optimum statistical technique
US4127824A (en) * 1977-04-04 1978-11-28 Motorola, Inc. Sampling filter-detector
US4164036A (en) * 1977-12-07 1979-08-07 Honeywell Inc. Quadrature correlation phase reversal pulse detector
US4185172A (en) * 1976-12-17 1980-01-22 Cselt - Centro Studi E Laboratori Telecomunicazioni S.P.A. Method of and means for detecting digitized multi frequency-coded signals
US4216463A (en) * 1978-08-10 1980-08-05 Motorola, Inc. Programmable digital tone detector

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2723570C3 (en) * 1977-05-25 1980-09-04 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Signal receiver

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3131354A (en) * 1961-06-12 1964-04-28 Motorola Inc Tone control receiver circuit
US3602820A (en) * 1968-10-02 1971-08-31 Computer Equipment Corp Tunable tone squelch encoder-decoder incorporating an active filter feedback tuning network
US3748451A (en) * 1970-08-21 1973-07-24 Control Data Corp General purpose matrix processor with convolution capabilities
US3950635A (en) * 1974-01-23 1976-04-13 James Nickolas Constant Digital matched filter and correlator using random access memory
USRE29460E (en) * 1974-07-22 1977-10-25 Gte Automatic Electric Laboratories Incorporated PCM tone receiver using optimum statistical technique
US3962645A (en) * 1974-11-06 1976-06-08 General Electric Company Tone frequency detecting circuit
US4021653A (en) * 1975-10-14 1977-05-03 Motorola, Inc. Digital programmable tone detector
US4185172A (en) * 1976-12-17 1980-01-22 Cselt - Centro Studi E Laboratori Telecomunicazioni S.P.A. Method of and means for detecting digitized multi frequency-coded signals
US4127824A (en) * 1977-04-04 1978-11-28 Motorola, Inc. Sampling filter-detector
US4164036A (en) * 1977-12-07 1979-08-07 Honeywell Inc. Quadrature correlation phase reversal pulse detector
US4216463A (en) * 1978-08-10 1980-08-05 Motorola, Inc. Programmable digital tone detector

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0045801A4 *

Also Published As

Publication number Publication date
MX151011A (en) 1984-09-06
JPS57500214A (en) 1982-02-04
CA1159564A (en) 1983-12-27
BR8106698A (en) 1981-12-22
EP0045801A4 (en) 1982-07-06
IL61912A (en) 1983-09-30
EP0045801A1 (en) 1982-02-17
EP0045801B1 (en) 1986-07-23
US4302817A (en) 1981-11-24

Similar Documents

Publication Publication Date Title
WO1981002353A1 (en) Digital pseudo continuous tone detector
US3810156A (en) Signal identification system
US4715065A (en) Apparatus for distinguishing between speech and certain other signals
CA1250024A (en) Supervisory audio tone detection in a radio channel
US4755983A (en) Dedicated message matched filter
EP0269643A1 (en) A method of operating a radio transmission or communication system including a central station and a plurality of individual remote stations, a radio transmission or communication system, and a remote station.
EP0116555B1 (en) Adaptive signal receiving method and apparatus
US4328588A (en) Synchronization system for digital data
CA1178360A (en) Pulse radar apparatus
US4479188A (en) Digital detector for a multi-frequency code in an analog signal
GB2258775A (en) Distinguishing independent radio transmissions in a specific frequency range
AU7038781A (en) Digital pseudo continuous tone detector
CA1140266A (en) Adaptive delta modulation network
JPS6354271B2 (en)
USRE32945E (en) Synchronization system for digital data
CA2279264A1 (en) Speech immunity enhancement in linear prediction based dtmf detector
JPS5748841A (en) Clock selection system
JPH0727705Y2 (en) Wireless communication device
GB1532103A (en) Method and apparatus for translating multiple frequency signalling
JP3148589B2 (en) Tone squelch circuit
WO1995032436A3 (en) Signal processing
JPS57171870A (en) Signal deciding circuit for digital multifrequency signal receiver
JPS5944827B2 (en) Digital level detector
JPS6455916A (en) Control method for rds receiver
SU985968A1 (en) Device for receiving discrete frequency-modulated signals

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU BR JP

AL Designated countries for regional patents

Designated state(s): DE FR GB NL

WWE Wipo information: entry into national phase

Ref document number: 1981900771

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1981900771

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1981900771

Country of ref document: EP