Abstract:
A method of estimating a position of a satellite receiver, comprising computing a weight matrix, and computing an estimated position of the satellite receiver based on the weight matrix, wherein computing the weight matrix includes computing quantities indicative of degradations experienced by satellite signals and of multipath interference, and computing the weight matrix based on the computed quantities.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates in general to satellite navigation systems, and more in particular to position estimation enhancements for a global navigation satellite system (GNSS) receiver. 
       BACKGROUND OF THE INVENTION 
       [0002]      FIG. 1  shows schematically a Global Navigation Satellite System (GNSS)  1  comprising a plurality of satellites  4  emitting signals directed to a plurality of receivers  2  and local elements  3  (only one of which is shown in  FIG. 1 ), communicating with each other in a manner known per se and hence not described in detail. Each receiver  2  is generally enclosed in a corresponding user terminal configured to execute high level software applications based on the data provided by the receiver  2 . From a technical point of view, each receiver  2  may be regarded as a radio-frequency (RF) front-end of the corresponding user terminal, namely the networking part of the user terminal, as opposed to the application part, comprising a user interface and the aforementioned high level applications. 
         [0003]    Each satellite  4  transmits signals modulated by a pseudorandom sequence (PN sequence) characteristic of the satellite  4 . Furthermore, signals emitted by each satellite  4  contain a navigation message, in turn containing, besides data suited to improve the accuracy in the calculation of the receiver position, the ephemeris of the satellite, namely mathematical functions describing the satellite orbit in a highly precise manner. Therefore, based on the information carried by the signals, each receiver  2  computes its distance from the satellite  4 . In particular, the receiver  2  computes the propagation time of the signal from the satellite  4  to the receiver  2 , namely the time difference between the emission time, that is the time at which the satellite  4  emits the signal, and the reception time, that is the time at which the receiver  2  receives the same signal. Afterwards, an approximate estimate of the satellite-receiver distance is obtained by multiplying the propagation time by the light speed; such an approximate estimate of the satellite-receiver distance is known as pseudorange. Pseudoranges related to different satellites (generally, at least four satellites, as shown in  FIG. 2 ) are then used to compute an estimate of the receiver position, as it will be explained below in more detail. 
         [0004]    In some cases, upon having determined the pseudoranges, instead of computing an estimate of its position, the receiver  2  sends the pseudoranges to a local element  3 , which is in charge of computing the estimate of the receiver position, and sending the estimation back to the receiver  2 . In particular GNSSs, generally known as Assisted Global Navigation Satellite Systems (A-GNSSs), the satellite ephemeris are provided to the receiver  2  by the local elements  3 , so that the receiver  2  does not have to extract them from the navigation messages. Based on the pseudoranges and the received ephemeris, the receiver  2  computes an estimate of its position. In particular A-GNSSs, generally known as A-GNSS “User Equipment Assisted”, the receiver  2  just computes estimates of the pseudoranges and send them to a local element  3 , which is in charge of all the remaining operations (solving ambiguities in fractional pseudorange measurements, computing the position, . . . ). 
         [0005]    More in detail, the receiver position, represented by a position vector, is computed by means of N pseudoranges related to N corresponding satellites, whose signals are received by the receiver  2 . Nevertheless, it has to be noted that a pseudorange is the distance between the position of the corresponding satellite  4  at the transmission time and the position of the receiver  2  at the reception time. Because the satellite clock and the receiver clock are not perfectly synchronized, it is impossible to compute the exact distance between a satellite  4  and a receiver  2 . 
         [0006]    Neglecting errors induced by propagation, multipath interferences and receiver errors, the basic definition of the pseudorange ρ j  relative to the j-th satellite is: 
         [0000]      ρ j   =R   j   +c ·(δ j −δ)  (1)
 
         [0000]        R   j   =f ( X,Y,Z )=√{square root over (( X   j ( t )− X ) 2 ( Y   j ( t )− Y ) 2 +( Z   j ( t )− Z ) 2 )}{square root over (( X   j ( t )− X ) 2 ( Y   j ( t )− Y ) 2 +( Z   j ( t )− Z ) 2 )}{square root over (( X   j ( t )− X ) 2 ( Y   j ( t )− Y ) 2 +( Z   j ( t )− Z ) 2 )}  (2)
 
         [0000]    wherein:
       X j , Y j , Z j  are the j-th satellite position coordinates;   X, Y, Z are the receiver position coordinates;   c is the light speed;   δ j  and δ are respectively, the j-th satellite clock offset and the receiver clock offset; and       
 
         [0011]    R j  is the geometric distance between the j-th satellite and the receiver  2 , and is a function of the time, as well as the pseudorange ρ j  (with R j  computed at the transmission time). 
         [0012]    The coordinates X, Y, Z of the receiver position form the aforementioned receiver position vector, hereinafter indicated by [X, Y, z]. The same applies to the coordinates X j , Y j , Z j  of the j-th satellite position, whose position vector is hereinafter indicated by [X j , Y j , Z j ]. 
         [0013]    Starting from equation (1), the receiver position vector [X,Y,Z], which is an unknown quantity, may be computed based on the computed pseudoranges R j , the satellite position vector [X j , Y j , Z j ], and the satellite clock offset δ j . In particular, the satellite position vector [X j , Y j , Z j ] is computed based on the transmission time, which is the difference between the reception time and the propagation time, and the received ephemeris, while the satellite clock offset δ j  is computed using correction parameters included in the navigation message. 
         [0014]    The relationship between the computed pseudoranges, also known as observables, and the receiver position is not linear, as shown by equation (1), therefore known techniques are employed to obtain a linearized equation. According to said known techniques, an approximate receiver position is assumed, thus an approximate receiver position vector [X 0 , Y 0 , Z 0 ] is chosen. This assumption implies that the receiver position can be regarded as a sum of the approximate receiver position and an adjustment factor. From a vectorial point of view, the receiver position vector [X, Y, Z] is the sum of the approximate receiver position vector [X 0 , Y 0 , Z 0 ] and an adjustment vector [ΔX, ΔY, ΔZ]. Because of this assumption, the unknown quantities to be computed are the components ΔX, ΔY and ΔZ of the adjustment vector [ΔX, ΔY, ΔZ], as well as the satellite clock offset δ. 
         [0015]    In order to compute the unknown quantities ΔX, ΔY ΔZ and 5, equation (1) is expanded in a Taylor&#39;s series truncated after the linear terms and centred around the approximate receiver position vector [X 0 , Y 0 , Z 0 ], so obtaining: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ρ 
                       j 
                     
                     - 
                     
                       R 
                       0 
                       j 
                     
                     - 
                     
                       c 
                       · 
                       
                         δ 
                         j 
                       
                     
                   
                   = 
                   
                     
                       
                         
                           - 
                           
                             
                               
                                 
                                   X 
                                   j 
                                 
                                  
                                 
                                   ( 
                                   t 
                                   ) 
                                 
                               
                               - 
                               
                                 X 
                                 0 
                               
                             
                             
                               R 
                               0 
                               j 
                             
                           
                         
                         · 
                         Δ 
                       
                        
                       
                           
                       
                        
                       X 
                     
                     - 
                     
                       
                         
                           
                             
                               
                                 Y 
                                 j 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                             - 
                             
                               Y 
                               0 
                             
                           
                           
                             R 
                             0 
                             j 
                           
                         
                         · 
                         Δ 
                       
                        
                       
                           
                       
                        
                       Y 
                     
                     - 
                     
                       
                         
                           
                             
                               
                                 Z 
                                 j 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                             - 
                             
                               Z 
                               0 
                             
                           
                           
                             R 
                             0 
                             j 
                           
                         
                         · 
                         Δ 
                       
                        
                       
                           
                       
                        
                       Z 
                     
                     - 
                     
                       c 
                       · 
                       δ 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
             
               
                 
                   
                       
                   
                    
                   
                     
                       
                         
                           
                             R 
                             0 
                             j 
                           
                           = 
                           
                             f 
                              
                             
                               ( 
                               
                                 
                                   X 
                                   0 
                                 
                                 , 
                                 
                                   Y 
                                   0 
                                 
                                 , 
                                 
                                   Z 
                                   0 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     
                       
                         
                           = 
                           
                             
                               
                                 
                                   ( 
                                   
                                     
                                       
                                         X 
                                         j 
                                       
                                        
                                       
                                         ( 
                                         t 
                                         ) 
                                       
                                     
                                     - 
                                     
                                       X 
                                       0 
                                     
                                   
                                   ) 
                                 
                                 2 
                               
                               + 
                               
                                 
                                   ( 
                                   
                                     
                                       
                                         Y 
                                         j 
                                       
                                        
                                       
                                         ( 
                                         t 
                                         ) 
                                       
                                     
                                     - 
                                     
                                       Y 
                                       0 
                                     
                                   
                                   ) 
                                 
                                 2 
                               
                               + 
                               
                                 
                                   ( 
                                   
                                     
                                       
                                         Z 
                                         j 
                                       
                                        
                                       
                                         ( 
                                         t 
                                         ) 
                                       
                                     
                                     - 
                                     
                                       Z 
                                       0 
                                     
                                   
                                   ) 
                                 
                                 2 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0016]    In equation (3), all the unknown quantities (ΔX, ΔY, ΔZ and δ) are on the right hand of the equation, whereas the left hand is known. Because of the presence of four unknown quantities, in order to compute the receiver position is necessary to have at least four equations, that is it is necessary to receive signals from at least four satellites, so as to compute the corresponding pseudoranges. Generally, the number N of satellites, the signals of which are received by a receiver, ranges from four to twelve, depending on the satellite constellation geometry and on the receiver position, leading to a system of equations having more equations than unknown quantities, thus being apparently overdetermined. In reality, the observables are affected by errors and noise, therefore the system is not-consistent. This apparent inconsistency is resolved by means of the introduction of a noise vector  e , leading to the following linearized pseudorange equation system: 
         [0000]          y = G · X + e     (5)
 
         [0000]    wherein:
         X  is a vector [ΔX ΔY ΔZ δ] containing the coordinates of the adjustment vector [ΔX, ΔY, ΔZ] associated with the approximate receiver position vector [X 0 , Y 0 , Z 0 ], which represents the centre of the Taylor&#39;s series, as well as the receiver clock offset δ;     G  is a matrix having four columns and N rows, each row being associated with a corresponding satellite, the signal of which are received by the receiver;     y  is a N-dimension vector containing the N pseudoranges, each deducted of the corresponding geometric distance ρ j  between the corresponding satellite and the receiver, thus depending on the approximate receiver position; and   the noise vector  e  is an N-dimension vector containing the errors of the components of the vector  y .       
 
         [0021]    It is possible to demonstrate that each row of the matrix  G  can be expressed as: 
         [0000]      G i =[ cos El i  cos Az 1  cos El i  cos Az i  sin El i 1]  (6)
 
         [0022]    According to equation (6), each row of the matrix  G  depends on the elevation El i  and the azimuth Az i  of the corresponding i-th satellite, namely on the receiver and satellite positions, the satellite position being a known quantity either from the ephemeris or the data contained in the navigation messages. 
         [0023]    In knows GNSSs, equation system (5) is used to iteratively compute estimates  {circumflex over (X)}  of vector  X . In fact, by arbitrarily choosing an approximate receiver position, namely an approximate receiver position vector [X 0 ,Y 0 ,Z 0 ], it possible to compute a corresponding approximation  {tilde over (y)}  of the vector  y , as well as an approximation  {tilde over (G)}  of the matrix G. Afterwards, starting from the equation system (5) and neglecting the vector  e , the equation system  {tilde over (G)} · {circumflex over (X)} = {tilde over (y)}  may be solved and a first estimate  {circumflex over (X)}  of the vector  X =[ΔX ΔY ΔZ δ] so computed, which computation involves the computation of an estimated receiver position vector [X 1 , Y 1 , Z 1 ]. In fact, the estimated receiver position vector [X 1 , Y 1 , Z 1 ] is given by the sum of the approximate receiver position vector [X 0 , Y 0 , Z 0 ] and the adjustment vector [ΔX ΔY ΔZ], formed by the first three components of the computed vector  X . 
         [0024]    Afterwards, the estimated receiver position vector [X 1 , Y 1 , Z 1 ] is used as a new approximate receiver position for the subsequent iteration in the computation of the estimate  {circumflex over (X)}  of the vector  X . Based on the new approximate receiver position, a new approximate vector  {tilde over (y)}  of the vector  y  and a new approximation  {tilde over (G)}  of the matrix  G  are computed, so as to compute a new estimate  {circumflex over (X)}  of the vector  X , and, consequently, a new estimate of the receiver position, by solving again the equation system  {tilde over (G)} · Ŝ = {tilde over (y)} . The described sequence of operations is then iterated until the difference between to consecutive estimates  {circumflex over (X)}  of the vector  X  is less than a predetermined threshold. 
         [0025]    More in detail, the equation system G {tilde over (G)} · Ŝ = {tilde over (y)}  is solved by means of the least squares method, which uses the generalized inverse of the approximation  {tilde over (G)}  of the matrix  G  and leads to the equation: 
         [0000]          {circumflex over (X)}   =inverse of    {tilde over (G)} · {tilde over (y)}   =( {tilde over ( G )} T   · {tilde over ( G )} ) −1 · {tilde over ( G )} T   · {tilde over (y)}   (7)
 
         [0026]    wherein  {tilde over (G)}   T  is the transpose matrix of the matrix  {tilde over (G)} , and the apex −1 indicates the inverse of the matrix it refers to. 
         [0027]    From the foregoing, it may be appreciated that the receiver position vector [X, Y, Z] depends on the computed pseudoranges ρ j , contained in the vector  y  and in the corresponding approximate vectors  {tilde over (y)} . Since pseudoranges related to different satellites are affected by errors to different extents, each pseudorange is computed with a different accuracy degree, which affects the computation of the receiver position. 
         [0028]    In order to improve the accuracy of the computed receiver position, the provision of a weight matrix in the computation of the receiver position has been recently proposed. For example, US2003/0036849 A1 discloses a track model constraint for GPS position wherein a diagonal pseudorange observation weight matrix is disclosed with diagonal entries which are the reciprocal of the variance entries of the pseudoranges. 
       OBJECT AND SUMMARY OF THE INVENTION 
       [0029]    The Applicant has noted that from an architectural point of view, the solution proposed in the aforementioned patent application requires the provision of differential stations to correct the pseudoranges and to support the phase ambiguity estimation. 
         [0030]    The Applicant has also noted that from a computational point of view, the solution proposed in the aforementioned patent application involves a computationally-intensive computation of the individual entries of the weight matrix based on geographical information of the territory on which the receiver is placed, which geographical information is retrieved via altimetric and photographical surveys. 
         [0031]    Therefore, an objective of the present invention is to devise a lighter computation methodology for the entries of the weight matrix, which methodology allows an enhanced receiver position to be estimated. 
         [0032]    These and other objectives are achieved by the present invention in that it relates to a method, a system and a software product, as defined in the appended claims. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0033]    The present invention is now described with reference to a non-limitative example and to the enclosed drawings, wherein: 
           [0034]      FIG. 1  depicts an assisted global navigation satellite system (A-GNSS); 
           [0035]      FIG. 2  depicts a GNSS receiver and four satellites of a satellite constellation of the GNSS; 
           [0036]      FIG. 3  shows an histogram according to the present invention; 
           [0037]      FIG. 4  shows a Rice, a Rayleigh and a Loo probability density functions; 
           [0038]      FIG. 5  shows qualitatively the distribution of degradations in an elevation class according to the present invention, and corresponding fitting distribution functions, index array and degradation intervals according to the present invention; and 
           [0039]      FIG. 6  shows a lookup table according to the present invention. 
           [0040]      FIG. 7  shows a comparison in terms of topocentric errors between the present invention and known techniques. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0041]    The present invention stems from the following observation. GNSS receivers perform well in presence of Line of Sight (LOS) signals, that is signals emitted by a satellite and propagating directly to the receiver, without experiencing reflections and/or diffractions by external elements, such as buildings. In a real environment, GNSS receivers rarely rely on LOS signals; more often, they have to deal with replicas of the signals emitted by the satellite, generated by the interaction of the signals with the real environment. Each replica experiences a certain number of reflections and/or attenuations, thus reaching a receiver with its own amplitude. Furthermore, each signal replica reaches the receiver after propagating along a particular path, therefore with its own delay with respect to the emission time of the signal, so positively or negatively interfering with other replicas at the receiver side. This phenomenon is known as multipath interference and causes a degradation of the received signals additional to the proper propagation attenuation, so leading to a reduction of the receiver performances. 
         [0042]    From a practical point of view, the receivers have to manage in an efficient manner replicas having different delays, so as to extract the information associated with the signals emitted by the satellites. Furthermore, generally the receivers receive signals from different satellites, and the multipath phenomenon affects all the communications established between the receivers and the satellites. However, signals emitted by different satellites are affected by the multipath interferences to different extents, and as a consequence, the communications with the satellites have different degrees of reliability. 
         [0043]    The idea underlying the present invention is to compute the degradations experienced by the received satellite signals and due to the multipath interference, and then to compute the weight matrix based on the computed degradations. 
         [0044]    Computation methodology for the entries of the weight matrix  W  according to the present invention will be hereinafter described in detail, which computation may be performed by either the receiver  2  or the local element  3  charged with the computation of the estimated receiver position. 
         [0045]    The following equation system corresponds to the equation system (7) with the provision of the proposed weight matrix W: 
         [0000]        {circumflex over ( X )} =(   {tilde over (G)}     T   · W · {tilde over (G)}   ) −1 · {tilde over ( G   T )} ·   W · {tilde over (y)}     (8)
 
         [0046]    The degradations of the received satellite signals due to their propagation in a real, multipath-affected environment, such as a urban street or, more in general, so-called urban canyons, rather than in an ideal, substantially multipath-free environment, such as an environment where the receiver receives only LOS signals, are determined by means of known techniques. For example, the degradation of a received satellite signal may be computed by subtracting either the overall attenuation (expressed in dB) experienced by the satellite signal in the substantially multipath-free environment from the overall attenuation (expressed in dB) experienced by the satellite signal in the multipath-affected environment or the power (expressed in dB) of the received satellite signal measured by the receiver in the multipath-affected environment from the power (expressed in dB) of the received satellite signal measured by a receiver in the substantially multipath-free environment. Additionally, as the signal power is generally measured in terms of Carrier-to-Noise Ratio (CNR), that is as the ratio C/N between the average received modulated carrier power C and the average received noise power N after the receiver filters, the signal degradation may be conveniently computed as the subtraction between the signal CNR (expressed in dB) measured in the real environment and the signal CNR (expressed in dB) measured in the ideal environment. 
         [0047]    After the signal degradations have been computed, a statistical data processing is performed as described herebelow in detail to determine quantities indicative of the quality of the received signals. 
         [0048]    In particular, for each satellite the following data, hereinafter referred to as satellite data, are available: the satellite pseudorange, the degradation of the signals emitted by the satellite, and the satellite azimuth and elevation. An histogram of the type shown in  FIG. 3  is hence computed based on the satellite data. More in detail, the signals received by the receiver are first classified into a number M of different elevation classes based on the elevation of the satellite that has emitted the signals. 
         [0049]    For each elevation class, the signals belonging to the elevation class considered are then further classified into a number A of different degradation classes, which are common to all elevation classes, based on the corresponding computed degradations. The widths of the elevation and degradation classes can be arbitrarily chosen. In the histogram shown in  FIG. 3 , the degradation classes are indicated on the abscissa axis, while the cardinality of each degradation class, namely the number of signals with degradations falling within each degradation class, is indicated in the ordinate axis, as a percentage with respect to all the received signals. In the example shown in  FIG. 3 , the elevation classes are in number of five (M=5), and are respectively associated with the following elevation degree ranges: 0-10, 10-20, 20-40, 60-90. 
         [0050]    For each elevation class, the distribution along the abscissa axis of the corresponding numbers of signals with degradations falling within the corresponding degradation classes is globally fitted with a plurality of different distribution functions, in the example considered in number of three, known in literature, conveniently the known Rice, Rayleigh and Lao distribution functions shown in  FIG. 4  and each defined, among other things, by respective parameters, such as mean and variance. The skilled person may Immediately appreciate that other distributions can be used, but in the following description reference will be made to the Rice, Rayleigh and Loo distributions. 
         [0051]    The choice of these three distribution functions is due to the following. When a signal emitted by a satellite experiences multipath interferences, the attenuations of the received signals may be modelled with a Rice distribution: 
         [0000]        f   ricean (ν)=2 K νexp[− K (ν 2 +1)] I   0 (2 μK )
 
         [0000]    wherein ν is the amplitude of the received LOS signal, K is power ratio between the LOS signal and a signal generated by multipath interferences, and I 0  is the Bessel function of order 0. 
         [0052]    Instead, when a signal emitted by a satellite cannot reach the receiver directly, and hence the receiver receives just signals generated by multipath interferences, the attenuations of the received signals follow the Rayleigh distribution, which is a particular case of the Rice distribution: 
         [0000]        f   Rayleigh (ν)=2 Kν exp[− Kv   2 ]
 
         [0053]    wherein ν, K and I 0  have the same meaning as in the Rice distribution. 
         [0054]    Finally, when a signal emitted by a satellite is received directly by the receiver, after having experienced attenuations due to materials such as leaves, the signal is said “shadowed”, the attenuation of the received signal may be modelled with the Loo distribution: 
         [0000]    
       
         
           
             
               
                 f 
                 Loo 
               
                
               
                 ( 
                 v 
                 ) 
               
             
             = 
             
               
                 
                   2 
                   π 
                 
               
                
               
                 Kv 
                 σ 
               
                
               
                 
                   ∫ 
                   0 
                   ∞ 
                 
                  
                 
                   
                     1 
                     z 
                   
                    
                   
                       
                   
                    
                   
                     exp 
                      
                     
                       ( 
                       
                         
                           - 
                           
                             
                               
                                 ( 
                                 
                                   
                                     log 
                                      
                                     
                                       ( 
                                       z 
                                       ) 
                                     
                                   
                                   - 
                                   m 
                                 
                                 ) 
                               
                               2 
                             
                             
                               2 
                                
                               
                                 σ 
                                 2 
                               
                             
                           
                         
                         - 
                         
                           k 
                            
                           
                             ( 
                             
                               
                                 v 
                                 2 
                               
                               + 
                               
                                 z 
                                 2 
                               
                             
                             ) 
                           
                         
                       
                       ) 
                     
                   
                    
                   
                     
                       I 
                       0 
                     
                      
                     
                       ( 
                       
                         2 
                          
                         Kvz 
                       
                       ) 
                     
                   
                    
                   
                      
                     z 
                   
                 
               
             
           
         
       
     
         [0000]    wherein ν, K and I 0  have the same meaning as in the Rice distribution, whereas m is the mean of the attenuations and σ is the standard deviation. 
         [0055]    It has to be noted that the Loo distribution comprises two components: one corresponding to the attenuated LOS signal, following a lognormal distribution, and one corresponding to multipath interferences, following a Rayleigh distribution. 
         [0056]    Then, for each degradation class in each elevation class, one of the three corresponding fitting distribution functions is associated which best fits, namely is closer to the number of signals with degradations falling within the corresponding degradation class. As shown in  FIG. 5 , this processing leads to the formation of an array of indexes for each elevation class, wherein each index is associated with a corresponding degradation class and is indicative of the best fitting distribution function for such a degradation class. 
         [0057]    Then, in each array of indexes, subsequent groups of indexes are identified, wherein each group contains only equal indexes, and consecutive groups of indexes contain different indexes. Each group of equal indexes thus identifies a corresponding group of consecutive degradation classes which are fitted by one and the same best fitting distribution function, each group of degradation classes being hereinafter referred to as degradation interval. 
         [0058]    At the end of this process, for each elevation class and each degradation interval a corresponding best fitting distribution function is identified, which has, among other things, an its own variance. 
         [0059]    Then, a look-up table is constructed based on the identified groups of indexes, wherein the look-up table has a number of rows equal to the number H of elevations classes, and a number of columns equal to the number L of degradation intervals. In particular, each row is associated with a corresponding elevation class, each column is associated with a corresponding degradation interval, and each lookup entry is related to a parameter of the best fitting distribution function associated with the corresponding elevation class and degradation interval. Conveniently, each look-up entry is related, preferably substantially equal (short of minor adjustments), to the reciprocal of the variance of the corresponding best fitting distribution function.  FIG. 6  shows a look-up table corresponding to the example shown in  FIG. 3 , namely with five rows and eight columns. It may be appreciated that in the look-up table the degradation intervals (columns) are common to all the elevation classes (rows). However, in general different elevation classes may be associated with different degradation intervals, so leading to a lookup table wherein the columns are not common to all the rows, but each row is associated with its own columns, which may be either equal or different from the columns associated with the other rows, either in number or in the degradation intervals associated therewith, or both. 
         [0060]    In the end, the aforementioned weight matrix  W  is computed based on the formed lookup table, wherein the weight matrix  W  is a square matrix with a number of rows and columns equal to the number N of satellites “seen” by the receiver. Preferably, the weight matrix  W  is diagonal, wherein each diagonal entry is set equal to the entry of the lookup table corresponding to the elevation of the satellite associated with the diagonal entry and the degradation of a received signal, or a group of signals, emitted by such a satellite. The other non-diagonal entries may be either equal to zero, whereby the weight matrix  W  is pure diagonal, or negligible compared to the diagonal entries, whereby the weight matrix  W  is pseudo- or quasi-diagonal. 
         [0061]    From a practical point of view, the weight matrix  W  assigns to each of the aforementioned satellite data, and in particular to each pseudorange, a corresponding weight related to the elevation of the satellite and the degradation of the corresponding received signals, so as to overweight those satellite data contained in received signals which are less affected by multipath phenomenon and hence less degraded and with a lower statistical dispersion, and to underweight the others. 
         [0062]    Extensive computer simulations proved that the adoption of the present invention allows the receiver position estimation accuracy to be markedly enhanced compared to commercially available satellite receivers that either do not implement any weighting at all or implement different weighting approaches, as summarized in terms of topocentric errors of the position coordinates in the table shown in  FIG. 7 . 
         [0063]    Finally, it is clear that numerous modifications and variants can be made to the present invention, all falling within the scope of the invention, as defined in the appended claims. 
         [0064]    In particular, the histogram may be computed based on the degradations of signals received in an appropriate time span by several receivers located in multipath-affected environments, the time span being equal, as an example, to the satellite constellation orbit period, thereby improving the accuracy of the variance computation and, as a consequence, the receiver position estimation. 
         [0065]    Furthermore, the lookup table may be computed either statically or dynamically, namely updated periodically, by means of a periodic survey, and stored in a database. This latter solution may be advantageously employed in an assisted GNSS including assistance servers in the local elements where such a database may be hosted. 
         [0066]    Additionally, the weights are sent to the receiver according to the receiver position, preferably upon emission of an assistance request by the receiver. In this case, the assistance request comprises a rough estimation of the receiver position, so as to allow the assistance server to scan the database and extract the proper weights, which are sent back to the receiver. Conversely, the extracted weights may be directly used by the assistance server to compute the receiver position.