DIGITAL CORRELATOR

Abstract: A digital cross and auto correlator or structurator receives a stream of pulses of varying time separation forming an input signal (Fig. 4(a)). A plurality (M) of channels (4) each receives this input signal which is sampled to provide a series of digital numbers in successive sample time intervals. Each channel has a delay (13) for delaying an input signal to a delay value ( tau m) to provide a delayed signal (DD), and an arithmetic section (17, or 21, 22, 23) for receiving at one input a non-delayed input signal (I.D.) and at another input the delayed signal (D.D.). An accumulator (18) receives the output of the arithmetic section. The collective output (5) of the channels provides the required auto or cross correlation function. The correlator has means in each channel for providing a sample time interval (Tm) and a delay value ( tau m) that are independant of one another and of other channels. The sample time (Tm) and delay value ( tau m) are set by the frequency of and phase difference respectively between clock pulses (STC1, STTC2).

Description: Digital correlator. This invention concerns a digital correlator or structurator in "which a mathemat cal operation is carried out between non-delayeά and delayed data. Such a correlator cay perform an auto or cross correlation function. In a typical digital correlator an input signal is divided into successive sample intervals. Digital numbers representative of the signal during each sample interval are clocked serially through the correlator for correlation. A series of digital numbers is clocked along an M-stage shift register to form a delayed signal. A non-delayed series of digital numbers is applied to one input of K different multipl ers. The other input of these multipliers is taken from successive stages of the shift register. Each multiplier thus operates on a different delay. The output of each multiplier is accumulated in one of K different counters providing H different channels. At the end of an experimental run the collective content of the counters represents the correlation function of the input signal or signals. This correlator may be termeed a linear correlator because the delay between successive channels increaases linearly. The correlator may perform an auto correlation or a cross corrrelation on data. For an auto correlation the input signal is replicated into two identical signals; one signal is delayed and multiplied by the other non-delayed signal. For a cross correlator a first signal is delayed and multiplied with second, but no delayed, signal. Digital signal processing enables highly accurate mathematical operations to be carried out on signals. Due to recent advances in logic speed, complicated processing can be carried out in real time. Also advances in the statistical theories of some events have simplified the processing of some functions. One example of this is in laser light scattering experiments, particularly in weak scattering events. Detailed investigation into the properties of light scattering leά to the development of a single clipped digital correlator described in U.K. Patent Specification Ho. 1,290,336. This correlator allowed the processing of signals representing the arrival of single photons on a sensitive detector. From this a whole, range of work has been made possible, for example, laser light scattering where the light scattered by a suspension of particles in a liquid can be processed to give particle diffusion co-efficients. In the above linear digital correlator a correlation function is accumulated from information obtained in successive channels. Increasing the number of sample channels allows further information to be obtained but results in increased equipment costs. One solution to the problem of collecting information from many sample intervals is described in G.B. 2,115,192 A. In this specification the time delay between each channel is geometrically increased. Thus for example using 26 channels with a J2 ~ progression between channels information can be obtained from the equivalent of a delay interval of 8192 in a linear correlator e.g. G.B. 1,290,336. The correlator of G.B. 2,115,192 A relies on correlating a signal, at geometrically increasing delays, to obtain the maximum information for a given number of channels. However information is still available from the non-correlated delays. Such uncollected information becomes more important at low counting rates. G.E. 2,115,192 A also applies the principle of increasing delays to a measurement of the structure function. Another correlator is described in European Patent Application Number 35308943; it extends the data collected from a correlator or structurator such as taught by G.B. 2,115,192 A, w thout the increases in e uipment channels that would be involved if the linear correlator of G.B. 1,290,336 were merely extended. In U.K. 6431S37 both the sample time interval and delay time increase in successive channels. According to this invention a digital processor comprises means for receiving a signal which varies in time forming an input signal, means for sampling the input signal and providing a series of digital numbers in successive sample time intervals (Tm); a plurality (K) of channels each having a delay for delaying a series of digital numbers cy a delay value (t) to provide a delayed signal, an arithmetic section for receiving at one input a digital signal and at another input the delayed signal and an accumulator for receiving the output of the arithmetic section the channels collectively providing a required mathematical operation; CHARACTERISED BY means in each channel for sampling the input signal to provide a sample time interval (T) and a delay value ( f c) that are independent of one another and of other channels- The ar thmetic section cay include a multiplying sect on so the processor becomes a correlator or a difference squarer when the processor becomes a structurator. The plurality of channels may be provided by a plurality of channels operating simultaneously, or by multiplexing with at least one channel operated successively at different values of sample time and delay values t (tau). The values of delay time ' " _■m and or sample time interval T may be set in successive channels in any required manner, e.g. arithmetic or geometric. The input signal may be a stream of pulses of varying time separation, e.g. from the output of a photon detector. Alternatively it may be a time varying amplitude analogue signal. The number of channels in a correlator is defined as M where H is an integer, the small letter m represents any one of the integers 1 to M. The ar thmetic section may comprise a multioi multiplier which multiplies two multibit numbers received in a sample time. Alternatively it may comprise a progressive adder which provides a mult pl cat on by a succession of additions withing a sample time. Each channel may have a sample, ime clock giving two ouputs of equal frequency but different phase; the frequency and phase being adjustable and independent. ' The invention will now be described by way of example only with reference to the accompanying drawings of which:- Figure 1 is a block diagram of a correlator; Figure 2 is a diagram of a channel of the correlator of Figure 1; Figure 3 s an alternative to Figure 2; Figures 4 to 11 are graphs useful in understanding the present invention. - o - The correlator 1 of Figure 1 is shown to be correlating two signals S1 , S2 formed by e.g. light flux from light scattering " experiments. The light is detected " by ph.otom.ulti liers FK1, PM2 and fed into derandomisers 2, 3- ?or most light experiments only a single light flux is received and an autocorrelation function is to be calculated. In this case only one photomult plier FK1 is used. Output from each photomultipliers 2, 3 is a stream of pulses representing detection of photons in.a light flux. These pulses have a random distribution of amplitude and charge. The function of each derandomϊser 2, 3 is to take the output of the photomultiplier, or any other similar signal, and produce a pulse of uniform height and width for each photon detected. Two such consecutive pulses will have a minimum separation set by the dead times of the derandomisers 2, 3- Additionally each pulse is synchronised to a basic system clock 9- This allows the subsequent processing to be unambiguous. The result is a train of pulses of varying spacing in time as shown for example in Figure 4(a). Outputs from the derandomisers 2, 3 are taken to each channel 4 1 to 4^. of the correlator. A readout circuit 5 -receives data from each channel and feeds signals to a controlling logic system, e.g. a digital computer 6, to a CRT display 7, and a recording unit such as a disc or tape store 8. The system clock provides a fundamental frequency for all elements of the correlator; typically the frequency is about 100 KHz. As an alternative to photomultipl er ?H1 , PM2, avalanche photo diodes APD may be used and operated in the geiger mode. The correlator layout of Figure 1 is common to many correlators. The correlator of the present invention is distinguished by the construction, function and interrelat on of each channel as shown in Figure 2. Output from the first derandomiser 2 is fed into a counter 11 which counts the number of pulses received in each sample time. The count number is fed via a latch 12 into a delayed sample store 13- Similarly the output of the second derandomiser 3 s fed through a switch 14 into a counter 15- The switch 14 also has an input from the first derandomiser 2 and can be set to receive signals from the second derandomiser 3 when a cross correlation is required, or set to receive signals from the first derandomiser 2 when an auto correlation is required. The counter 15 output is fed through a latch 16 into an immediate input 10 of a multiplier 17. A second, delayed, input DD to the multiplier 17 is from the delayed sample store 13• The output from the multiplier 17 is to an accumulator 18 which accumulates the successive multiplier outputs during an experimental run. The collective outputs of all the accumulators 18 represents the correlation function of an input signal and pass into the read out circuit (Figure 1). As shown outputs from both counters 1 1 , 1 5 , latches 12 , 1 6 , and store 13 are 8- ' bi t numbers ; the multi pli er output are 16- bi ts numbers ; and the accumulator output 32-bi t numbers . - δ - The correlator system clock 9 provides timing pulses to a sample time generator 19- This produces two outputs clock signals, STC 1 and STC2, which clock the counters 11 , 15, latches 12, 16 delayed sample store 13 and accumulator 18. Figures 4(b), (c) show the timing relation of STC1 , STC2 respectively. Both STC1 and STC2 have the same frequency but STC2 is delayed on STC1 by Tm x (ϊf+F); where N is an integer and F is a variable fraction of Tm from zero to just less than unity. The effect of STC1 applied to the counter 11 latch 12 and delay store 13 is to sample the incoming signal, Figure 4(a), and form a series of digital numbers each number representing the number of photons received in a sample period Tm. The counter 11 counts the number of pulses received between clocking pulses STC1. On receipt of an STC1 pulse the added count is passed into the latch 12 and then into the delay store 13 before the next STC1 pulse. The sample period Tm in channel is set by the frequency of STC1 and can be set at a different value in each channel. Whilst the counter 11 is receiving pulses as above the counter 15 is also receiving pulses from the derandomiser 2 or 3, in sample periods set by the STC2 pulses. However, since the start of STC2 is delayed on STC1 the series of digital numbers from latch 16 are delayed on those f st written into the delay store 13 by a delay ti e TmOr + F) . _ α _ The delay store 13 is a FIFO, first in-first out, register. Numbers are clocked in by STC1 and clocked out by STC2. This means that the numbers clocked into the multiplier 17 from the delay store 13, are delayed data DD, which are multiplied with non- delayed, i.e. immediate data ID, from the latch 16. Output from the multiplier 17 is thus a series of numbers formed by multiplication of delayed and non-delayed data numbers. Before STC2 begins the outputs of store 13 at latch 16 are zero. Operation of a correlator to calculate an auto correlation function will now be described. The calculation of a cross correlation function is similar except that two input signals of different origin are used. The switch 14 is set to connect the derandomiser 2 to both counters 11, 15- Light from a scattering experiment, e.g. velocity and turbulence measurements in a wind tunnel, are directed at the photomultiplier PM1. The result is a stream of pulses from the derandomiser 2 as in Figure 4(a). In the channel of Figure 2 the train of pulses is divided into sample times Tm set by the STC1 and STC2 clocks, and the number of pulses received in each sample time is counted in both counters 11, 15- Delayed data DD from the delay store 13 and non-delayed data ID from the latch 16 are multiplied in the multiplier 17, and result in a series of digital numbers that are accumulated in accumulator 18. At the end of an experimental run the contents of each accumulator 18 are read out and normalised. The collective normalised value from each channel is the auto correlation function for the input signal S1 • To form a structurator the multiplier 17 of Figure 2 is replaced by a difference squarer circuit. As mentioned above the values of sample time Tm and delay tm are variable in each channel. The values selected depend on the nature of the experiment " being conducted and the accuracy of correlation required. Some of the effects of varying Tm and ('tm) are explained below. Figures 5(a), (b) helps explain the values of delay *" _" . Figure 5(a) shows two equal time periods of length Tm separated by a time delay " . The value of Tm is the sample time in channel m and varies w h each channel in accordance with the frequency of its sample time generator outputs STC1 , STC2. The value of tit a is equal to Tx(ϊf+F) and can be varied in each channel as required. A measure of how much useful information is gathered during a correlation measurement can be obtained by considering the concept of tau space. Fig 5 shows the coverage in tau space of any channel. The coverage in each channel Υ c(m) equals twice Tm, and the position of such coverage is t-m. GB 84 31,837 introduces the terms <= , fi to describe different sample times and delays in each channel. In that specification: T(m) = ^ (m_1) (1 ) T(m) = ^ (m_l) .T(l) ' (2) where alpha, <= is an integer or non integer w th alpha m- rounάed to the nearest integer. • ^r(m) = ^ .T(m) (3) where beta, is an integer. In other words<= and δ> are constant and related by (c - 1 ) Another character stic to be considered is the amount of overlap in. tau space in adjacent channels, this may be termed an overlap factor OF. OF = [$ + 1 - c__(^» - 1)] / 2 Figure 6 is a graph of alpha against beta showing lines of constant OF. The dotted line shows a zero OF; moving towards the origin gives increasing overlap and away from the origin decreasing overlap. Moving to the right indicates increasing channels to cover the same tau space and moving upwards indicates fewer channels to cover the same tau space. Both alpha and beta are" independent of channel number in this case. Using these values of alpha, beta, tau space, and overlap factor the earlier correlators may be examined. Figure 7 shows the cover in tau space of GB 1,290,336 for a total of 49 channels. The tau coverage is represented by horizontal bars with an associated channel number; the vertical separation is merely to distinguish between channels. The value of alpha is 1 and that of beta is a the channel number. This is achieved by passing a signal into a serial delay and taking the output of sucessive stages to one input of multipliers. Non delayed signals go direct to a second input of the multipliers. The overlap shown in Figure 7 could be reduced by keeping alpha = 1 and making beta = (2 x ) - 1. Such values would give zero overlap as shown in Figure 8 and may be achieved by the circuit of Figure 2. This would involve making the sample time Tm the same in each channel and increasing the delay in each channel by varying the separation between STC1 and STC2. Such an arrangement needs only 24 channels to cover the same tau space as 49 channels in the arrangement of Figure 7. The correlator of the present invention- is multibit and can therefore correlate multibit input streams whereas G3 1,290,336 only operates on single bit values. GB 2,115,192 describes a correlator having a variable time delay, tau, between channels. Figure 10 shows the coverage of tau space by 14 channels for the illustrated embodiment. There are considerable gaps particularly above the seventh channel. The values of alpha = 1 and beta = 1.414 (m-1 ) are calculated and practical values ' then implemented as described. The patent also briefly describes a system where alpha = 1.414 and beta = 2. This gives a tau space coverage as shown in Figure 11, v/ith cons derable overlap in adjacent channels. Eu 35308943-1 describes a system in which the sample time increases in sucessive channels. The value of alpha = 2 and beta = 3 gives a tau space coverage shown in Figure 9(b) with no overlap in adjacent channels. Examination of Figure 6 shows this to be position marked D on the zero overlap curve. From this curve the values of alpha = 3 and beta = 2 indicated at B also give zero overlap. This is shown in Figure 9(c). Fositions marked C and A. of Figure 6 are shown in Figures 9(a) and 9(d) respectively. These indicate the effect of varying the overlap factor by adjustment of' * ' , and $ , for constant - j S correlators. All the examples of tau space coverage in Figures 7, 8, 9, 10, 11 can be achieved by the system of Figure 2. The value of alpha is varied by selecting the frequency of STC1 , STC2 for each channel independantly. The value of beta is varied by selecting the required delay between STC1 , STC2 for each channel independantly. The only limit to the variation of alpha and beta iε they w ll be an integer of the system clock frequency. However, this can be made sufficiently high to give very small incremental changes to the values of alpha and beta. Thus the particular calculations obtainable by the prior art correlators are obtainable from the present correlator. Additionally the present correlator is capable of calculating correlation functions over " tau space coverage not possible with the prior art correlators. The present correlator is flexible, i.e. it can be set to operate as any one of the prior art correlators and also in new ways by varying the frequency of and delay between STC1 and STC 2. Figure 3 is an alternative to the system of Figure 2. Many components are the same and are given like reference numerals. In Figure 3 there is no multiplier as such; instead a fast adder 21 is employed. As before for auto correlation the output of a derandomiser 2 is fed into a counter 11 to provide numbers in a sample time Tm set by the STC1. From the counter 11 S-bit numbers pass through a latch 12 and into a delayed sample store 13 both clocked by STC1. Output from the delay 13 is timed by STC2 as in Figure 2. Delayed signals DD pass to one terminal of the adder 21. Signals from the derandomiser 2, or 3, are fed to a latch 22 Output from this latch 22 is to both the adder 21 and to the readout circuit 5 Figure 1. The adder 21 has a sum output to the latch and a carry output to a counter 23- Output from this counter 23 forms the upper 24-bit number that combines with output from the latch 22 forming the lower 8-bit number of a 32-bit number representing the channel correlation coefficient. This combination of adder 21 latch 22 and counter 23 performs a multiplication on pulses -received i.n each sample time Tm. This means the components have to be fast enough to act on pulses spaced typically 0 nanosecs apart. For example if the delayed data is 4 and the none delayed data is then: firstly the value 4 will appear at the adder from the delay 13• Each of the three separately received pulses to latch 22 will clock the value 4 round the adder 21 and latch 22 loop three times resulting in a final output of 12. An advantage of the Figure 3 system is the reduced number of components. In some cases this reduces the cost. The combination of adder 21 latch 22 and counter 23 forms an accumulator and can be used to form the accumulator 18 of Figure 2. In this case the latch 22 is clocked by STC 2 instead, of a derandomiser output. The correlator of Figure 1 is described as a multichannel correlator. However the channel shown in Figures 2, 3 can be used to form single channel correlators. A correlation can be performed on a signal with one set of alpha and beta values, and then repeated with different alpha, beta values to cover the required tau space. This may be termed multiplexing and is useful on steady signals or those that change only slowly. Alternatively a two channel correlator nay be used, one channel kept wi h set values of T(m), Υ (m) , and the other channel multiplexed with different T(m), 'V ( ) values. This could be useful for example where a spike is expected in a correlation function. The set channel provides a background reading value and the variable channel moved around in tau space until the spike is detected.

Claims: Clai s: 1. A digital processor comprising means (PM1,PM2) for receiving a signal which varies in time forming an input signal (S1, S2), means (2, 3) for sampling the input signal (S1, S2) and providing a series of digital numbers in successive sample time intervals (Tm) ; a plurality (M) of channels ( I ) each having a delay (13) for delaying a series of digital numbers by . a delay value (~) to provide a delayed signal, an arithmetic section (17, or 21, 22, 23) for receiving at one input a digital signal and at another input the delayed signal and an accumulator (18, or 21, 22, 23) for receiving the output of the arithmetic section the channels (41.^) collectively providing a required mathematical operation; characterised by means (19, 11, 12, 15, 16, 13) in each channel (4m) for sampling the input signal to provide a sample time interval (Tm) and a delay value (^E) that are independent of one another and of other channels (4-,- u) • 2. The processor of claim 1 wherein the arithmetic section (17) is a multiplying section whereby the processor is a correlator. 3. The processor of claim 1 wherein the arithmetic section (17) is a difference squarer section whereby the processor is a structurator. 4- The correlator of claim 2 wherein the input signal is a stream of pulses of varying time separation whereby the correlator forms a correlation of a digital signal. 5. The correlator of claim 1 wherein the input signal is an analogue signal with a time varying amplitude whereby the correlator forms a correlation of an analogue signal. 6. The correlator of claim 2 wherein the pluralitjr of channels (4m) is provided by a plurality of similar channels operating simultaneously on data. 7- The correlator of claim 2 wherein the pluralit; of channels (4) is provided by at least one channel (4m) with means for time multiplexing said channel to cover the required values of tau scace. 8. The correlator of claim 7 wherein one channel is set to one value of sample time and delay value tau, and another channel is time multiplexed to cover a range of sample time (Tm) and delay time ("=m). « The correlator of claim 2 wherein the arithmetic section includes a multi-bit multiplier (17)- 10. The correlator of claim 2 wherein the arithmetic section includes a fast adder (21, 22, 23) for multiplying delayed data with non- delayed data by repeated additions w hin each sample time. 11. The correlator of claim 2 wherein each channel has a sample time clock with two outputs (STC1 , STC2) of identical frequency but different phase, the frequency determining the sample time (T ) and the phase difference determining the delay ( * ΪΠ).

Inventors: JOHNSON MARTIN, JONES ROBIN, JOHNSON, MARTIN, JONES, ROBIN
Applicants: SECR DEFENCE BRIT, THE SECRETARY OF STATE FOR DEFENCE IN HER BRITANNI
Application year: 1987
Main classification: G06F15
IPC codes: G06F17