FIELD OF THE INVENTION 
     This invention relates to the processing of signals from a frequency agile radar receiver, more particularly but not exclusively processing having the object of detecting targets within a surveyed scene. The invention also relates to a signal processor system which is adapted for carrying out the process of spectral decomposition of a series of variables, this process forming the subject of our patent application EP 0259143A. 
     The processing of radar signals may include taking a group of successive signal samples and testing them as a group for some property. When a new sample arrives, it and all but the oldest of the previously tested group are tested, and so on. Successive time samples of a frequency agile radar return are associated with respective different frequencies and, in order to make a test, the processor will require the samples in a frequency ordered manner. Thus, one object of the invention is to provide a means for calling up stored frequency agile radar signal samples in a frequency ordered manner without the complex software-based sorting or indexed addressing modes which this normally involves. 
     SUMMARY OF THE INVENTION 
     According to one aspect of the invention, there is provided a signal processing system for collecting and outputting samples of a frequency agile radar receiver signal, the system comprising a memory having a number of sample storage locations one greater than the number of samples to be operated upon at any one time, instruction signal supply means for controlling the writing of new samples into said memory and the reading of samples from the memory, store means for storing a table relating frequency relative address instructions to physical location addresses of said memory and counter means connected to the address input of said store means, said instruction signal supply means being also connected to said address input of the store means and the output of the store means being connected to the address input of the memory. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Further aspects of the invention will appear from the following description. 
     For a better understanding of the invention, reference will be made, by way of example, to the accompanying drawings, in which: 
     FIG. 1 is a diagram showing a series of successive signal samples from a radar receiver. 
     FIG. 2 is a simplified diagram of a system for processing the FIG. 1 samples. 
     FIG. 3 is a table for illustrating the operation of the FIG. 2 system, and 
     FIG. 4 is a simplified diagram of a spectral decomposition processor. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     To explain the operation of the invention, say that a frequency agile radar receiver produces a sequence of return signal samples P xy  as shown in FIG. 1, each sample being taken whilst the radar transmission/reception frequency is at one of three values f 1 , f 2  and f 3 . The samples are frequency ordered, i.e. starting at time t 0 , sample p 11  at frequency f 1  is received, then sample p 21  at frequency f 2  is received, then sample p 31  at frequency f 3 , then sample p 12  at frequency f 1  (the second sample at this frequency) and so on. Meanwhile, in a computer, each new sample along with the two preceding samples are to be tested as a combination to see if that combination represents a target. Thus, if the first test is to be made using the samples p 11 , p 21  and p 31 , the second test is made on samples p 21  p 31  and p 12 , the third on samples p 31 , p 12  and p 22  and so on. To permit such testing the samples are stored. Meanwhile, for each test, the computer will require to know to which of the frequencies f 1 , f 2  and f 3  the samples relate--for example, the computer may need to read the three samples of the tested combination in frequency order which only occasionally corresponds to time sample order. Thus, for the first test noted above the time sample order does correspond to frequency order and the samples can be read in the given sequence p 11 , p 21 , p 31 . For the next test however, the newest of the three samples p 12  is read first, then the ante-penultimate and then the penultimate of the three samples. For the third test, the penultimate one of the three samples is to be read first, then the newest and then the ante-penultimate. 
     As mentioned earlier, the above requirements could be achieved by a process of software sorting the samples whilst they are held in store or by making use of indexed addressing of the store. Each of these processes involve a considerable time overhead. 
     In FIG. 2, a series of samples from a frequency agile radar receiver (not shown) is received along data bus 1 and written into a random access memory 2 having a capacity to hold p+1 samples, for each frequency agile radar signal received, where p is the number of samples taken for each test. Thus, assuming that the testing is to be as described above with reference to FIG. 1 (this assumption will be made for the purpose of the following description), the memory 2 will have four locations as shown. 
     A device 3 makes available on bus 4 a sequence of multiple-bit instructions of which the address parts are fed to each of the address inputs of a read only memory 5 and to one input of a multiplexer 6. By way of example, device 3 could be a read-only memory driven by a program counter (not shown) or an instruction register forming part of a central processor unit. Also applied to the address input of memory 5 is the output of a counter 7. The data output of memory 5 is connected to the other input of multiplexer 6, the output of this multiplexer being applied to the address input of memory 2. Bus 4 includes some control lines which are applied to the multiplexer 6 to control whether it passes the output of memory 5 or the address part of the instructions on bus 4 onto the memory 2. Control lines of bus 4 are also connected direct to memory 2 to pass read/write control signals thereto. Data is read out of memory 2 onto output bus 8. 
     In functional terms, for the process of writing the samples arriving along bus 1 into memory 2, the memory is operated as a circular buffer memory--namely, as shown in the table of FIG. 3, the receiver samples are written to respective locations of the memory one after another in repetitive sequence so that sample p 11  is written to location 4, p 21  to location 1, p 31  to location 2, p 12  to location 3, p 22  to location 4 (overwriting sample p 11 ) and so on. Meanwhile, read out from the memory is from the other three locations. Thus, while sample p 11  is being received (t 0  -t 1 ), sample p 10  is read out from location 1, then p 20  is read from location 2 and then p 30  is read from location 3. During time t 1  -t 2 , while sample p 21  is being received, sample p 11  is read out from location 4, then p 20  and p 30  are read one after another from locations 2 and 3 as before. The sequence continues as shown in FIG. 3 until time t 12  when it starts to repeat itself. 
     The writing to and reading from memory 2 are commanded by the device 3 but, at least while the multiplexer 6 is operative to connect the output of memory 5 through to memory 2, the instructions from device 3 contain `frequency-relative` addresses, i.e. each of these instructions simply calls for a write of the newly arrived sample into memory 2 or reading from that memory of the f 1 , f 2  or f 3  sample as the case may be. These instructions, along with the output from counter 7, address the memory 5 which contains a look-up table of the physical addresses at which the new sample is to be written and at which the f 1 , f 2  and f 3  sample are to be read for each sample time period. Thus, the content of the look-up table corresponds to that of the 7th to 10th columns of FIG. 3. Meanwhile, counter 7 is incremented by one for each sample time period and counts repetitively between limits separated by one cycle of the read address sequence shown in FIG. 3, e.g. it may count repetitively from 0 to 11. Counter 7 addresses one dimension of the look-up table in memory 5, i.e. the rows of the table in FIG. 3, while the signals from device 3 address the other dimension, i.e. the columns of FIG. 3. Thus, during time t 0  -t 1 , a write new sample instruction from device 3 causes memory 5 to address location 4 of memory 2 while read f 1 , f 2  and f 3  instructions cause address signals 1, 2 and 3 respectively to be outputted from memory 5 to memory 2. During time t 1  -t 2  on the other hand, the write address from memory 5 is location 1 of memory 2 while the read f 1 , f 2  and f 3  addresses are locations 4, 2 and 3 respectively. 
     As will be appreciated, the processing device of FIG. 2 could and normally would form part of a computer which carries out other functions as well as just the reception, ordering and read-out of the samples. Such a computer will comprise various devices (not shown) for processing the sample before and/or after the ordering and read-out from memory 2 and these devices will be connected to all or respective parts of the bus 4. 
     It will be appreciated also that it is not essential that the write and read sequence given in the right-hand column of FIG. 3 be followed. In general terms, sometime during each sample period, the sample then arriving is written into the memory 2 while the f 1 , f 2  and f 3  samples are read. However, such reading could be done more than once and not necessarily in the same order every time. It is still the case that the device 3 only has to denote the frequency of the sample it wants to read--the physical addressing of memory 2 being done by memory 5 and being entirely transparent to device 3. 
     Direct addressing of the memory 2 from device 3 may sometimes be desirable, particularly if the illustrated device forms part of a computer system which also carries out further processing of the samples in which case, of course, the memory 2 may comprise only a part of a much larger system memory. The multiplexer 6 allows such direct addressing--on command from the device 3, it is simply switched over as and when required so as to connect bus 4 direct to memory 2 and to disconnect therefrom the output of memory 5. 
     Finally, it will be appreciated that the described test group each comprising three samples of a single discriminant are given only by way of example. There may be more samples in each group and/or there may be more than one discriminant, e.g., a group might contain several samples of each of the amplitude, phase and polarisation of the radar return. 
     An example of an overall computer processor system is shown in FIG. 4, the function of this system being to carry out `spectral decomposition`, i.e. taking a group of variables and combining them with pre-calculated spectral decomposition vectors (SD vectors) of the group so as to form a new set of variables as disclosed in our patent application no. 8621200. The new set may contain fewer variables than the first and yet comprise as much as is required of the information in the first. This can achieve better efficiency for a multi-dimensional target look-up table system. Say that a group comprising three successive samples of each of three discriminants, namely the phase p, polarisation factor k and amplitude r (amplitude corresponds to a parameter called the radar cross-section or RCS) of a radar return, is to be decomposed to form a group of five variables d 1  to d 5 , which can be used to address a five-dimensional look-up table to see whether or not the return incorporates the `signature` of a possible target. Then the processing to be performed is: 
     d 1  =e 1  k 1  +e 2  p 1  +e 3  r 1  +e 4  k 2  +e 5  p 2  +e 6  r 2  +e 7  k 3  +e 8  p 3  +e 9  r 3   
     d 2  =f 1  k 1  +f 2  p 1  +f 3  r 1  +f 4  k 2  +f 5  p 2  +f 6  r 2  +f 7  k 3  +f 8  p 3  +f 9  r 3   
     d 3  =g 1  k 1  +g 2  p 1  +g 3  r 1  +g 4  k 2  +g 5  p 2  +g 6  r 2  +g 7  k 3  +g 8  p 3  +g 9  r 3   
     d 4  =h 1  k 1  +h 2  p 1  +h 3  r 1  +h 4  k 2  +h 5  p 2  +h 6  r 2  +h 7  k 3  +h 8  p 3  +h 9  r 3   
     d 5  =j 1  k+j 2  p 1  +j 3  r 1  +j 4  k 2  +j 5  p 2  +j 6  r 2  +j 7  k 3  +j 8  p 3  +j 9  r 3   
     Where constants e q  to j q  are the qth elements of SD vectors 1 to 5 respectively of the original group. As discussed in patent application no. 8621200, the constants can be pre-calculated on the basis of experimental data. Thus, each of the variables d 1  to d 5  is formed by summing the original nine variables after they have been multiplied by respective constants, the constants being different for different ones of the output variables d 1  to d 5 . In addition to these calculations, the processor carries out certain pre-processing functions on the received samples as will be seen. 
     The particular operation that the system is carrying out at any particular time is determined by the instruction then being read out of programmable read-only memory 40, which memory is addressed by program counter 41. Each instruction in memory 40 comprises an instruction code part together with an operand eg one of the multiplier constants e g  to j q . 
     The samples are received from the radar receiver along bus 42 and amplitude (RCS) samples are passed via multiplexer 43 to the address inputs of programmable read only memory 44. Memory 44 contains three look-up tables one of which is operative to convert each amplitude sample to its logarithm value. The logarithm values are loaded into random access memory 45 along with the polarisation factor and phase samples which are received from the bus direct. 
     As noted, the instructions read out from memory 40 control the operability of the system and this includes say the operation of the multiplexer 43. However, to simplify FIG. 4, while the data flow paths are shown, only some of the control paths are--for example, in practice, multiplexer 43 would be connected to receive at least part of the instructions from memory 40 but the connections for this are not shown. 
     The successive samples of each of the three discriminants p, k and r are written into successive locations in respective ones of three circular buffers, ie one for each discriminant, funtionally defined within memory 45. The writing and reading out of the samples of each discriminant is carried out as described with reference to FIGS. 1 to 3. Thus the system includes a counter 7, read-only memory 5 and multiplexer 6 like the correspondingly numbered items of FIG. 2 except that, of course, the look-up table in memory 5 is extended to allow for the three discriminants now being handled. 
     The samples are read out of memory 45 in succession to a multiplier 46 which also receives from the instruction memory 40 the appropriate one of the constants e q  to j q  by which the sample is to be multiplied. The constants are of course pre-entered into memory 40 as the operand parts of appropriate instructions. Each product formed by multiplier 46 is passed to one input of an adder 47 of which the other input is supplied with the content of an accumulator register 48, the sum so formed being then used to update the content of register 48. The system can be arranged so that the multiplication and accumulation operations are pipelined, ie so that although a complete operation takes two clock cycles, the multiplication can be occurring in relation to one sample while the next preceding product is being accumulated and the accumulator register 48 hence receives a new sum every clock cycle. 
     When the accumulator 48 holds the complete variable ie when it has summed all the products making up that one of the variables d 1  to d 5  which is being formed at the time, the variable is fed via the multiplexer 43 to the memory 44 where it addresses a second look up table therein. The reason for this is that the summed variable may have a value anywhere within an overall range and hence has to be `quantized` to form a discrete address for the relevant dimension of the target look-up table. The generation of the discrete address is done by the second look-up table in memory 44. The address read from memory 44 is loaded into a second accumulator register 48. 
     The multi-dimensional target look-up table is also held in memory 44. It contains pre-entered, experimentally determined values indicating the probability that respective combination of values of the variables d 1  to d 5  represent a target. When all the variables d 1  to d 5  have been calculated and loaded into register 49, the contents of that register are passed via multiplexer 43 to the memory 44 and there addresses the target look-up table. The resulting probability value is loaded into memory 45 along with previously formed such values whereupon the computer system can look at the values together to identify target indicative patterns (this process being called `plot extraction`). For this process, the instructions in memory 40 will address the memory directly and this can be done by appropriate operation of the multiplexer 6 as described earlier. Instead of containing probability values, the target look-up table in memory 44 could contain simple `target` signals. Particularly in this case (since it is likely then that the process of plot extraction would be less helpful) but also in the case where the table contains probability values, the target look-up table output could be taken off from the output of memory 44 direct to some further apparatus (not shown) rather than being written into memory 45. 
     As with the FIG. 2 apparatus, the nature of the discriminants processed by the FIG. 4 system and the number of samples in each test group are a matter of design choice. Thus, the system may be required to process samples received from a series of range channels of the radar receiver in which case further processing to achieve what is called `beam correction` may be required, ie., to allow for the varying antenna gain each side of the radar beam axis. For this, the parts 50 to 53 may be added. These include a range gate latch 50 for holding the number of the range channel being processed, a memory 51, a summing device 52 and buffer 53. Memory 51 is addressed by latch 50, a beam elevation signal E from the radar, and a frequency/time sample indicative output from memory 5 so as to output an appropriate beam correction factor B which, if the sample being processed is an amplitude sample, is added to the sample before it enters the multiplier 46. Samples of other discriminants are passed to multiplier 46 via buffer 53.
A signal processing system for collecting and outputting samples of a signal; in which the system has a memory into which the samples are written such that when the memory is read the samples are read sequentially and always in the same frequency order, irrespective of the arrival sequence of the different frequencies.