WO2006048676A1 - A method and apparatus for correlating data sequences - Google Patents

A method and apparatus for correlating data sequences Download PDF

Info

Publication number
WO2006048676A1
WO2006048676A1 PCT/GB2005/004291 GB2005004291W WO2006048676A1 WO 2006048676 A1 WO2006048676 A1 WO 2006048676A1 GB 2005004291 W GB2005004291 W GB 2005004291W WO 2006048676 A1 WO2006048676 A1 WO 2006048676A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
correlation
residue
correlator
accumulated
Prior art date
Application number
PCT/GB2005/004291
Other languages
French (fr)
Inventor
Christopher Turrall Clarke
Original Assignee
University Of Bath
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 University Of Bath filed Critical University Of Bath
Publication of WO2006048676A1 publication Critical patent/WO2006048676A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related

Definitions

  • the invention relates to a method and apparatus for correlating data sequences.
  • GPS global positioning systems
  • a receiver determines its position based on signals received from at least three satellites. The receiver knows the position of each satellite and, by processing the received signal from the respective satellites to establish the respective distances can determine its exact own position.
  • the signal from each satellite comprises a unique and identifiable binary pseudo-random data set or sequence with a length of 1023 bits .
  • the sequences are created using Linear Feedback Shift Registers (LFSRs).
  • LFSRs Linear Feedback Shift Registers
  • Correlation is a technique used in many applications such as radar, positioning systems and communications. If we assume we have two sequences X and Y of length M and N symbols respectively:
  • Y is a continuous repeating pattern (shorter than X) and X is an input to the system containing noise and a delayed, attenuated copy of Y.
  • X is an input to the system containing noise and a delayed, attenuated copy of Y.
  • the cross correlation C of X and Y is defined as:
  • the cross correlation C is used to find the value of i for the highest value of c,- and the other values are discarded.
  • This value i indicates relative sequence phase and hence the time delay of the received signal. This is appropriate since the value c,- is a representation of the quality of the match between X and Y for Y delayed by i. As the sequence length is often quite long this implies a high computational complexity as each value c,- must be evaluated.
  • Fig. 1 is a general diagram showing a GPS position determination technique
  • Fig. 2 shows a simplified bit correlation technique
  • Fig. 3 is a schematic diagram of a correlator stage
  • Fig. 4 is a schematic diagram of multiple tiled correlator stages
  • Fig. 5 is a schematic diagram of a residue correlator according to the present invention.
  • Fig. 6 shows an audio application of the invention
  • Fig. 7 shows a method of residue image creation
  • Fig. 8 shows residue image peak position combination to acquire the cross- correlation peak position for the correlated portions of the source images.
  • a GPS receiver designated generally 10 receives signals from a plurality of GPS satellites 20, 30, 40, 50 each sending a respective signal 22, 32, 42, 52 which can be used to establish a distance d 1? d 2 , d 3 , U 4 between the receiver 10 and the respective satellite.
  • the receiver 10 establishes the distance between it and each satellite, d l5 d 2 , d 3 , d 4 , by examining the signal delay from each satellite by applying correlation techniques as set out in equations 1 to 3 above. From this information, as is well known, the receiver is able to establish its exact position.
  • Fig. 2 shows a simplified correlation technique for the purposes of explanation — it will be appreciated that in reality the code sequence lengths and approaches are significantly more complex.
  • a code Y ⁇ 0, 1, 0, 1, 1 ⁇ is generated at a receiver corresponding to the code X received from a satellite.
  • the received code, X includes Y and it is necessary to find Y's phase within X to determine the time delay and hence distance.
  • the code Y is aligned with each possible position along the code X as can be seen from the figure with Y successively delayed by 0 to 3 units. In each case the sum of the products of aligned elements is computed to find the correlation co-efficient as set out in equation 3.
  • the present invention recognises that the correlator output can be shortened and still contain enough information to allow the correlation peak to be determined.
  • the peak correlation position i is the value of interest it is possible to use two or more shorter slightly modified correlators ("residue correlators") in which an input is accumulated modulo the length of the correlator to perform the same function as a full length correlator.
  • a residue correlator is a correlator in which the output is shortened to produce a residue correlation D of length P values such that:
  • the first element of D in equation 4 is the sum or accumulation of the first element and each subsequent P th element in cross-correlation C
  • the second element of D is the sum of the second element in C and each subsequent P ⁇ element and so forth such that D 1 , for a first residue correlator, is given by:
  • one of the elements of D] will have the correlation peak C; in it but more information is required to find where within the element d the correlation peak lies.
  • the correlation peak could be any of C 0 , c P , c 2P etc.
  • the exercise is repeated for a different residue correlation summing, for example, every R th element of c giving:
  • a residue correlator can be created by using a conventional correlator with summing feedback on one sequence to form an accumulated sequence Y acc since:
  • each element of D can be mathematically derived by correlating each element of X with the accumulated P th , (P+l) th and so forth elements of Y.
  • an approximation C of the correlation C may be created by combining the residue correlations for each position in C .
  • the value of c f ' is a function of the residue correlator values that the value c; is accumulated into according to equation 4.
  • the function f( ) may be a product, scaled product, root-mean-square, addition, root- sum-square, or many other functions each of which have slightly different characteristics that may be desirable in a particular application.
  • the value z cmax is found by finding the peak in C by a search (sequential or otherwise) through the values C 4 '.
  • any appropriate numerical technique can be adopted for solving for i cmax , that the number and size of residue correlators adopted can be selected in any appropriate manner and that any appropriate subset of the data element of the sequence can be accumulated.
  • the simplest form of residue number system that can be applied in this way is a two residue system.
  • the lengths of the residue correlators are chosen such that the lengths are relatively prime and the product of those lengths is greater than or equal to the length of the correlator required.
  • the peak value c ⁇ in C will give a phase position i of Y in X.
  • redundancy exists. This redundancy may be used to detect an incorrect peak or provide a reliable calculation for the overall peak in the presence of incorrect residue correlator peak values.
  • a suitable method for this Redundant Reverse Conversion is described at http://eprints.ecs.soton.ac.ulc/7134/01/llv-lh-vtcfall-2001-2.pdf.
  • An alternative approach is to use a function that excludes individual erroneous results from a set of possible values returned by a redundant operation such as, but not limited to a median function, and then employ the reverse conversion technique as described previously.
  • GPS correlation techniques may also be applied to the European Galileo satellite positioning system which employs longer data sequences or any future system.
  • the invention can be put into effect in any appropriate manner including hardware, software, firmware and any other appropriate implementation of the relevant algorithms, for example, using VHDL, very high speed integrated circuit hardware description language, to describe the logic circuit constructed according to the invention
  • a conventional correlator stage or "tap" is shown at 200 in Fig. 3 and contains a multiply accumulate section 202, 204, and a clocked register delay, 206, 208 with inputs Xj n , Yj n , and outputs Y out , C out .
  • the configuration of the tap allows a correlator to be produced simply by tiling 1023 taps as shown in Fig. 4.
  • the X and Y inputs and C output have adjustable bit widths.
  • bit X and Y inputs and a 16 bit C output 210 were used.
  • Y in is aligned in successive positions with X in , and C out obtained, Y in being shifted along by virtue of the clocked register of delay 206.
  • the residue correlators are created by adding two feedback paths 300, 302 to the Y input of a conventional correlator having P taps (when every P th value of Y is accumulated) as shown in Fig. 5.
  • the feedback increases the possible range of the values at the Y input of the tap so the Y input in the taps are set to 7 bits. Additional analysis for a given sequence at the input Y will often result in a smaller requirement for the number of Y bits in the taps. This provides a range of approximately 32 times the input to the residue correlator and allows for the summation due to feedback defined in equation (5).
  • the additive feedback 300 via summation section 308 from the end of the correlator combined with the subtracted delayed input 302 through Delay 304 and subtractor 306 makes the input to the correlator stabilise once the input sequence Y has been fed to the residue correlator precisely once.
  • the residue correlator uses the feedback loop 300 to supply a Y data sample (V J ) to the input of each correlator tap delayed by 0, P, 2P units, as a result of the provision of P taps.
  • V J Y data sample
  • the delayed subtraction removes this data sample after the length of the data sequence.
  • the sequence of accumulated values also repeats over the same number of samples (it will also repeat over a shorter number of samples if the sequence length is exactly divisible by the residue correlator length).
  • each correlator tap is correlating the current X input x ; against the accumulated values required to create
  • a conventional correlator architecture would be used.
  • residue correlator i.e. 31, 33
  • two residue correlators can be used of respective lengths.
  • specific components used can be any appropriate integrated or other circuit elements such as programmable gate arrays, or field programmable gate arrays.
  • residue correlators of the type described can be used to reduce the hardware requirement of a system that would normally use a conventional correlator such as GPS 5 and to enable the use of very long sequences.
  • residue correlators of lengths 511 and 513 giving the ability to continuously correlate against a 262143 symbol sequence. This would not be practical using a conventional correlator.
  • both data sequences could be accumulated in some circumstances.
  • any appropriate data correlation implementation such as a data communication or processing implementation, for example Ultra Wide Band communications, Radar or Sonar (for navigation, location of objects or remote sensing), positioning systems other than GPS 5 as well as wired communications, or data storage synchronisation signals on data storage media such as on disk or tapes, for multi-dimensional data sets, and by accumulating multiple sets for correlation against one another.
  • a data communication or processing implementation for example Ultra Wide Band communications, Radar or Sonar (for navigation, location of objects or remote sensing), positioning systems other than GPS 5 as well as wired communications, or data storage synchronisation signals on data storage media such as on disk or tapes, for multi-dimensional data sets, and by accumulating multiple sets for correlation against one another.
  • the invention can be implemented in relation to data sets other than communication data sequences, for example data sets or sequences representing audio, image or video data.
  • signals from an audio source could be detected with a plurality of sensors situated at different locations from the source (eg left, right, centre, up, down) and correlated in order to localise the source or compare against a known good source.
  • the signals from true component speakers could be correlated against signals from a virtual surround system to evaluate how faithful the virtual system is. This method differs from the GPS method in that a "good" local reference signal does not exist. The correlation occurs between two detected signals at different distances from the same audio source.
  • Fig. 6 shows one implementation of the invention where the strength of an audio source 400 is detected by a plurality of sensor inputs 402 separated by a distance d5. Each sensor will detect the audio signal from the same source at a different time. According to the correlator of Fig. 5, after conversion to the digital domain, the first signal is presented at the X input and the delayed signal presented at the Y input for correlation as described above.
  • the correlation will be high as the SNR will be high. If the signal is weak, the separation between the sensors will cause the SNR to drop a significant amount thus affecting the correlation result. The degree of correlation therefore indicates signal strength.
  • a further application could be in the field of astronomy where the signals to be detected are electromagnetic waves requiring radio antennas for the detection means as opposed to microphones for sound waves as described above.
  • each separate source image 500, 502 to be correlated are split into equal sized tiles 504 of any size and tessellating shape (the image can be padded usually with an average pixel value to make each source image dimension an integer multiple of the chosen tile size) and combined (usually but not limited to addition, possibly including normalisation).
  • the tile dimensions are PxP, for example, each individual element of the residual image is therefore a combination of the first element in that position and each subsequent Pth element of the original (in both the X and Y directions). This is repeated for different tile sizes 508 with each image in order to produce other residue images 510.
  • each residue correlator can be calculated by accumulating each element (i.e. adding the tiles together) and then correlating.
  • each peak For each correlated residue image pair, we calculate one peak per line of the residue image (X-direction) and one peak per column of the residue image (Y- direction). Each peak identifies the element of the residue correlator in which the real peak lies, but not the exact peak at this stage.
  • residue reverse conversion techniques such as but not limited to the Chinese Remainder Theorem or Redundant Reverse conversion
  • the resolution of the actual image may be far greater than that of Fig 8.
  • both dimensions of all sources are reduced by the residue image creation process, however, this technique may be applied to the instance when only one of the source images is reduced.
  • residue techniques may be applied in only one dimension of a source leaving the other dimension unchanged such that, for a source image of dimension XxY, N tiles, say, in the X dimension are formed each of dimension X/N x Y.
  • the dimension reduced may also be inconsistent throughout the source images or residue image sets.
  • redundant residue techniques as previously described may be applied providing robustness to erroneous peak detection.
  • correlation techniques may be employed for motion detection purposes in order to compress the video stream.
  • the source images for correlation are the individual video frames with smaller sets of correlations being employed across a plurality of frames.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

A method is described of correlating a first and second data steps, each comprising a sequence of data elements. The method comprises accumulating a first plurality of subsets of data elements of the first set to form a first accumulated set and correlating the first accumulated with the second set to obtain a first residual correlation. The data sets may comprise, for example, GPS distance signals between a plurality of GPS satellite (20, 30, 40, 50) and a receiver (10).

Description

A METHOD AND APPARATUS FOR CORRELATING DATA
SEQUENCES
The invention relates to a method and apparatus for correlating data sequences.
Correlation of data sequences has multiple applications for example in global positioning systems (GPS). In GPS a receiver determines its position based on signals received from at least three satellites. The receiver knows the position of each satellite and, by processing the received signal from the respective satellites to establish the respective distances can determine its exact own position. The signal from each satellite comprises a unique and identifiable binary pseudo-random data set or sequence with a length of 1023 bits . In the case of GPS the sequences are created using Linear Feedback Shift Registers (LFSRs). The sequences are of a length N = 2b -1 where b is an integer (the number of bits in the LFSR) and in many cases also an even number (10 in the case of GPS). To establish its distance from a satellite from which a signal is received the receiver determines the time delay in the received sequence signal by comparison with an internally simultaneously generated identical sequence.
In conventional approaches this comparison is carried out using correlation techniques. Correlation is a technique used in many applications such as radar, positioning systems and communications. If we assume we have two sequences X and Y of length M and N symbols respectively:
Figure imgf000002_0001
Y is a continuous repeating pattern (shorter than X) and X is an input to the system containing noise and a delayed, attenuated copy of Y. We are attempting to locate the phase of Y in X. In other words we wish to find the delay to apply to Y that gives it the best match with X. The cross correlation C of X and Y is defined as:
Af-I
C = (C0-C1-C-..., cN_λ } where c, = ∑ x} ^ (3)
7=0
In such an application, the cross correlation C is used to find the value of i for the highest value of c,- and the other values are discarded. This value i indicates relative sequence phase and hence the time delay of the received signal. This is appropriate since the value c,- is a representation of the quality of the match between X and Y for Y delayed by i. As the sequence length is often quite long this implies a high computational complexity as each value c,- must be evaluated.
In the case specifically of GPS a further problem is that processing can take a long time because of the requirement to have correlators for every satellite (30 or so) and every possible delay (1023) would be too expensive, so hardware is reused many times to search for the satellites. Thus it can take an undesirably long time to acquire a GPS position.
One known approach to improving correlation techniques is described in
GB 1528859 in which three different bit sequence frequencies are applied sequentially to a bit code and correlation peaks for resolving range-velocity ambiguity are determined by a range ambiguity processor in conjunction with the known code word slippage rate. However the approach requires a large amount of hardware and is time-consuming.
A further known approach is described in US4041284 in which a digital input signal is converted into an analog modulo integer which is then correlated and converted back to a digital signal.
The invention is set out in the claims.
Embodiments of the invention will now be described, with reference to the drawings, of which:
Fig. 1 is a general diagram showing a GPS position determination technique; Fig. 2 shows a simplified bit correlation technique; Fig. 3 is a schematic diagram of a correlator stage;
Fig. 4 is a schematic diagram of multiple tiled correlator stages;
Fig. 5 is a schematic diagram of a residue correlator according to the present invention;
Fig. 6 shows an audio application of the invention; Fig. 7 shows a method of residue image creation;
Fig. 8 shows residue image peak position combination to acquire the cross- correlation peak position for the correlated portions of the source images.
Referring firstly to Fig. 1 a GPS receiver designated generally 10 receives signals from a plurality of GPS satellites 20, 30, 40, 50 each sending a respective signal 22, 32, 42, 52 which can be used to establish a distance d1? d2, d3, U4 between the receiver 10 and the respective satellite. As described above, in known arrangements the receiver 10 establishes the distance between it and each satellite, dl5 d2, d3, d4, by examining the signal delay from each satellite by applying correlation techniques as set out in equations 1 to 3 above. From this information, as is well known, the receiver is able to establish its exact position.
Fig. 2 shows a simplified correlation technique for the purposes of explanation — it will be appreciated that in reality the code sequence lengths and approaches are significantly more complex. Referring to Fig. 2 a code Y {0, 1, 0, 1, 1} is generated at a receiver corresponding to the code X received from a satellite. The received code, X includes Y and it is necessary to find Y's phase within X to determine the time delay and hence distance. Accordingly the code Y is aligned with each possible position along the code X as can be seen from the figure with Y successively delayed by 0 to 3 units. In each case the sum of the products of aligned elements is computed to find the correlation co-efficient as set out in equation 3. In the present case it can be seen that in the first position the correlation co-efficient C0 sums to 2, at the second position C1 = 1, at the third position y3, C2 = 3 and at the fourth position C3 = 1 Accordingly the correlation peaks at C2 and the phase of Y within X is determined accordingly as being delayed by 2 units.
In order to reduce the computational burden the present invention recognises that the correlator output can be shortened and still contain enough information to allow the correlation peak to be determined. In particular, where the peak correlation position i is the value of interest it is possible to use two or more shorter slightly modified correlators ("residue correlators") in which an input is accumulated modulo the length of the correlator to perform the same function as a full length correlator.
A residue correlator is a correlator in which the output is shortened to produce a residue correlation D of length P values such that:
D =
Figure imgf000006_0001
where dk = ∑ck+ι.p (4)
In other words the first element of D in equation 4 is the sum or accumulation of the first element and each subsequent Pth element in cross-correlation C, the second element of D is the sum of the second element in C and each subsequent PΛ element and so forth such that D1, for a first residue correlator, is given by:
A = {(C0 + CP + C2P +-)>(C1 + CP+1 + C2P+1"4 } (5)
As a result it will be seen that one of the elements of D] will have the correlation peak C; in it but more information is required to find where within the element d the correlation peak lies. For example if it is in d0 the correlation peak could be any of C0, cP, c2P etc. As described in more detail below, therefore, the exercise is repeated for a different residue correlation summing, for example, every Rth element of c giving:
D2 = {(c0 +cR +c2R +...),(c, +cΛ+1 +c2R+l +...). } (6) Then it is possible to find q, the correlation peak within C, from identifying and processing both residue correlation peaks k max i.e. the value of k for which the first residue correlator output value is at its maximum, and kdi max as set out below.
A residue correlator can be created by using a conventional correlator with summing feedback on one sequence to form an accumulated sequence Yacc since:
Figure imgf000007_0001
Accordingly it can be seen that each element of D can be mathematically derived by correlating each element of X with the accumulated Pth, (P+l)th and so forth elements of Y.
If the peak in the correlation C of X and Yacc is sufficiently distinct, the position of the peak kdmax in the residue correlation D of length P will be related to the position of the peak zcmax in the correlation C by the equation:
K^ = ieπ«κ -I -P = KrJp where lm integer in the range 0 to [N/p\- 1 (8)
As discussed above, for a single residue correlator, the value of z' cmax cannot be determined from kdmax since / is not known. However, if more than one residue correlator Dr is applied to a single input pair X and Y where the lengths of the residue correlators Pr are not equal, it is possible to view the peak residue correlator positions kd ^x as the residues modulo Pr in a residue number system.
If the range of the number system created by the moduli Vr is at least 0 to N-I, conventional residue number system reverse conversion techniques (one of which is the Chinese Remainder Theorem as will be well known to the skilled reader and described at http://mathworld.wolfram.com/ChineseRemainderTheorem.html, although many other well known methods exist that are equally appropriate) can be used to solve equation (8) and establish zcmax from the set of residue correlations Dr .
For example according to one approach, particularly for GPS implementations, in order to establish icmax from the set of peak positions &rf max 5 regardless of whether or not the correlator lengths are relatively prime an approximation C of the correlation C may be created by combining the residue correlations for each position in C . In this case:
ci ~ f\ dx ,d2 , and so on for all residue correlator outputs (9)
that is to say, referring to equation (4) to (6)
c< = f(( dχ , d2o ), and so forth ] (10)
In other words, the value of cf' is a function of the residue correlator values that the value c; is accumulated into according to equation 4. In this equation, the function f( ) may be a product, scaled product, root-mean-square, addition, root- sum-square, or many other functions each of which have slightly different characteristics that may be desirable in a particular application. The value zcmax is found by finding the peak in C by a search (sequential or otherwise) through the values C4'.
It will be appreciated that any appropriate numerical technique can be adopted for solving for icmax, that the number and size of residue correlators adopted can be selected in any appropriate manner and that any appropriate subset of the data element of the sequence can be accumulated. However it is found that the simplest form of residue number system that can be applied in this way is a two residue system. The lengths of the residue correlators are chosen such that the lengths are relatively prime and the product of those lengths is greater than or equal to the length of the correlator required. A special case exists for such systems where the Y sequence is of length N = 2b - 1 and h is an even integer.
In this case a special choice of moduli
Figure imgf000009_0002
-1 and
Figure imgf000009_0001
+1) exists since:
Figure imgf000009_0003
As the code bit sequence in GPS technology is of length (2b - 1) = 1023, b = 10, a 2 residue correlator approach is particularly appropriate in GPS correlation techniques. In this case a preferred function to be applied to equation (9) is a simple product function to give:
C= ( -) (12)
In that case the peak value c{ in C will give a phase position i of Y in X. Where the number of residue correlators chosen exceeds the number required for the full range of possible outputs, redundancy exists. This redundancy may be used to detect an incorrect peak or provide a reliable calculation for the overall peak in the presence of incorrect residue correlator peak values. A suitable method for this Redundant Reverse Conversion is described at http://eprints.ecs.soton.ac.ulc/7134/01/llv-lh-vtcfall-2001-2.pdf. An alternative approach is to use a function that excludes individual erroneous results from a set of possible values returned by a redundant operation such as, but not limited to a median function, and then employ the reverse conversion technique as described previously.
It should be understood that the above mentioned GPS correlation techniques may also be applied to the European Galileo satellite positioning system which employs longer data sequences or any future system.
The invention can be put into effect in any appropriate manner including hardware, software, firmware and any other appropriate implementation of the relevant algorithms, for example, using VHDL, very high speed integrated circuit hardware description language, to describe the logic circuit constructed according to the invention
To demonstrate the approach described above, the hardware block components required for a residue correlator pair, suitable for correlation of the pseudo random data sequences generated in a GPS CA (coarse acquisition) code transmission for implementing the correlation approach described above with reference to equation (7) and provide values of kdmaκ allowing equation (8) to be solved are shown schematically. This data sequence is generated using a 10 bit LFSR. For the simplest implementation, the residue correlators D1 and D2 have lengths P1 = 31 and P2 = 33.
A conventional correlator stage or "tap" is shown at 200 in Fig. 3 and contains a multiply accumulate section 202, 204, and a clocked register delay, 206, 208 with inputs Xjn, Yjn, and outputs Yout, Cout.
The configuration of the tap allows a correlator to be produced simply by tiling 1023 taps as shown in Fig. 4. In this schematic implementation, the X and Y inputs and C output have adjustable bit widths. For the conventional correlator 2 bit X and Y inputs and a 16 bit C output 210 were used. According to the arrangement shown, Yin is aligned in successive positions with Xin, and Cout obtained, Yin being shifted along by virtue of the clocked register of delay 206.
Accordingly it can be seen that the product of aligned elements of Y and X are summed in the first position of Y at the first tap 212 to give the first correlation co-efficient C0, the input is delayed and clocked through to the second tap 214 so that Y is shifted and correlated against X again to give the second correlation co-efficient and so forth until C is obtained.
According to an embodiment of the invention the residue correlators are created by adding two feedback paths 300, 302 to the Y input of a conventional correlator having P taps (when every Pth value of Y is accumulated) as shown in Fig. 5. The feedback increases the possible range of the values at the Y input of the tap so the Y input in the taps are set to 7 bits. Additional analysis for a given sequence at the input Y will often result in a smaller requirement for the number of Y bits in the taps. This provides a range of approximately 32 times the input to the residue correlator and allows for the summation due to feedback defined in equation (5).
The additive feedback 300 via summation section 308 from the end of the correlator combined with the subtracted delayed input 302 through Delay 304 and subtractor 306 makes the input to the correlator stabilise once the input sequence Y has been fed to the residue correlator precisely once.
The residue correlator uses the feedback loop 300 to supply a Y data sample (VJ) to the input of each correlator tap delayed by 0, P, 2P units, as a result of the provision of P taps. The delayed subtraction removes this data sample after the length of the data sequence. As long as the Y input sequence repeats exactly, the sequence of accumulated values also repeats over the same number of samples (it will also repeat over a shorter number of samples if the sequence length is exactly divisible by the residue correlator length). At any given time, each correlator tap is correlating the current X input x; against the accumulated values required to create
Figure imgf000012_0001
appropriate for that correlator tap at that time.
As an alternative to the use of feedback paths in a correlator as described with reference to Fig. 5, in an alternative implementation, further hardware savings could be obtained by pre-calculating the sequence of input values to create a new sequence 7' such that:
Figure imgf000013_0001
This new sequence can be used as a new input sequence where t = j -k in equation 7. In this case a conventional correlator architecture would be used.
In either case the same hardware can be re-used, switching it between respective lengths of residue correlator (i.e. 31, 33), or two residue correlators can be used of respective lengths. It will be appreciated that the specific components used can be any appropriate integrated or other circuit elements such as programmable gate arrays, or field programmable gate arrays.
It will be seen that the invention gives rise to various advantages. A simplified correlation procedure is provided allowing faster GPS acquisition and/or reduced cost of manufacture of the chip hardware used in the device. The new technique clearly has applicability in many other areas of communications and other positioning systems and indeed in any areas where correlation of data sequences is desirable. It is currently believed that the performance in terms of speed of existing GPS systems can be enhanced by up to approximately 8 times using the technology described herein
It will be appreciated further that many embodiments of the invention can be implemented. For example residue correlators of the type described can be used to reduce the hardware requirement of a system that would normally use a conventional correlator such as GPS5 and to enable the use of very long sequences. For example, it would be entirely feasible to create a design with residue correlators of lengths 511 and 513 giving the ability to continuously correlate against a 262143 symbol sequence. This would not be practical using a conventional correlator. Furthermore both data sequences could be accumulated in some circumstances.
It will be appreciated that the techniques described can be used in conjunction with any appropriate data correlation implementation such as a data communication or processing implementation, for example Ultra Wide Band communications, Radar or Sonar (for navigation, location of objects or remote sensing), positioning systems other than GPS5 as well as wired communications, or data storage synchronisation signals on data storage media such as on disk or tapes, for multi-dimensional data sets, and by accumulating multiple sets for correlation against one another.
In addition, the invention can be implemented in relation to data sets other than communication data sequences, for example data sets or sequences representing audio, image or video data.
For example, signals from an audio source (not necessarily limited to the human audible frequency range) could be detected with a plurality of sensors situated at different locations from the source (eg left, right, centre, up, down) and correlated in order to localise the source or compare against a known good source. In the case of a home cinema system, the signals from true component speakers could be correlated against signals from a virtual surround system to evaluate how faithful the virtual system is. This method differs from the GPS method in that a "good" local reference signal does not exist. The correlation occurs between two detected signals at different distances from the same audio source.
Fig. 6 shows one implementation of the invention where the strength of an audio source 400 is detected by a plurality of sensor inputs 402 separated by a distance d5. Each sensor will detect the audio signal from the same source at a different time. According to the correlator of Fig. 5, after conversion to the digital domain, the first signal is presented at the X input and the delayed signal presented at the Y input for correlation as described above.
If the signal is strong in that particular direction, the correlation will be high as the SNR will be high. If the signal is weak, the separation between the sensors will cause the SNR to drop a significant amount thus affecting the correlation result. The degree of correlation therefore indicates signal strength.
A further application could be in the field of astronomy where the signals to be detected are electromagnetic waves requiring radio antennas for the detection means as opposed to microphones for sound waves as described above.
In the case of image correlation, for example, when using a digital camera, it is often desired to stitch images together. The source images in question can be correlated to ascertain where they match and therefore where the best position would be to stitch them together. This employs a 2D application of the correlation technique and may be applied to source images of any frequency range such as visible light, infra-red, ultra-violet or multi-spectral. In the case of stitching two images together (usually, but not necessarily the same size), referring to Fig. 7, each separate source image 500, 502 to be correlated (or sections of the images) are split into equal sized tiles 504 of any size and tessellating shape (the image can be padded usually with an average pixel value to make each source image dimension an integer multiple of the chosen tile size) and combined (usually but not limited to addition, possibly including normalisation). This produces a single residue image 506 of the tile size chosen per source image. Where the tile dimensions are PxP, for example, each individual element of the residual image is therefore a combination of the first element in that position and each subsequent Pth element of the original (in both the X and Y directions). This is repeated for different tile sizes 508 with each image in order to produce other residue images 510.
The residue image from one source image can be correlated against the original other source image as discussed above or each pair of residue images of the same size 506, 510 is correlated conventionally in both directions. According to equation [7], each residue correlator can be calculated by accumulating each element (i.e. adding the tiles together) and then correlating.
For each correlated residue image pair, we calculate one peak per line of the residue image (X-direction) and one peak per column of the residue image (Y- direction). Each peak identifies the element of the residue correlator in which the real peak lies, but not the exact peak at this stage.
Referring to Fig. 8, when a plurality of residue image pair sizes are correlated as above, residue reverse conversion techniques (such as but not limited to the Chinese Remainder Theorem or Redundant Reverse conversion) are used to identify the exact peak per line in the X-direction 600 and per column in the Y- direction 602. It should be understood that the resolution of the actual image may be far greater than that of Fig 8.
These exact peaks are then combined to find the overall cross-correlation peak position 604 as a coordinate of the correlated portion 606 of the original images.
It should be noted that in this example, both dimensions of all sources are reduced by the residue image creation process, however, this technique may be applied to the instance when only one of the source images is reduced. Furthermore, residue techniques may be applied in only one dimension of a source leaving the other dimension unchanged such that, for a source image of dimension XxY, N tiles, say, in the X dimension are formed each of dimension X/N x Y. The dimension reduced may also be inconsistent throughout the source images or residue image sets. Depending on the choice and number of residue image sizes, redundant residue techniques as previously described may be applied providing robustness to erroneous peak detection.
In the field of video, correlation techniques may be employed for motion detection purposes in order to compress the video stream. The source images for correlation are the individual video frames with smaller sets of correlations being employed across a plurality of frames.

Claims

1. A method of correlating first and second data sets, each comprising a sequence of data elements, the method comprising accumulating a first plurality of subsets of data elements of the first set to form a first accumulated set and correlating the first accumulated set with the second set to obtain a first residual correlation.
2. A method as claimed in claim 1 further comprising accumulating a second plurality of subsets of data elements of the first set to form a second accumulated set and correlating the second accumulated set with the second set to obtain a second residual correlation.
3. A method as claimed in claim 2 further comprising deriving a correlation maximum from a comparison of the first and second residual correlation.
4. A method as claimed in any preceding claim in which the first and second pluralities of subsets of data elements comprise sums of evenly spaced data elements from the first data sequence of respective different spacing.
5. A method as claimed in claim 4 in which each subset is accumulated modulo the length of the correlator
6. A method as claimed in any preceding claim in which the or each residual correlation is derived by one or more correlators.
7. A method as claimed in claim 6 in which each residual correlation is created by adding a feedback path to the correlator.
8. A method as claimed in claim 6 in which the or each accumulated sequence is input to the or each correlator to obtain the first and second residual correlations.
9. A method as claimed in claim 3 in which the comparison of the first and second residual correlations comprises a reverse conversion.
10. A method as claimed in any preceding claim when dependent on claim 3 in which the first and second residual correlations are of different lengths.
11. A method as claimed in claim 10 in which the lengths of the residue correlators are relatively prime.
12. A method as claimed in claim 10 or claim 11 in which the product of the length of the residue correlators is greater than or equal to the length of the data response.
13. A method as claimed in any of claims 10 to 12 in which the data sequence from which the residue correlators are derived is of length N = 2b - 1, b is an even integer and the length of the residue correlators are (2b/2-l) and (2b/2+l).
14. A method as claimed in claim 13 in which the correlation maximum is obtained from the correlation peak in a combined residual correlator having, as sequential elements, a value derived from a function of the corresponding elements of the first and second residual correlation.
15. A method as claimed in claim 14 in which the function is a product or median of the corresponding elements.
16. A method as claimed in any preceding claim in which at least one of the data sets comprises, for example a received communication signal.
17. A method of determining a distance between a data set receiver and a data set transmitter comprising correlating a received data set with a data set generated at a receiver as first and second data sets according to a method as claimed in any of claims 1 to 16.
18. A method as claimed in claim 17 in which the data sets comprise a distance signal for use in a positioning system such as a GPS or Galileo system.
19. A processor configured to implement a method as claimed in any of claims 1 to 18.
20. A data transmission receiver including a processor as claimed in claim 19.
21. A positioning system, receiver comprising a receiver as claimed in claim 20.
22. A method as claimed in any previous claim in which the data sets comprise one of GPS, Galileo, digitised speech, audio, image or video data.
23. A method as claimed in any previous claim where a third and/or subsequent plurality of subsets are accumulated and then redundant reverse conversion is performed.
24. A method as in any previous claim in which each data set is a two- dimensional data set.
25. A method as claimed in claim 24 in which at least a first plurality of subsets are accumulated in at least one dimension to form a first accumulated set.
26. A method as claimed in claim 25 in which the data set is padded to allow accumulation.
27. A method as claimed in claims 23 to 26 in which the data set is an image or video data set.
28. A computer program configured to implement a method as claimed in any of claims 1 to 18 and 22 to 27.
29. A computer readable medium storing a computer program as claimed in claim 28.
30. A data set correlator comprising a residue correlator element for obtaining first and second residual correlations of first and second data sets and deriving a correlation maximum from a comparison of the first and second residual correlation according to the method of any of claims 1 to 18 or 22 to 27.
31. A method as claimed in claim 22 in which the data set comprises audio data for evaluating and optimising the effectiveness of a virtual surround system or a virtual soundstage.
PCT/GB2005/004291 2004-11-05 2005-11-04 A method and apparatus for correlating data sequences WO2006048676A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0424500A GB0424500D0 (en) 2004-11-05 2004-11-05 A method and apparatus for correlating data sequences
GB0424500.7 2004-11-05

Publications (1)

Publication Number Publication Date
WO2006048676A1 true WO2006048676A1 (en) 2006-05-11

Family

ID=33523247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2005/004291 WO2006048676A1 (en) 2004-11-05 2005-11-04 A method and apparatus for correlating data sequences

Country Status (2)

Country Link
GB (1) GB0424500D0 (en)
WO (1) WO2006048676A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267580A (en) * 1979-01-08 1981-05-12 The United States Of America As Represented By The Secretary Of The Navy CCD Analog and digital correlators
US6327473B1 (en) * 1998-09-08 2001-12-04 Qualcomm Incorporated Method and apparatus for increasing the sensitivity of a global positioning satellite receiver
US20030137450A1 (en) * 2001-07-18 2003-07-24 Fast Location.Net, Llc, A Texas Corporation Method and system for processing positioning signals in a geometric mode
GB2391779A (en) * 1998-07-17 2004-02-11 Fujitsu Ltd A correlator uses two combined spreading codes, each based on a local PN code, to determine the phase difference between a received PN code and the local code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267580A (en) * 1979-01-08 1981-05-12 The United States Of America As Represented By The Secretary Of The Navy CCD Analog and digital correlators
GB2391779A (en) * 1998-07-17 2004-02-11 Fujitsu Ltd A correlator uses two combined spreading codes, each based on a local PN code, to determine the phase difference between a received PN code and the local code
US6327473B1 (en) * 1998-09-08 2001-12-04 Qualcomm Incorporated Method and apparatus for increasing the sensitivity of a global positioning satellite receiver
US20030137450A1 (en) * 2001-07-18 2003-07-24 Fast Location.Net, Llc, A Texas Corporation Method and system for processing positioning signals in a geometric mode

Also Published As

Publication number Publication date
GB0424500D0 (en) 2004-12-08

Similar Documents

Publication Publication Date Title
US5786788A (en) Radar system and method for reducing range sidelobes
US9910160B2 (en) Detecting and removing spoofing signals
US6606346B2 (en) Method and apparatus for computing signal correlation
RU2360263C2 (en) Device and method of high-speed detection of gps signals
US8351486B2 (en) Parallel correlator implementation using hybrid correlation in spread-spectrum communication
CN107817506B (en) Cepstral-based multipath mitigation for spread spectrum radio communication signals
WO2001089108A1 (en) Method and apparatus for code phase tracking
EP1376150A1 (en) Radio positioning system using interference cancellation
KR20020026464A (en) Time of arrival estimation for positioning systems
CN104977593B (en) Radio communication synchronization system
JP2005508109A (en) Method and apparatus for performing projections in signal processing applications
Bose et al. Constructing binary sequences with good correlation properties: An efficient analytical-computational interplay
EP1286306A2 (en) Data processing apparatus and method of processing data
Liu et al. Clutter reduction and target tracking in through-the-wall radar
US6567042B2 (en) Acquisition through circular correlation by partition for GPS C/A code and P(Y) code
EP1362474B1 (en) Method and apparatus for detecting a watermark in an information signal
US6259477B1 (en) Joint spatial-temporal alignment of video sequences
Taghavi et al. High resolution compressed sensing radar using difference set codes
KR20150136491A (en) Method and apparatus for determining watermark symbols in a received audio signal that can contain echoes, reverberation and/or noise
Cyganski et al. A multi-carrier technique for precision geolocation for indoor/multipath environments
WO2006048676A1 (en) A method and apparatus for correlating data sequences
US7701998B2 (en) Radio signal positioning
US7783110B2 (en) Semicoherent channel estimator
EP2398153A2 (en) Improvements to reception of spread spectrum signals
KR100655660B1 (en) WLAN preamble detection apparatus, its preamble detection and timing detection method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05801293

Country of ref document: EP

Kind code of ref document: A1