Method and apparatus for pulse sorting

Abstract: for associating received pulses with one of a plurality of emitters emitting pulses at periodic intervals, periodic pulse trains are detected by computing the difference in arrival times between each received pulse and a fixed number of previously received pulses. In the simplest example, a periodic pulse train is detected when one of the computed differences is one-half of another computed difference. In other examples, further processing is performed to detect staggered pulse trains or other periodic patterns. Pulse descriptor words (PDW) from a receiver (52) pass to a time filter (10) that measures the time of arrival of the pulses, and passes the PDWs to a circular buffer (12) where a time difference generator (14) measures the time differences between a pulse and a number of earlier pulses. These differences are arranged in a correlation memory (16) on a difference frequency basis, and an emitter recognizer (18) determines which pulses belong to regular trains. The information is used by pulse trackers (20₁, 20₂) to direct PDWs belonging to recognized trains to a utilization device (50).

Description: This invention relates to an apparatus for associating received pulses with one of a plurality of emitters producing pulses at periodic intervals, the apparatus comprising: means for determining the differences between the arrival time of a selected one of the pulses and the respective arrival times of a plurality of the pulses received before the said selected pulse; and means for utilising the said differences to determine whether the said differences include a difference equal to a periodic interval associated with one of the said emitters. The invention also relates to a method for associating received pulses with one of a plurality of emitters producing pulses at periodic intervals. In certain signal environments, one receiver may be simultaneously exposed to pulsed signals transmitted by a plurality of signal sources, or "emitters". To obtain the maximum amount of useful information, the receiver must group the received pulses according to their source. The signal processing carried out involves a method of identifying which of a large number of received pulses was emitted by a particular signal source. This process, sometimes called "pulse sorting", allows the signals from each of the emitters to be processed separately. Such a technique is beneficial because it allows a reduction in the complexity of the processing performed by the receiver. Pulses associated with emitters which provide little information can be ignored. Spurious pulses not associated with any emitter need not be processed. One known way to accomplish pulse sorting is called "histogramming". This technique takes advantage of the fact that most emitters which transmit pulsed signals transmit pulses at regular intervals. To perform histogramming, the receiver keeps track of the time of arrival of each pulse. For each received pulse, the differences between the time of arrival of that pulse and the respective times of arrival all preceding pulses are added to the histogram. As a simple example, if a pulse is received from a particular emitter every 6 seconds, after one minute, the histogram will contain, among other entries, 10 entries associated with the time six seconds. The 10 entries likely represent a local maximum or peak in the histogram. Thus, to identify various emitters, a receiver searches for peaks in the histogram. GB-A-2 215 473 describes an apparatus of the kind defined hereinbefore at the beginning in which a histogram of the differences between the arrival times of all of a number of pulses received as a stream is formed by a set of counters, each of which is incremented by 1 in response to a difference lying within a respective range of values. For example, each counter may increment in response to a 4 microsecond range of differences, with a first counter incrementing in response to differences in the range 0 to 4 microseconds, a second counter incrementing in response to differences in the range 4 to 8 microseconds, and so on. In this example, the counts in the set of counters would form a histogram in which the histogram columns have a width of 4 microseconds. The histogram is processed on the basis that if all the pulses arrive randomly, the histogram follows a triangular pattern, and the count in any counter can be predicted from this pattern and the total number of pulses received and used in forming the histogram, whereas if a series of pulses which has a constant pulse repetition interval is present, then the pulse repetition interval will occur at a rate higher than that expected for randomly arriving pulses. Thus by comparing the actual counts in the set of counters with the counts predicted for randomly arriving pulses, peaks indicating a pulse repetition interval or an integer multiple of a pulse repetition interval can be located by searching the histogram. After a regular series of pulses has been identified in this way, the arrival time data for this series is eliminated from the differences and the reduced population of differences is used to form another histogram which is analysed in the same way. Regular series of pulses are thus identified and eliminated until only differences arising from the arrival of random pulses remain. One drawback of histogramming is that to produce accurate results, the histogram must be constructed from a sufficient number of pulses. Since it takes time to collect the required number of pulses, it takes a correspondingly long time to associate pulses with an emitter using histogramming. Further, some emitters produce pulses at rates up to a thousand times faster than others. Since, in the histogram, the peaks associated with pulses at the higher rate will be much larger than peaks associated with pulses produced at the lower rate, substantial processing is required to identify pulses at the lower rate. Searching through all the entries in the histogram can also require more processing than is desirable in some instances. With the foregoing background in mind, it is an object of this invention to provide a computationally simple method of associating a received pulse with one of a plurality of emitters. It is also an object of this invention to provide a quick method of associating a received pulse with one of a plurality of emitters. It is a further object of this invention to provide a simple hardware architecture for quickly associating a received pulse with one of a plurality of emitters. According to one aspect of the invention, apparatus of the kind defined hereinbefore at the beginning is characterised in that the utilising means includes means for associating with an emitter pulses received at a periodic interval after the said selected pulse if the difference between the arrival time of the said selected pulse and the arrival time of a first previously received one of the said pulses is twice the difference between the arrival time of the said selected pulse and the arrival time of a second previously received one of the said pulses, with the said periodic interval being equal to the difference between the arrival time of the said selected pulse and the said second previously received pulse. According to another aspect of the invention there is provided a method for associating received pulses with one of a plurality of emitters producing pulses at periodic intervals, comprising the steps of: a) for each of a plurality of received pulses computing the differences between the arrival time of the pulse and the respective arrival times of a predetermined number of previously received pulses; and b) utilising the computed differences to determine whether the said differences include a difference equal to a periodic interval associated with one of the said emitters, characterised in that the utilising of the differences includes the steps of: searching the computed differences for a first difference which is one half of a second computed difference, the first and second differences both being related to a selected pulse; and associating a set of pulses received at intervals equal to the said first difference with one of the said emitters. A preferred embodiment of this invention provides a method of predicting the reception of pulses from selected ones of a plurality of emitters and performing pulse thinning on the received pulse stream. The preferred embodiment allows initiation of the pulse thinning process immediately upon receipt of two pulse repetition interval patterns. In a preferred embodiment of the invention, the time of arrival of each pulse is measured and stored in a circular buffer. As each pulse is received, the difference in arrival time between that pulse and each pulse in the circular buffer is computed. These time differences are recorded in a correlation memory. The memory is organized into a plurality of cells, each cell corresponding to a time difference. To record time differences in the memory, the arrival time of the received pulse used to compute the time difference is stored in the cell corresponding to that time difference. A periodic pulse train pattern is identified when one received pulse produces a time difference with a first pulse which is twice the time difference produced with a second pulse. According to one embodiment of the invention, the system contains a time filter and a plurality of pulse repetition interval trackers. For each pulse repetition period associated with an emitter, a pulse repetition interval tracker produces a control signal when the next pulse from the emitter is expected. In response to the control signal, a time filter blocks any pulse received at that time from passing into the circular buffer. Rather, the pulse is identified as belonging to the associated emitter and may be sent to an external utilization device. Brief Description of the Drawings For a more complete understanding of this invention, reference is now made to the following more detailed description and accompanying drawings, in which FIG. 1 is a simplified block diagram of a pulse sorting system constructed according to the invention; FIG. 2 is a diagram of a pulse stream; FIG. 3 is a pictorial representation of information stored in the correlation memory of the system of FIG. 1; and FIG. 4 is a diagram of a staggered pulse stream. Description of the Preferred Embodiments FIG. 1 shows a block diagram of a system for sorting pulses according to the present invention. Each block in the diagram represents digital or analog circuitry constructed according to known design techniques for radio systems. One of skill in the art will recognize that standard components, such as power connections and control wiring, are not explicitly shown in FIG. 1. However, such elements are required for proper operation of the system. Pulses from a plurality of emitters are received by radio receiver 52 which is of known construction. Receiver 52 represents each received pulse by a pulse descriptor word (hereafter "PDW"). The PDW is a digital word broken into several fields. One field indicates the time when the pulse is received. Here, the time does not have to be referenced to any absolute time. For example, a digital counter could be used to generate the bits in the time field. Other fields of the PDW could include the frequency of the pulse, the angle of arrival of the pulse, or other information about the pulse commonly used in pulse sorting systems. The specific kinds of information contained in the other fields of the PDW is dictated by the operation of utilization device 50. In a typical application, numerous emitters transmit pulses periodically. Thus, the output of receiver 52 is a stream of PDWs. This stream of PDWs is fed to pulse thinning circuit 22, the operation of which is described below. Suffice it to say here that pulse thinning circuit 22 eliminates unnecessary PDWs from the stream. The remainder of the PDWs are passed to circular buffer 12. Circular buffer 12 is a digital memory for storing a fixed number of PDWs. If more than the fixed number of PDWs is written to circular buffer 12, the new PDWs are stored, but the PDWs stored in the buffer the longest are no longer stored. In this way, circular buffer 12 stores the most recent pulses. Each new PDW is also passed to time difference generator 14. Time difference generator computes the difference between the arrival time of the newly received PDW and all PDWs stored in circular buffer 12. For example, FIG. 2 shows a stream of pulses P 1 ...P 6 arriving at times TOA 1 ...TOA 6 spaced uniformly ΔT apart. When pulse P 6 is received, the PDWs for pulses P 1 ...P 5 are stored in circular buffer 12. Time difference generator 14 computes the time differences. The difference of arrival time between P 6 and P 5 is ΔT. The difference between P 6 and P 4 is 2ΔT. The differences between P 6 and the remaining pulses in circular buffer 12 are computed as 3ΔT, 4ΔT and 5ΔT. This information is recorded in correlation memory 16. Correlation memory 16 is a digital memory of known construction. FIG. 3 shows the organization of information stored in correlation memory 16. The memory is divided into Columns C 1 ...C 10 and rows r 1 ...r 8 . Each column corresponds to time difference. For example, Column C 2 corresponds to time difference ΔT; Column C 4 corresponds to time difference 2ΔT; etc. Each column contains a fixed number of rows, here eight rows. The type of information stored in each row is the same in all the columns. Row r 1 stores the "hit count". Row r 2 stores a pointer to one of the remaining rows r 3 ...r 8 . Rows r 3 ...r 8 store times of arrival. When time difference generator 14 computes a time difference corresponding to a particular column, the time of arrival of the pulse for which that difference was computed is stored in that column. Each time a time of arrival is stored in a column, the hit count in row r 1 of that column is increased by 1. Also, the pointer in row r 2 is updated to contain the row number in which the time of arrival was stored. Considering the pulse stream in FIG. 2 again as an example, when pulse P 2 is received, the PDW for pulse P 1 is in circular buffer 12. A time difference ΔT is computed by time difference generator 14. This time difference corresponds to Column C 2 . Thus, the time of arrival of pulse P 2 , TOA 2 , is stored in Column C 2 . Since that is the first information to be stored in Column C 2 , it is stored in row r 3 . The hit count is set to 1 and the pointer is set to contain the number 3, indicating row r 3 . When pulse P 3 is received at TOA 3 , time difference generator 14 computes time differences ΔT and 2ΔT since the PDWs for pulses P 1 and P 2 are in circular buffer 12. These time differences are recorded by storing time TOA 3 in Column C 2 (corresponding to time ΔT) and Column C 4 (corresponding to time 2ΔT). The hit count and pointer of each column is likewise updated. After pulse P 6 is received, the entries in correlation memory 16 will be as shown in FIG. 3. The information stored in correlation memory 16 is examined by emitter recognizer 18. Emitter recognizer 18 is constructed from known digital circuit elements and could even be a microprocessor. Because of the way information is stored in correlation memory 16, identification of a periodic pulse stream can be relatively easily made. When pulse P 3 is received, time TOA 3 is stored in column C 4 and in Column C 2 . This information is sufficient for emitter recognizer 18 to identify a pulse stream with a pulse repetition interval of ΔT. The entry TOA 3 in Column C 2 indicates a pulse, P 2 , arrived ΔT before pulse P 3 . The entry TOA 3 in Column C 4 indicates another pulse, P 1 , arrived 2ΔT before pulse P 3 or ΔT before pulse P 2 . In other words, P 1 , P 2 and P 3 are spaced apart by ΔT. This pattern for recognizing a periodic pulse train can be generalized into a simple algorithm. As each new pulse is received, time difference generator 14 generates the time differences from smallest to largest. This order is simply achieved by comparing the time of arrival of the new pulse to the time of arrival of the pulses in circular buffer 12 in the inverse order in which the pulses in circular buffer 12 were received. As each time difference is generated, it is stored in the appropriate column of correlation memory 16. As each new difference is entered in a column associated with a time difference, emitter recognizer 18 checks the last entry in the column associated with the time difference equal to one half of the time difference being entered. If the time of arrival of that entry "matches" the new difference, then at least two consecutive pulse pattern intervals have been received at a repetition rate equal to one-half of the new difference. In some instances, knowing that two consecutive pulse pattern intervals with the same spacing have been received is adequate to identify a pulse stream and associate it with an emitter or a type of emitter. In other instances, further processing must be done. Further processing to identify an emitter type could be performed by examining the other fields of the PDWs associated with the pulses whose times of arrival produced the matching time differences. Alternatively, more pulses can be received to verify that pulses are being received at the periodic rate exhibited by the matching time differences. For example, if a pulse stream with repetition interval ΔT is actually being received, when a pulse is received which produces a time difference of 3ΔT, it should also produce a time difference of 2ΔT and ΔT. As seen in FIG. 3, there is a match of TOA 4 in Columns C 6 , C 4 and C 2 corresponding to time differences 3ΔT, 2ΔT and ΔT, respectively. Another way to do further processing is to examine the other entries in the columns where matches are found. For example, once a match is found with a column corresponding to half the time difference, the other entries in that column can be compared to find further matches. For example, when pulse P 5 is received, TOA 5 is recorded in Column C 4 corresponding to time difference 2ΔT. TOA 5 is also recorded in Column C 2 corresponding to one half of that time difference (i.e. ΔT). In Columns C 2 and C 4 , there are also matches between TOA 4 and TOA 3 . A total of three matches between the two columns indicates at least five pulses were received at the pulse repetition interval. Regardless of which method of processing is used to recognize pulse streams, emitter recognizer 18 performs an additional function of associating several pulse streams with the same emitter. Using the above described technique, an emitter producing a pulse stream at a pulse repetition interval of ΔT will yield "matches" indicating a pulse stream of period ΔT and multiples of ΔT. Emitter recognizer 18 must associate all of the matches produced by the same pulse stream. For example, Columns C 8 and C 4 contain matches of TOA 6 and TOA 5 . These matches might indicate a pulse stream with pulse repetition interval 2ΔT. However, these matching arrival times are also found in Column C 2 , indicating that these pulses are really part of a pulse stream with PRI of ΔT. These matching arrival times are not found in Column C 1 , indicating that they are not a part of a pulse stream with repetition interval 1/2 ΔT. Thus, to determine if an identified pulse stream is actually part of a pulse stream with smaller repetition interval, columns corresponding to time differences equal to one-half of the time difference of the column with matches are searched. If matches are found with those columns, then the pulse stream with the larger pulse repetition interval is actually a part of a pulse stream with the smaller repetition interval. Emitter recognizer 18 also handles the more complicated case of a staggered waveform. FIG. 4 shows an example of a staggered waveform. The time between pulse P 1 and P 2 is T 1 but the time between pulses P 2 and P 3 is T 2 . This pattern repeats every ΔT seconds. If emitter recognizer 18 is capable of performing only the functions described above, it will characterize the pulse stream of FIG. 4 as two separate pulse streams with pulse repetition intervals ΔT. These streams would contain pulses P 1 , P 3 , P 5 ... and P 2 , P 4 , P 6 .... Further processing can be performed on the entries in correlation memory 16 to recognize that these separate pulse streams are part of one staggered pulse stream. TABLE I shows the entries that could exist in correlation memory 16 after pulses P 1 ...P 6 were received. The Table indicates the time differences associated with the various columns rather than the column numbers. TIME DIFFERENCE ROW T 1 T 2 ΔT (2T 1 +T 2 ) (2T 2 +T 1 ) 2ΔT (3T 1 +2T 2 ) r 3 TOA 2 TOA 3 TOA 3 TOA 4 TOA 5 TOA 5 TOA 6 r 4 TOA 4 TOA 5 TOA 4 TOA 6 TOA 6 r 5 TOA 6 TOA 5 r 6 TOA 6 As shown in Table I, both TOA 5 and TOA 6 in column 2ΔT have corresponding entries in the column ΔT. As described above, this arrangement of pulses indicates two pulse streams with PRIs of ΔT. To determine whether two or more identified pulse streams are likely to be elements of a single staggered pulse stream, the contents of the higher numbered rows in columns that produce a match are examined by emitter recognizer 18. When a match was made on TOA 5 , column ΔT also held times of arrival TOA 4 and TOA 3 . Emitter recognizer 18 computes the difference between each of these additional times of arrival, in order, with the time of arrival that produced the match. In this example, first TOA 5 - TOA 4 and then TOA 5 - TOA 3 . If the difference is less than the PRI of the pulse stream just identified, the additional TOA is a possible component of a stagger signal. In the example, TOA 4 fits this criteria while TOA 3 does not because the difference is equal to ΔT, the matching PRI. Once a difference equal to or greater than the matching PRI is found, the process may be stopped since all internal components of a staggered signal must have a spacing of less than the pattern repetition interval and the entries in each row will be at successively earlier times of arrival. Emitter recognizer 18 next examines the rows in columns 2ΔT, the other column involved in the original match. In the example, TOA 4 is not found in this column and the potential stagger match is rejected because not enough pulses have been received. The process is repeated by emitter recognizer 18 after pulse P6 is received. A second regular pulse stream is identified and TOA 5 in column ΔT is identified as a possible component of a staggered signal. In this case, TOA 5 is also present in column 2ΔT, indicating that it is a part of a pulse stream with the same PRI as the one just identified. The two streams are thus determined to be components of a staggered pulse stream from one emitter. The number of rows in the correlation memory 16 determine how many components of a complex emitter can be identified in two repetitions of the emitter pattern. The above represents only one, simple embodiment of the process of stagger or patterned emitter recognition using the contents of the correlation memory 16. As in the case of identification of simple, regular pulse streams, the method can be extended to additional received pulses to improve the accuracy of pattern identification. Pulse thinning 22 can employ either a single, simple pulse tracker for each element of a staggered signal, a complex tracker that tracks the complete pattern or any other means that removes the identified pulse stream from the input to the circular buffer 12. Once emitter recognizer 18 has recognized a pulse stream, it is no longer necessary for more pulses in that stream to be processed. It is even desirable to remove those pulses from the pulse stream processed by emitter recognizer 18. Removing pulses reduces the memory requirements of correlation memory 16 and reduces the required processing speed of emitter recognizer 18. To eliminate pulses associated with an emitter, emitter recognizer 18 passes information to a pulse tracker. In FIG. 1, two pulse trackers 20 1 and 20 2 are shown, but it will be realized that at least one pulse tracker is necessary for each emitter to be recognized. More pulse trackers are necessary for emitters which transmit more complex pulse patterns such as the staggered waveform described above. The information passed to pulse tracker 20 1 describes the pattern associated with an emitter. It also indicates arrival time of the last pulse from that emitter. This information allows pulse tracker 20 1 to predict the times when the next pulse from the same emitter will be received. Pulse tracker 20 1 predicts the arrival time of the next pulse from the emitter. At the expected arrival time of the pulse, pulse tracker 20 1 sends a control signal to time filter 10. In response to the control signal, time filter 10 diverts any pulse received to pulse tracker 20 1 . That pulse is then passed to utilization device 50 as part of a pulse stream from an identified emitter. In many practical systems, pulses will not be received at precisely periodic intervals. There is some "jitter" in the times when pulses are transmitted by an emitter. To compensate for jitter, pulse tracker 20 1 produces a control signal which causes time filter 10 to divert pulses to pulse tracker 20 1 for a short amount of time before a pulse is expected and for a short amount of time after a pulse is expected. The control signal thus defines a "window" in time. The width of the window depends on how much jitter a particular emitter has. To set the time window appropriately, pulse tracker 20 1 starts with an initial window of a fixed duration. The duration has to be large enough to accommodate the maximum amount of jitter expected from any emitter. As each pulse is received, the difference between the arrival time of the pulse and the center of the window is determined. This difference is related to the probability that the pulse actually came from the emitter being tracked by pulse tracker 20 1 . For example, a pulse received in the exact center of the window might be assigned a probability of 100%. A pulse at the very edge of the window might be assigned a probability of 5%. A pulse arriving at some time in between would be assigned a probability inversely proportional to its distance from the center of the window. The probability assigned to any pulse is an indication if it was transmitted by the emitter whose pulses are predicted by pulse tracker 20 1 (i.e. an "emitter under track"). If the probability that the pulse is from an emitter under track exceeds a certain threshold, say 95%, that pulse is passed to utilization device 50. Conversely, if the probability is below the threshold, the pulse is stored in circular buffer 12. As described above, pulses in circular buffer 12 are processed in an attempt to associate groups of pulses with a particular emitter. This threshold can be varied in response to the rate at which pulses are received. If pulses are arriving so quickly that utilization device 50 cannot process them all, the threshold could be raised. The pulses that are then diverted to utilization device 50 are thus more likely to be associated with a specific emitter. Moreover, fewer pulses will be passed to utilization device 50. As shown in FIG. 1, the system contains two pulse trackers 20 1 and 20 2 . Thus, the system could keep two emitters under track. More pulse trackers could be included to track more emitters or emitters with more complicated pulse patterns. Time filter 10 must, however, respond to the control signals from all the pulse tracks. Each received pulse is compared by time filter 10 to each control signal from each pulse tracker 20 1 , 20 2 . The probability that the pulse is associated with any emitter under track is computed. This combined probability is compared to the threshold to determine whether the pulse is passed to utilization device 50. It should be noted that signal processor 100 breaks up a pulse stream containing numerous pulse streams into several pulse streams containing fewer pulses. Ideally, each pulse stream would correspond to pulses transmitted by one emitter. However, when pulses are received from many emitters, some of the pulse streams may contain pulses from more than one emitter or pulses from spurious sources. Also, signal processor 100 may not associate all the pulses from one emitter. Therefore, utilization device 50 may perform processing on the pulse streams provided by pulse trackers 20 1 , 20 2 . However, the processing performed on these separate pulse streams produced by pulse tracker is less than the processing which would be required to process the pulse stream from receiver 52. The amount of processing is generally proportional to the square or cube of the number of pulses in the pulse stream. Since the pulse streams from pulse tracker 20 1 and 20 2 have much few pulses than the pulse stream directly from receiver 52, use of signal processor 100 simplifies the processing needed in utilization device 50. Having described one embodiment of this invention, numerous variations could be made. For example, FIG. 3 shows that correlation memory 16 contains a row for a pointer and a row for hit count. The value of the pointer can be determined from the hit count. To reduce the amount of memory required, the pointer or the hit count could be eliminated. Furthermore, both could be eliminated if each column in FIG. 3 were loaded as a stack with the most recently received data occupying the top of the stack. A stack provides the added benefit that only a set number of times of arrival are stored in each column. The most recently received information is always available. As another variation, the columns in correlation memory 16 need not correspond to equally spaced time differences. As shown in FIG. 3, the value assigned to each successive column increases linearly by 1/2 ΔT. It may be advantageous to have the values increase logarithmically. In this way, good resolution would be provided for small time differences while less memory would be needed for large time differences. The circuitry used to construct signal processor 100 might also be varied. A general purpose digital computer could be programmed to perform all of the described functions. However, specially constructed circuitry could equally well be used. In other variations, the amount of processing performed by emitter recognizer 18 could be varied. As described, emitter recognizer 18 determines that certain pulse streams make up one pulse stream. It also determines the minor periods of a staggered pulse stream. It is not necessary that emitter recognizer 18 perform these functions. It may, in some instances, be desirable for utilization device 50 to perform these functions instead. Various modifications could also be made to the hardware shown in FIG. 1. For example, FIG. 1 shows that receiver 52 produces a PDW for each pulse received. Control signals from time filter 10 may be used to suppress the formation of all or part of the PDW if the pulse arrives at a time when a pulse is expected from an identified emitter. In another processing variation, the length of the window in pulse tracker 20 1 could be changed adaptively. For example, if pulse tracker 20 1 consistently identifies pulses with a very high probability, the length of the window could be decreased. Conversely, if pulse tracker 20 1 identifies pulses with a low probability, indicating a pulse train with large jitter, the length of the window could be increased. It is felt, therefore, that this invention should be limited only by the scope of the appended claims.

Claims: Apparatus for associating received pulses with one of a plurality of emitters producing pulses at periodic intervals, the apparatus comprising: means (12,14) for determining the differences between the arrival time of a selected one of the pulses and the respective arrival times of a plurality of the pulses received before the said selected pulse; and means (16,18) for utilising the said differences to determine whether the said differences include a difference equal to a periodic interval associated with one of the said emitters; characterised in that the utilising means includes means (18) for associating with an emitter pulses received at a periodic interval after the said selected pulse if the difference between the arrival time of the said selected pulse and the arrival time of a first previously received one of the said pulses is twice the difference between the arrival time of the said selected pulse and the arrival time of a second previously received one of the said pulses, with the said periodic interval being equal to the difference between the arrival time of the said selected pulse and the said second previously received pulse. Apparatus according to claim 1, characterised by receiver means (52) that represents each received pulse by a pulse descriptor word that contains the arrival time of the pulse, and in that the means for determining differences in arrival times comprises: a) a circular buffer (12) for storing a predetermined number of pulse descriptor words, said circular buffer (12) storing the most recently received pulse descriptor words; and b) an arithmetic logic means (14) for computing the difference between the arrival time in the pulse descriptor word of the said selected pulse and the arrival times of each of the pulse descriptor words in the circular buffer. Apparatus according to claim 2, characterised in that the utilising means comprises: a) a memory (16) organised into rows and columns, with each column representing a time difference and a cell defined by one row and one column storing the arrival time of the said selected pulse when the arithmetic logic means (14) computes a time difference represented by the said one column; and b) recogniser logic means (18) for determining when the same arrival time is stored in two columns, one column representing a time equal to the periodic interval and the second column representing a time equal to twice the periodic interval. Apparatus according to claim 3, characterised by time filtering means (10) for selectively, in response to a control signal, diverting pulse descriptor words of received pulses to the means (12,14) for determining differences between arrival times or to a utilisation device (50). Apparatus according to claim 4, characterised by means (20 1 ,20 2 ) for supplying a control signal to the time filtering means (10), a first value of said control signal causing the time filtering means (10) to divert pulse descriptor words to the utilisation device (50) at said periodic intervals. Apparatus according to claim 4, characterised by a plurality of means (20 1 ,20 2 ) for generating control signals for the time filtering means (10). Apparatus according to claim 4, characterised by a plurality of means (20 1 ,20 2 ) for generating control signals, each control signal generating means generating a control signal at a time when a pulse is expected from an emitter, said signal having a first state for a window of time preceding and following the expected arrival time of the pulse. Apparatus according to claim 7, characterised in that the time filtering means (10) is adapted to associate a probability with each control signal for each pulse received, the probability indicating the deviation between the arrival time of the pulse and the centre of the respective window. Apparatus according to claim 8, characterised in that the time filtering means (10) is adapted to combine the probabilities associated with each control signal for each received pulse to produce a combined probability, and to divert the pulse descriptor word of a received pulse to the utilisation device (50) when the combined probability exceeds a threshold and to the means (12,14) for determining differences in arrival time when the combined probability does not exceed the threshold. A method for associating received pulses with one of a plurality of emitters producing pulses at periodic intervals, comprising the steps of: a) for each of a plurality of received pulses computing the differences between the arrival time of the pulse and the respective arrival times of a predetermined number of previously received pulses; and b) utilising the computed differences to determine whether the said differences include a difference equal to a periodic interval associated with one of the said emitters, characterised in that the utilising of the differences includes the steps of: searching the computed differences for a first difference which is one half of a second computed difference, the first and second differences both being related to a selected pulse; and associating a set of pulses received at intervals equal to the said first difference with one of the said emitters. A method according to claim 10, characterised by the steps of: a) predicting the arrival times of pulses from the said one emitter; and b) excluding from the plurality of received pulses those pulses arriving sufficiently close to any one of the predicted arrival times. A method according to claim 11, characterised in that the step of searching the computed differences includes, when a match is detected between a first difference and one-half of a second difference, searching for a third difference which is one-quarter of the second difference, and selecting as the periodic interval one-quarter of the second difference. A method according to claim 11, characterised in that the step of searching the computed differences includes, when a match is detected between the first difference and one-half of the second difference, searching for a pulse producing; (i) a fourth difference equal to the first difference plus the second difference; (ii) the first difference; and (iii) the second difference.

Inventors: ROBERTSON JAMES C, UDD RICHARD L, ROBERTSON, JAMES C., UDD, RICHARD L.
Applicants: RAYTHEON CO, RAYTHEON COMPANY
Application year: 1991
Main classification: H04J15
IPC codes: G01S7, G01R29