A RECEIVER FOR A SATELLITE BASED POSITION LOCATION SYSTEM

Abstract: The present invention discloses a method for determining synchronisation of a signal received in a global positioning system receiver and transmitted by a global positioning system satellite, said method comprising: transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, deriving from the selected coefficients an estimation indication of in-band noise.

Description: A Receiver for a Satellite based position location system The present invention relates to a satellite based position location system such as the Global Positioning System (GPS), and in particular to a receiver for use in such a system. Global positioning system (GPS) is one example of a space based satellite navigation system that has the ability to pinpoint any location on earth with a high degree of accuracy, providing information on position, velocity and time (PVT) of a receiver. Other examples of spaced based satellite navigation system are TIMATION, transit, and GLONASS. GPS is typically divided into three segments: -a space segment which essentially comprises the satellites and the signals they emit, -a control segment which monitors and maintains the satellite constellation, -a user segment which comprises GPS receivers, equipment, data collection and data processing techniques. The GPS constellation typically consists of 24 satellites orbiting the earth every 24 hours. A minimum of four GPS satellites must be in clear view of a GPS receiver in order for the receiver to determine accurately its location. In overview, each satellite broadcasts signals that the GPS receiver receives and decodes and from these calculates the time taken for the signals to reach the receiver, this is called the time in transit. The receiver then multiplies the time in transit by the speed of electromagnetic radiation to determine the range from the satellite to the receiver. From there, in order to work out the receiver's 3 dimensional distance, velocity and time, the receiver applies the triangulation calculation. Triangulation involves calculating the intersection of points between four reference points given by the satellites and the intersection fixes or locates the position in 3-dimensional space. It should be noted, however, that range measurement inherently contain errors common to measurements created by the unsynchronised operation of the satellite and the user clocks. This is why GPS uses four satellites to effect ranging. The measurements from three GPS satellites allow the GPS receiver to calculate the three unknown parameters representing its three dimensional position, while the fourth GPS satellite allows the GPS receiver to calculate the user clock error and therefore determine a more precise time measurement. The signals broadcast by a satellite comprise radio frequency (RF) ranging codes and navigation data messages which are transmitted using spread spectrum techniques. The ranging codes enable the GPS receiver to measure the transit times of the signals and thereby determine the range between the satellite and the receiver. The navigation data messages are based on predetermined information regarding the orbital path of the satellite and thus provide an indication of the position of the satellite at the time the signals were transmitted. The encoded signal generated by a satellite is in the form of a pseudo random noise (PRN) code which represents a sequence of random binary chips, each satellite transmitting a unique PRN sequence that repeats itself at definite intervals. In GPS, there is Precision Code (P-Code) having a chipping rate 10.23 MHz and which is reserved for military use, and a Course Acquisition code (C/A Code) having a chipping rate 1.023 MHz and which is allocated for commercial and personal use. A chip is 1 or -1. The codes are transmitted on two L-band frequencies: Link 1 (L1) at 1575.42 MHz and Link 2 (L2) at 1227.6 MHz. The code allocations on L1 are Course Acquisition code (C/A Code) and Precision Code (P-Code), and on L2 is only P-Code. The C/A Code consists of a 1023 bit pseudo random (PRN) code, and a different PRN code is assigned to each GPS satellite. In addition, a 50 Hz navigation data message is superimposed on the C/A Code, and contains the data noted above. Thus the receiver can utilise the signal from a satellite by the particular C/A Code being submitted, to make pseudo-range measurements. Turning now to the receivers, there is a wide range of GPS receivers available today, and typically the internal architecture of a GPS receiver comprises a front end that initially processes the incoming satellite signals, followed by signal processing stages that apply the algorithms to determine the receivers location, speed and time. The front end in basic terms is similar to that of a superheterodyne receiver. The signal is detected by a GPS antenna and fed to a low noise amplifier. Following amplification, the signal is down converted to a lower workable frequency. This is achieved by mixing or heterodyning the GPS signal with another constant frequency signal. This mixing signal is produced by a local oscillator. When two signals are mixed, the original, the sum of the two and the difference between the two frequencies is output. The filter in the following stages selects only the difference frequency and rejects the others. This difference frequency produced by the down conversion step is known as the intermediate frequency IF and which delivers the baseband signal. The signal is next converted from analogue to digital in an AD converter. The output level of the AD converter is monitored by a voltage comparator to check levels exceeding or dropping below threshold levels, and an automatic gain control continually adjusts the gain of the IF amplifier to maintain a constant output level. The digital signal from the AD converter is used as an input to several stages of signal processing dealing with the ranging process. As indicated earlier, the ranging process aims to calculate the distance from the satellite to the receiver using the incoming PRN codes to time how long it has taken the signals transmitted by the satellite to arrive at the receiver. To achieve this, each receiver has the capability to generate an exact pattern of the code that each satellite transmits using a PRN signal generator. The incoming signal received from a particular satellite is likely to be out of phase with the internal one since the time it takes to travel from the satellite to the receiver, measured in units of time periods to transmit a chip may not be always known. The internally generated expected PRN signal from a particular satellite needs to be suitably delayed or phase shifted so that it matches with the received signal when compared. The strength of match can be measured from correlation between the two signal fragments. It is usual to correlate a fragment of the received sequence with a corresponding fragment of the expected signal from the satellite. As the digitised expected signal is periodic, the internally generated sequence can be delayed by rotating the sequence. The amount of shifting or offset that was required to match the two signals provides the receiver with a measurement of the time lag between the signal leaving the satellite and arriving at the receiver. This measurement is then used to derive the range. In principle, if the time it takes for the signal to travel from the satellite to the receiver via a particular path were known, then it would be possible to predict a signal proportional to the signal arriving at the receiver via that path and the output from the correlator would be a large quantity related to the energy in that path. However, this time interval is not known to begin with. It is usual to acquire the exact time of travel for each significant path by using some form of search algorithm. As the signal is cyclic (at least for 20ms) by shifting the fragment of expected signal by m shift positions, a delay of m multiplied by the sampling period in microseconds can be simulated. Various delays are tried and the output of the correlator is monitored. The delay that is identified as being the one that is appropriate is the one that yields the highest correlation output. If sub chip sampling is employed, (say 4 samples per chip which is currently common) then a high value is obtained for about 4 of the m rotations. The rotation that yields the highest correlation from these four contiguous rotations is used to calculate the time the signal has taken to travel from the satellite to the observer. Once the time has been estimated, the changes in this time are monitored using various tracking algorithms. Often, because the baseband signal that is received from an incoming GPS signal is buried in noise, the value of the correlation lies below the noise floor of the incoming signal. In these conditions it is difficult to identify with precision the chip rotation that provides the best match for correlation. Against this background, the present invention in one aspect provides a method for determining synchronisation of a signal received in a global positioning system receiver and transmitted by a global positioning system satellite, said method comprising: transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, deriving from the selected coefficients an estimation indication of in-band noise. The invention advantageously provides for filtering to be performed in the frequency domain, followed, in preferred arrangements, by correlation to be carried out also in the frequency domain. Accordingly, in-band noise is substantially reduced from the incoming GPS signal thereby enabling the value of the correlation to be identified more definitely, thus providing for improved synchronisation. More specifically, in prior art methods, in order to obtain a GPS fix where the incoming signal is weak, within say a building, it was often necessary to perform long correlations. However, by means of the inventions, correlations may be shortened thereby affording a saving in power. This is based on the observation that the spectrum of the GPS baseband signal is a line spectrum, and by observing the line spectrum it has been noted that only a fraction of the bins are non-zero. From the bins that have zero energy, a measure can be derived of the noise in the received signal. Accordingly, the method provides for in-band filtering and accurately estimating in-band characteristics of noise. By removing the estimated noise it is possible to compare the correlation against the background noise at in- band. In-band filtering of GPS signals is conventionally performed using narrow- band filters having a pre-determined pass band. Such filters cannot remove noise inside a pass-band. The present invention in contrast, removes noise across substantially the entire band by estimating the in-band noise. Other aspects and features of the invention are defined in the claims. Preferred features of the invention and their corresponding advantages will be understood from the description below of the various embodiments of the invention. Such embodiments are given merely as examples of specific ways of putting the invention into effect. As indicated above, the present invention is concerned with the problem of a receiver attaining synchronisation with an incoming satellite transmitted pseudo random noise (PRN) signal in the context of GPS, and for the purposes of this description are consist in a simulation. Initially in the simulation there is defined a Unit Step which is a mathematical device for isolating a non-zero function at prescribed ranged. The UnitStep[x] represents the unit step function, equal to 0 for x < 0 and 1 for x > 0 and is given by Equation 1 : T T Box[T_][x_] := UnitStep [x + — ] - UnitStep [x ] T is the duration of a chip and M is the number of chips in the spreading code. The satellite signal s[t] is represented in Equation 2 as follows: s[t] = <» H-l 22R[kM+m]Box[T][t- (kM + m)T] Sin[2ττf0 (t- (kM + m)T)] The contribution of the received signal from a single satellite to the signal at baseband is proportional to s[t]. The signal r[t] received at baseband from a single satellite can be expressed in Equation 3: Kim of Paths r "[[t " I] = α,. s [t - At-.] 1=1 where represents the strength of each path and Δt represents the corresponding delay. S[f] is the spectrum of s[t] and is indicative of the frequency variable Fourier spectrum of S[t]. Equation 4 represents S[f]: S[f] = , md=0O J ((* -if i π π T τ / (i• r(- il + _ e 2 z n n f f π π T τ ) f0Cos[f0πT] + (l+c 23lfπT ) f Sin[f0ττT]))/(2 (f - f 0) (f +f0)7r)) - S m fTTT ' Then the corresponding spectrum in respect of r[f] is given by Equation 5: Hum of Paths R[£] = 2 °-i 2s[f] ι=l From the form of S[f], it is noted in the present invention that the spectrum is a line spectrum where the lines are separated by a distance of 1/(M T) apart. The g[f] is a filter that is a function of the frequency f. By applying g[f] to S[f] the amplitude of each line can be obtained. g[f] is given by Equation 6: g[f_] := ((-fOCos[fOπT]Siιι[f πl] + fCos[fπT] Sin[fθ7rT]) ((f +f0)7r-Sin[(f +fO)πT])) / (2 (f-fO) (f ÷fO) 2 ?! 2 ) As has been explained previously, the received signal is buried in noise and the present invention in its preferred form provides a process to perform in band filtering using a discrete Fourier transform. The receiver samples the incoming signal with a sampling period of T/samp where samp is an integer, typically 4. The number of continuous samples is Nsam = samp x M x K, where K is chosen to be prime {3, 11, 31} which are the factors of 1023 which is the number of chips in the spreading code. As indicated previously, the receiver generates a local replica of the satellite PRN code. This is precomputed and stored for I' = 0, 1,2 K M-1 and is represented in Equation 7: KH-1 „ ., e KH Rc[j] Next is computed the dot product of the precomputed inverse Fourier transform of the spreading code (satellite PRN code) with the Fourier transform of the received signal, as given in Equation 8: This expression can be simplified as follows. Distribute multiplication over addition in Equation 9: Simplifying in Equation 10: K KHH --31.KKHH --31.KKHH --33.. . , , T-! "^"I B 2 7t ' (1-3 ) KH R[i + A] Rc [ * j ] / I / I / f 3 =0 Carrying out the i'summation first in Equation 11 : Simplifying in Equation 12: KH -α KH 2 R[i + A] Rc[i] The result is maximum when Δ is zero indicating synchronisation. However, this is in general not zero. In order to obtain the Fourier transform of the code shifted by Δ, the computation begins with the precomputed inverse Fourier transform of the spreading code, as represented previously in Equation 7, the inverse Fourier transform of the spreading code shifted by Δ is generated as follows. Initially, it is given by Equation 13: This expression is equivalent to Equation 14: Bracketing and factoring presents Equation 15: which can be expressed as Equation 16: After a change of variable, this yields Equation 17: On examination of the terms, it is apparent that the Fourier transform of the code shifted by Δ bins can be generated efficiently. The expression is the i'term of the inverse Fourier transform of the code cyclically shifted by Δ bins. From equation 17 above, the i'bin of the Fourier transform of the code shifted by Δ, is the product of the inverse Fourier transform of the code with no shifts and the term. ή2 π i' Δ KH Further, it is noted all that is needed to be stored is e KH for i ' = 0 , 1, KM Accordingly, the value of A2 π i' e- KH can be computed from Equation 18: 12 π Hod[ι' Δ,KH] e " KH i.e. look in the location Mod[i' Δ, K M] + 1 and use the precomputed value. In order to perform convolution in the Fourier domain, first is considered the conjugate of the Fourier transform of the pure code Rc[j] cycled by Δ' as given by Equation 19: Next is considered Equation 20: This is distributed as follows in Equation 21 : Simplifying yields Equation 22: Doing the i' summation first leads to Equation 23: KH-3.KH-3.KH J. „ , , v I i v " i I27!ι' (ι-;) R[i + A] Rc[j + A'] 1=0 3=0 ι'=0 Simplifying gives Equation 24: KH-3. KM 2 R[i + A ] Rc[i+ A 1 ] 1=0 This is at a maximum when Δ = Δ'. Thus, leading to Equation 25: KH-1 ΛCH-α "KH-α Σ ^l l2π 'ι Σ n2πι * 3 \ y e " KH R[i + A] e KH Rc[ + A'] '=0 1=0 I 3=0 KH-α KM 2 R[i + A] Rc[ι + A'] It is noted in Equation 26: FRc is denoted as the Inverse Fourier Transform of the spreading code, and is given by Equation 27: for i' = 0, 1,2, ... KM-1 Let n2x i' DelFac[i'] = e KH for i'= 0, 1, ..., KM-1 Then Equation 28: can be computed by Equation 29: KH J. 2 SFCi'lDelTa IModli 1 A 1 , KM ]] FRc[i ' ] And so leading to Equation 30: KH 2 SF[i JDelFacIModCi 1 ', KM]] FRc[i '] '=0 KH J. KM ^ R[i + A] Rc[i+ A'] Since SF[i'] may be zero, it is not necessary to perform every multiplication. In particular, given that the spectrum is a line spectrum it may only be necessary to carry out a smaller proportion of the multiplications, e.g. as in Equation 31 : H 2 SF[Ki ]DeIFac|;Mod[K:L' A ', KM]]FRc[Ki'] ι' 0 If K=10, then even though 2 complex multiplications per term is required, and the multiplications are multibit precision, as opposed to single bit multiplications, there is a saving. In summary then, the steps of the algorithm for implementing the preferred form of the present invention is as follows: 1) Let the Nsan samples be represented by {s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7], s[8], ...s[Nsamp-1]} Take the discrete Fourier transform (DFT) of these samples. 2) Let {sf[0],sf[1],sf[2],sf[3],sf[4],sf[5],sf[6],sf[7],sf[8], ... sf[Nsamp-1]} be the discrete Fourier transform of {s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8], ....s[Nsamp-1]}. Generate {sf[0]g[0],sf[1]g[1], sf[2] g[2/Nsam], sf[3]g[3/Nsam], sf[4] g[4/Nsam], sf[5]g[5/Nsam], sf[6]g[6/Nsam], sf[7]g[7/Nsam], sf[8] g[8/Nsam], sf[9]g[9/Nsam], ....sf[N/samg-1]g[Nsam-1/Nsam] where g[n] is a function that performs filtering. Choosing g[n]=1 is equivalent to no filtering. g[n] could be zero for several values of n; under these conditions the improved speed of the operation is particularly noticeable. Recognition of the zero bins allows for an estimate the noise in the non-zero bins. nf(0) is the Transform coefficient for n. {(sf(O)-nf(O)), sf(1 )-nf(1) sf(N)-f(N) } nf(m)=sf(m) when it is known that m is one of the zero coefficients = Est f(sf(m-1), sf (m-2),.... sf(m+1), sf (m+2)..) where the number of coefficient to use is dependent on accuracy of estimation against computation load. eg f[sf(m-1 ), sf(m+1 )]= sf (M-1 ) + sf(n) 2 3) DelFac is the delay factor Let {DelFac[0], DelFac[1 ], DelFac[2], DelFac[3] DelFac[Nsamp -1]} be the set of values as defined above. DelFac[i ' ] = e KH 4) Recalling stored precomputed values Let {FRc[0], FRc[2], FRc[3], FRc[4],.... FRc[Nsam -1]} be stored precomputed values where FRc[l'] is given by the term below 5) Then the correlation of the input, as a rotation correlation in the Fourier domain. {s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8], ...s [Nsamp-1]} with the code Rc[j] cycled by Δ' is given by KH -1 2 SF[i ' ] DelTac[Mod[i ' A 1 , KM ]] FRc[i ' ] i * =0 The present invention may be embodied in other specific forms without departing from its essential attributes. Reference should thus be made to the appended claims and other general statements herein rather than to the foregoing description as indicating the scope of invention. Furthermore, each feature disclosed in this specification (which term includes the claims) and/or shown in the drawings may be incorporated in the invention independently of other disclosed and/or illustrated features. In this regard, the invention includes any novel feature or combination of features disclosed herein either explicitly or any generalisation thereof irrespective of whether or not it relates to the claimed invention or mitigates any or all of the problems addressed. The appended abstract as filed herewith is included in the specification by reference.

Claims: Claims 1. A method for determining synchronisation of a signal received in a global positioning system receiver and transmitted by a global positioning system satellite, said method comprising: transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, deriving from the selected coefficients an estimation indication of in-band noise. 2. A method for determining synchronisation according to claim 1 , comprising the step of determining from said estimated indication of the in- band noise, the noise present in frequency domain coefficients contributing non-zero energy of the received signal. 3. A method for determining synchronisation according to claim 1 or claim 2, comprising the step of determining using the estimated indication of the in- band noise the energy contribution of those frequency domain coefficients contributing non-zero energy of the received signal. 4. A method for determining synchronisation according to claim 1 , claim 2, or claim 3, comprising the step of generating the signal expected to arrive at the receiver from the satellite. 5. A method for determining synchronisation according to claim 4, comprising subtracting the estimated indication of the in-band noise from the frequency domain coefficients contributing non-zero energy of the received signal to provide an indication of the signal expected to arrive at the receiver from the satellite. 6. A method for determining synchronisation according to any preceding claim, comprising the step of developing a line spectrum of said frequency domain transform coefficients. 7. A method for determining synchronisation according to claim 6, comprising the step of distinguishing using said line spectrum frequency domain between transform coefficients having zero and non-zero energy of the received signal. 8. A method for determining synchronisation according to claim 7, comprising the step of taking the average of the estimated indication of the in- band noise from adjacent ones of the frequency domain coefficients contributing non-zero energy of the received signal from the line spectrum of the frequency domain coefficients. 9. A method for determining synchronisation according to any preceding claim, wherein the number of times of the received signal is oversampled is proportional to the number of frequency domain coefficients contributing substantially zero energy of the received signal. 10. A method for determining synchronisation according to any preceding claim, wherein the step of transform coding comprises Fourier transform coding. 11. A method for determining synchronisation according to any preceding claim, comprising the step of performing correlation in the frequency domain. 12. A method for determining synchronisation according to any preceding claim, wherein if a substantial number of the frequency domain coefficients are identified as contributing substantially zero energy, then transforming the coefficients back to the time domain by applying the inverse transform coding to the frequency domain coefficients. 13. A method for determining synchronisation according to any preceding claim, Wherein identifying comprises adjacent ones of the line spectrum of the frequency domain transform coefficients. 14. A receiver for a satellite based positioning system operable so as to synchronise with respect to a received signal transmitted from a satellite of said system, said receiver comprising transform coding means for transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selection means for selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, and processing means for deriving from the selected coefficients an estimation indication of in-band noise. 15. A satellite based positioning system in which a plurality of satellites transmit ranging signals and a receiver receives the transmitted ranging signals and performs synchronisation with respect to said ranging signals, said system comprising transform coding means for transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selection means for selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, and processing means for deriving from the selected coefficients an estimation indication of in-band noise. 16. A computer program on a carrier for synchronising a receiver operating in a global positioning system comprising a plurality of satellites transmitting ranging signals, said synchronising being performed with respect to said transmitted ranging signals and comprises transform coding means for transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selection means for selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, and processing means for deriving from the selected coefficients an estimation indication of in-band noise. 17. A computer program product operable to synchronise a receiver operating in a global positioning system comprising a plurality of satellites transmitting ranging signals, said synchronising being performed with respect to said transmitted ranging signals and comprises transform coding means for transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selection means for selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, and processing means for deriving from the selected coefficients an estimation indication of in-band noise. 18. A portable radio communication device including a transceiver for cellular communication and a receiver for a satellite based positioning system operable so as to synchronise with respect to a received signal transmitted from a satellite of said system, said device comprising transform coding means for transform coding said received signal so as to transform said received signal from time domain to frequency domain coefficients, selection means for selecting from said frequency domain coefficients those frequency domain coefficients contributing substantially zero energy, and processing means for deriving from the selected coefficients an estimation indication of in-band noise.

Inventors: LOBO NATIVIDADE ALBERT, LOBO, NATIVIDADE, ALBERT
Applicants: LOBO NATIVIDADE ALBERT, NOKIA MOBILE PHONES LTD, LOBO, NATIVIDADE, ALBERT, NOKIA MOBILE PHONES LIMITED
Application year: 2000
Main classification: G01S1
IPC codes: G01S1, G01S5