=Paper= {{Paper |id=Vol-2626/paper5 |storemode=property |title=Performance Analysis of Collaborative Positioning Method in Automated Car Driving |pdfUrl=https://ceur-ws.org/Vol-2626/paper5.pdf |volume=Vol-2626 |authors=Shuo Li,Nikolay Mikhaylov,Florian Schiegg,Yichen Liu |dblpUrl=https://dblp.org/rec/conf/icl-gnss/LiMSL20 }} ==Performance Analysis of Collaborative Positioning Method in Automated Car Driving== https://ceur-ws.org/Vol-2626/paper5.pdf
Performance Analysis of Collaborative Positioning Method in
Automated Car Driving
Shuo Lia, Nikolay Mikhaylova, Florian Schiegga and Yichen Liua
a
     Robert Bosch GmbH, Robert-Bosch-Straße 200, Hildesheim, Germany


                                  Abstract
                                  Automated car driving is a complex project involving many technologies, and it is essential to
                                  obtain vehicles’ accurate position information by using Global Navigation Satellite System
                                  (GNSS) technology. However, in many scenarios, such as urban canyon, it is difficult for
                                  vehicles to acquire accurate positioning results through stand-alone Single Point Positioning
                                  (SPP) due to obstruction and lacking visible satellites. With the rapid development of GNSS
                                  technology and Vehicle to Everything (V2X) communication, the GNSS Collaborative
                                  Positioning (CoPos) is becoming possible. CoPos requires vehicles to share GNSS raw
                                  measurements with their neighbors through V2X communication and to measure the local
                                  ranges between vehicles. In this paper, basic GNSS pseudorange and local range observation
                                  equations, Extended Kalman Filter (EKF) positioning algorithm and a Non-Line-of-Sight
                                  (NLOS) detection algorithm for CoPos are presented. A simulation framework based on
                                  vehicle dynamics simulator CarMaker and GNSS simulator Spirent is designed. Performance
                                  analysis of CoPos is offered in terms of a defined Collaborative Dilution of Precision (CDOP)
                                  value and positioning results compared with SPP. The results of the NLOS detection algorithm
                                  are given too. It is shown that the developed CoPos and NLOS-detection algorithms provide
                                  better positioning results than standard stand-alone SPP.

                                  Keywords 1
                                  GNSS, V2X, Collaborative Positioning, Extended Kalman Filter, Multipath Detection,
                                  Simulation Framework, CarMaker, Spirent, Performance Analysis




1. Introduction

    Global Navigation Satellite System (GNSS) refers to a constellation of satellites that provides
autonomous geo-spatial positioning with global coverage and it has been widely used in various fields
such as transportation, navigation, surveying and rescue, etc. An automated driving system is a complex
combination of various technologies and a fully autonomous vehicle needs an accurate, reliable,
redundant and continuous positioning solution from GNSS. However, facing occlusions and multipath
effects in urban canyons, tunnels forests and other challenging environments, the positioning
performance would be affected severely and up to now, there are no good solutions in these scenarios
for stand-alone Single Point Positioning (SPP) [1]. To overcome it, with the development of
communication and ranging technology, many positioning methods have been proposed with the
assumption that the positions of some base stations are known. For example, base stations can transmit
corrections to a moving vehicle, the vehicle can fix the positioning result with higher accuracy by
utilizing these corrections. However, it is difficult to set a large network of base stations, and as a result,
the coverage of the base stations is limited, compared with GNSS [2].

ICL-GNSS 2020 WiP Proceedings, June 02–04, 2020, Tampere, Finland
EMAIL: shuo.li.chn@gmail.com (A. 1); Nikolay.Mikhaylov@de.bosch.com (A. 2); Florian.Schiegg@de.bosch.com (A. 3);
yichen.liu@tum.de (A. 4)
ORCID: 0000-0002-6826-3291 (A. 1); 0000-0001-9184-3465 (A. 2); 0000-0002-6889-4878 (A. 3); 0000-0003-0253-9520 (A. 4)
                               © 2020 Copyright for this paper by its authors.
                               Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Wor
    Pr
       ks
        hop
     oceedi
          ngs
                ht
                I
                 tp:
                   //
                    ceur
                       -
                SSN1613-
                        ws
                         .or
                       0073
                           g

                               CEUR Workshop Proceedings (CEUR-WS.org) Proceedings
    Driven by the development of Vehicle to Everything (V2X) communication technology,
Collaborative Positioning (CoPos) provides an alternative solution to solve this problem. CoPos refers
to a group of users sharing their raw GNSS measurements and measuring the local ranges with their
neighboring users to accomplish positioning. CoPos can improve the positioning performance such as
availability, continuity, and accuracy [3, 4]. GNSS has global coverage, therefore it can resolve the
coverage issue of wireless sensor networks. Apart from GNSS measurement, a precise local range
measurement is essential to achieve a better performance of CoPos. For almost a decade, multi-sensors
have been available in vehicles, for example, a prototype of a fully autonomous vehicle is proposed in
[5] using 3D laser scanners to obtain an accurate position of the surrounding environment. Different
sensors have their advantages and disadvantages and an intelligent strategy is to do the data fusion,
combining the measurements from different sensors and from V2X messages, such as the collective
perception message currently being standardized by the European Telecommunications Standards
Institute [6], in order to obtain a more precise local range measurement.
    Several multipath mitigation methods are introduced in [7], they can be classified as antenna-based,
receiver-based and post-receiver. The antenna-based method can attenuate reflected signals, but it has
a little effect on positioning errors caused by Non-Line-of-Sight (NLOS) signals, moreover, advanced
antennas are bulky and expensive. Receiver-based techniques can reduce the positioning errors
significantly by sharpening the peak of the code correlation function, but it does not affect NLOS signal
reception. Post-receiver technology compares measurements in different frequencies or code and phase
measurements to detect NLOS signals.
    In this work, a combination of GNSS and V2X technology to obtain vehicles’ positioning solution
is introduced. A CoPos algorithm in [8] is extended by Extended Kalman Filter (EKF) and a defined
Collaborative Dilution of Precision (CDOP) based on [9] are presented. In section 3, a multipath
detection algorithm proposed in [10] is modified for EKF-based CoPos. The used simulation framework
based on the simulator TEPLITS [11,12] is described in section 4, section 5 gives the performance
analysis of CoPos compared with SPP. Finally, the conclusions are given in the section 6.

2. Collaborative Positioning

    Figure 1 shows a typical collaborative positioning of a multi-user application scenario. In an urban
environment, satellite visibility could be bad because of building blockage, and the multipath effect is
strong. As shown in Figure 1, the vehicle located in the middle tracks less than four satellites because
GNSS signals are blocked by the tall building. As a result, the basic requirement to perform SPP is not
fulfilled. However, the considered vehicle communicates with the other two vehicles through V2X.
Each of the other two vehicles tracks four satellites and transmits GNSS raw measurements as well as
pre-processed data via V2X messages. The considered vehicle in the middle receives messages from
other vehicles and measures local range to the other two vehicles.




Figure 1: A typical multi-user application scenario

   The basic pseudorange observation equation of user 𝑢 and satellite 𝑘 can be expressed as
                                    𝜌!" = 𝑑!" + 𝑐𝛿𝑡! − 𝑐𝛿𝑡" + 𝜀!" ,                                  (1)
where 𝜌!" is pseudorange measurement, 𝑑!" is true range between user 𝑢 and satellite 𝑘, 𝑐 is speed of
light, 𝛿𝑡! and 𝛿𝑡" are receiver clock bias and satellite clock bias respectively, 𝜀!" includes atmospheric
delay, multipath, receiver noise and satellite orbital errors.
   The local range observation equation is given by
                                                    𝑟#,% = 𝑑#,% + 𝜂#,% ,                                         (2)
where 𝑟#,% is local range measurement, 𝑑#,% is the true range from user 𝑖 to user 𝑗 and 𝜂#,% is local range
measurement noise. In general, 𝜂#,% depends on the ranging technology and the changing user
environment. Typically, a meter level accuracy of local range measurements can be achieved and for
some high accuracy ranging technologies or through data fusion, a centimeter-level accuracy can be
obtained.
   Based on the aforementioned pseudorange and local range observation equations, a CoPos algorithm
using EKF is implemented. The EKF produces firstly estimates of the current state variables, along with
their uncertainties, once the next measurement is observed, these estimates are updated using a weighted
average. The algorithm is divided into four steps.
   •    Set initial state vector and covariance matrix
   The initial state vector 𝒙
                            6&,' of user 1 can be set as
                                   6&,' = 7𝑥' , 𝑥̇' , 𝑦' , 𝑦̇' , 𝑧' , 𝑧̇' , 𝑐𝛿𝑡' , 𝑐𝛿𝑡̇ ' <,
                                   𝒙                                                                             (3)
where 𝑥' , 𝑦' , 𝑧' are the user’s position, 𝑥̇ ' , 𝑦̇' , 𝑧̇' are the user’s velocity and 𝑐𝛿𝑡' , 𝑐𝛿𝑡̇ ' are clock bias
and clock bias drift of user 1. The over dots denote the time derivative. Consider the number of users
in a group is 𝑛, the initial state vector 6
                                          𝒙& is the combination of the state vectors of all users and it is a
8𝑛 × 1 matrix
                                                                                 *
                                             𝒙
                                             6& = 7𝒙
                                                   6&,' , 𝒙
                                                          6&,( , … , 6
                                                                     𝒙&,) < .                                    (4)
The initial error covariance matrix 𝑷& indicates the degree of trust in the current state, and a relatively
small value is generally set in order to obtain a fast convergence speed. The initial 𝑷& matrix can be set
as an 8𝑛 × 8𝑛 identity matrix
                                                       1 ⋯ 0
                                                 𝑷& = E ⋮ ⋱ ⋮ J.                                                 (5)
                                                       0 ⋯ 1
   •   Prediction
   The prediction of state vector and covariance matrix can be expressed as
                                                      6,
                                                      𝒙+ = 𝑨𝒙
                                                            6+,'
                                                𝑷,          *
                                                 + = 𝑨𝑷+,' 𝑨 + 𝑸,                                                (6)
      6,
where 𝒙     ,
       + , 𝑷+ are the predicted state vector and error covariance of current epoch 𝑡, 6
                                                                                      𝒙+,' , 𝑷+,' are the
state vector and error covariance of previous epoch 𝑡 − 1, 𝑨 is a 8𝑛 × 8𝑛 state transition matrix, it is a
block diagonal matrix of the form
                                                  𝑨-./0       ⋯   𝟎
                                         𝑨=P        ⋮         ⋱   ⋮ R,                                           (7)
                                                    𝟎         ⋯ 𝑨-./0
where 𝑨-./0 is state transition matrix of one user. Based on a simple constant velocity model and
assuming there is no coupling between 𝑥, 𝑦, 𝑧 and 𝑐𝛿𝑡, 𝑨-./0 is formed by
                                          𝑨-./            𝟎          𝟎       𝟎
                                        ⎡                                       ⎤
                                           𝟎            𝑨-./         𝟎       𝟎
                                𝑨-./0 = ⎢                                       ⎥,                               (8)
                                        ⎢ 𝟎              𝟎        𝑨-./       𝟎⎥
                                        ⎣ 𝟎              𝟎         𝟎         𝑨0 ⎦
where
                                                           1 ∆𝑡
                                          𝑨-./ = 𝑨0 = Z          \.                                    (9)
                                                           0 1
    𝑸 is covariance matrix of the process noise, the smaller value in 𝑸 matrix indicates the higher degree
of trust in the predicted state. On the contrary, the larger value in 𝑸 represents the higher confidence in
the measurements. The process covariance matrix 𝑸-./0 of one user is a block diagonal matrix with
three identical submatrices for the position-velocity pairs and one submatrix for the clock-clock drift
pair. The forming of 𝑸-./0 matrix assumes that the states are uncorrelated with each other outside of
the pairs and statistically coupled only in pairs
                                            𝑸-./      𝟎          𝟎     𝟎
                                          ⎡                               ⎤
                                             𝟎       𝑸-./        𝟎     𝟎
                                  𝑸-./0 = ⎢                               ⎥.                         (10)
                                          ⎢ 𝟎         𝟎         𝑸-./   𝟎⎥
                                          ⎣ 𝟎         𝟎          𝟎     𝑸0 ⎦
   We follow work [13] to set 𝑸-./ and 𝑸0 . A white noise spectral density which represents random
                                       (
walk velocity error can be defined as 𝜎-./ , and each position-velocity pair has two variance terms and
one covariance term, which describes a submatrix
                                                         ∆𝑡 1 ∆𝑡 (
                                                        ⎡           ⎤
                                                     ( ⎢ 3       2  ⎥.
                                           𝑸-./ = 𝜎-./      (                                      (11)
                                                        ⎢∆𝑡         ⎥
                                                        ⎣ 2     ∆𝑡 ⎦

    A clock-clock drift pair has two variance terms and one covariance term as well. Two components
of clock phase error 𝑆2 , the white noise spectral density leading to random walk velocity error and 𝑆3 ,
the white noise spectral density leading to a random walk clock frequency error plus white noise clock
drift form another submatrix together
                                                   𝑆 ∆𝑡 1 𝑆3 ∆𝑡 (
                                        ⎡ 𝑆2 ∆𝑡 + 3               ⎤
                                  𝑸0 = ⎢               3     2 ⎥.                               (12)
                                        ⎢      𝑆3 ∆𝑡 (            ⎥
                                        ⎣                   𝑆3 ∆𝑡 ⎦
                                                 2
   The process noise covariance matrix 𝑸 is a 8𝑛 × 8𝑛 matrix and it is the combination of 𝑸-./0 of all
users
                                                𝑸-./0     ⋯   𝟎
                                          𝑸=P     ⋮       ⋱   ⋮ R.                                   (13)
                                                  𝟎       ⋯ 𝑸-./0
   •    Compute Kalman gain
   After predicting, the next step is to compute the Kalman gain 𝑲+
                                          𝑲+ = 𝑷,  *   , *     ,'
                                                + 𝑮 (𝑮𝑷+ 𝑮 + 𝑹) ,                                    (14)
where 𝑮 is geometry matrix of the observation model, 𝑹 is measurement error covariance matrix. 𝑮
matrix can be expanded as
                                                        𝑮4
                                                 𝑮=c       d,                                        (15)
                                                        𝑮5
the construction of submatrices 𝑮4 and 𝑮5 are based on the observation equations (1) and (2). Since the
pseudorange and local range observation equations are nonlinear in the receiver position coordinates, a
Taylor series expansion is applied. The geometry matrix of pseudorange 𝑮4 can be built by
                                 𝑮4,'        ⋯  𝟎                        𝒆''     1 0
                           𝑮4 = P ⋮          ⋱  ⋮ R              𝑮4,' = P ⋮      ⋮ ⋮ R,               (16)
                                                                          "
                                  𝟎          ⋯ 𝑮4,)                      𝒆' !    1 0
where 𝑮4,' is geometry matrix of user 1, 𝑘' is the number of pseudorange measurements of user 1, 𝒆''
is given by
                                          𝑥' − 𝑥 '      𝑦' − 𝑦'      𝑧' − 𝑧'
                                𝒆'' = f            , 0,         , 0,         , 0g,                    (17)
                                             𝑑''           𝑑''          𝑑''
where 𝑥 ' , 𝑦' , 𝑧' describe the position of satellite 1. The geometry matrix of local range 𝑮5 can be built
by
                                     𝒆',(      −𝒆',(     𝟎           … …  𝟎
                                   ⎡                                           ⎤
                                     𝒆          𝟎       −𝒆',1        𝟎 …  𝟎
                              𝑮5 = ⎢ ',1                                       ⎥,                     (18)
                                   ⎢ ⋮          ⋮        ⋮           ⋮ ⋮   ⋮ ⎥
                                   ⎣𝒆',)        𝟎        𝟎           𝟎 … −𝒆',) ⎦
where
                                     𝑥' − 𝑥(      𝑦' − 𝑦(      𝑧' − 𝑧(
                             𝒆',( = f        , 0,         , 0,         , 0, 0, 0g.                    (19)
                                       𝑑',(         𝑑',(         𝑑',(
Assuming the number of pseudorange measurements of the user group is 𝑁, 𝑮 is a (𝑁 + 𝑛 − 1) × 8𝑛
matrix.
   The determination of the 𝑹 matrix is related to the noise of the measurements. 𝑹4 and 𝑹5 are
submatrices of 𝑹 matrix, representing measurement error of pseudorange and local range respectively
                                                            𝑹4     𝟎
                                                  𝑹=c                 d.                              (20)
                                                            𝟎      𝑹5
The pseudorange measurement errors come from various sources, so it is difficult to get the probability
distribution of the measurement errors. However, the standard deviation of pseudorange measurement
error 𝜎4 can be calculated using the measured carrier-to-noise-density ratio (𝐶/𝑁0). In [14], a stochastic
SIGMA − ∆ model is proposed
                                             𝜎4( = C6 ∙ 10,(8/:&)/'& ,                                (21)
where m indicates the L6 signal (L' or L( ) and the effect of the oscillator stability on the phase
variances is considered negligible. C6 consists of the carrier loop noise bandwidth and a conversion
term from cycle to meter which includes the L6 wavelength. Under the assumption that the
pseudorange measurement errors are uncorrelated with each other, the 𝑹4 is a 𝑁 × 𝑁 diagonal matrix.
The local range measurement error 𝜎5 depends on sensor error models. Assuming the local range
measurement errors are independent, the 𝑹5 is a (𝑛 − 1) × (𝑛 − 1) diagonal matrix as well
                                 (                                  (
                                𝚺4,'       ⋯  𝟎                    𝜎5,',(       ⋯   0
                          𝑹4 = P ⋮         ⋱  ⋮ R            𝑹5 = P ⋮           ⋱   ⋮ R,              (22)
                                              (                                    (
                                 𝟎         ⋯ 𝚺4,)                    0          ⋯ 𝜎5,',)
        (                                                                       (
where 𝜎5,',( is error square of local range measurement from user 1 to user 2, 𝚺4,' is a block diagonal
matrix of the form
                                                    (
                                                   𝜎4,','    ⋯   0
                                        (
                                       𝚺4,' =P       ⋮       ⋱    ⋮ R,                                (23)
                                                                (
                                                     0       ⋯ 𝜎4,',"!
       (
where 𝜎4,',' is pseudorange measurement error square of satellite 1 tracked by user 1.
   •    Update
   The last step is to update the estimated state vector and error covariance
                                          𝒙    6,
                                          6+ = 𝒙              6,
                                                + + 𝑲+ (𝒛+ − 𝑮𝒙+)

                                             𝑷+ = 𝑷,        ,
                                                   + − 𝑲+ 𝑮𝑷+ ,                                      (24)
where 𝒛+ is pseudorange and local range measurements. In this step, the estimated user state vector and
error covariance matrix will be updated and they can be set as the initials for the next measurement
epoch.
   There are many factors that affect the satellite positioning accuracy and it makes the theoretical
performance analysis difficult. Therefore, a Dilution of Precision (DOP) is used to simplify the analysis
process. DOP is an important factor used to determine the positioning accuracy, but it only depends on
the geometry of the satellites. To analyze the impact of both satellite geometry and user geometry, a
CDOP is proposed in [9]. A collaborative weight coefficient matrix 𝑯 can be computed by using
geometry matrix defined in (15).
                                                𝑯 = (𝑮* 𝑹𝑮),' .                                      (25)
   Matrix 𝑯 contains the contributions from the number of users in a user group, user distributions,
visible satellites from each user and satellite geometries. The diagonal elements of matrix 𝑯 are the
variances of estimated users’ position and clock bias, the off-diagonal elements indicate the degree of
correlation. It can be expanded as
                                           𝑯'       𝑯',(       ⋯ 𝑯',)
                                           𝑯(,'     𝑯(         … 𝑯(,)
                                       𝑯=v                            w,                             (26)
                                            ⋮        ⋮         ⋱  ⋮
                                          𝑯),'      𝑯),(       ⋯ 𝑯)
where 𝑯' is the collaborative weight coefficient matrix for the user 1. The Collaborative Geometric
Dilution of Precision (CGDOP) of user 1 is defined as
                                𝐶𝐺𝐷𝑂𝑃' = |ℎ','' + ℎ',(( + ℎ',11 + ℎ',<< ,                            (27)
where ℎ','' is the first diagonal elements of 𝑯' . In order to get Collaborative East Dilution of Precision
(CEDOP) and Collaborative North Dilution of Precision (CNDOP), the current earth-centered-earth-
fixed coordinate should be transformed to east–north–under coordinate system by an orthogonal
rotation matrix [15].
                                𝐶𝐸𝐷𝑂𝑃' = |ℎ=',''           𝐶𝑁𝐷𝑂𝑃' = |ℎ=',(( ,                        (28)
where ℎ=','' represent the first diagonal elements of 𝑯' after transformation.

3. Multipath Detection

   As mentioned in [10], NLOS and multipath-contaminated measurements produce a less consistent
navigation solution than direct Line-of-Sight (LOS) measurements. Multipath detection aims to identify
the set of measurements, which are affected by multipath and to either discard them or reduce their
weight in (20) when calculating the position of users. Therefore, the multipath detection algorithm can
be merged into the EKF after the prediction step.
                   "
   A new vector 𝛇' ! combining pseudorange measurements and local range measurements of user 1
can be defined according to (1) and (2)
                                                           "
                                                 "      𝝆 !
                                                𝛇' ! = f ' g
                                                        𝒓',)
                                       "                           (
                            "         𝒅' !              𝑐𝛿𝒕'      𝝈4,'    𝝉"
                           𝛇' ! = f        g + 𝑮= ∆𝒙
                                                   6=,
                                                    + +Z     \ + f ( g + Z ! \,                      (29)
                                      𝒅',)               𝟎        𝝈5,'     𝟎
                          6=,
where 𝝉"! is NLOS delay, ∆𝒙                                                        =
                           + is the predicted state error without clock terms and 𝑮 is similar to (15)

                                  6=,
                                 ∆𝒙      ‡+=, , 0, ∆𝑦‡+=, , 0, ∆𝑧+=, , 0]*
                                   + = [∆𝑥
                                                        "                     *
                                    𝑮= = 7𝒆'' , … , 𝒆' ! , 𝒆',(
                                                            =          =
                                                                , … , 𝒆',) < .                      (30)
        =                                                                                       "
where 𝒆',( is the first six elements of 𝒆',( in (19). Since the components constructing 𝛇' ! are
independent and considering the pseudorange measurements and the local range measurements are
                                                     "
independent as well, the distribution of the vector 𝛇' ! is expressed as
                                                    "
                                                  𝛇' ! ~𝒩(𝑫, 𝑽),                                    (31)
where
                                          "
                                         𝒅 !     𝑐𝛿𝒕    𝝉"
                                    𝑫 = f ' g + Z '\ + Z ! \
                                         𝒅',)     𝟎      𝟎

                                                  *   𝚺(              𝟎
                                        𝑽 = 𝑮= 𝚲𝑮= + f 4,'               g.                         (32)
                                                       𝟎              𝑹5
                                                  6=,
The covariance matrix 𝚲 of predicted state error ∆𝒙+ is diagonal matrix. By comparing the 𝐶/𝑁0 to
                                  "!
the preset threshold, the vector 𝛇' can be divided into two groups, one contains 𝜙' possible NLOS
measurements and the other has 𝜙( LOS measurements and local range measurements in total. The
measurements in group 1 and group 2 can be approximated by a Gaussian distribution
                                    "         𝛇>!       𝑫       𝑽      𝑽'(
                                   𝛇' ! = c       d ~ •c ' d , c ''        d•,                      (33)
                                              𝛇>"       𝑫( 𝑽('         𝑽((
the size of 𝑫' , 𝑫( , 𝑽'' , 𝑽'( , 𝑽(' and 𝑽(( are 𝜙' × 1, 𝜙( × 1, 𝜙' × 𝜙' , 𝜙' × 𝜙( , 𝜙( × 𝜙' and 𝜙( ×
𝜙( respectively. If there is no NLOS delay in group 1, the conditional variable 𝛇>! | 𝛇>" should have a
conditional Gaussian distribution [16] with mean 𝝁>! and variance 𝑽>!
                                  𝝁>! = 𝑫' + 𝑽'( 𝑽,'
                                                  (( “𝛇>" − 𝑫( ”

                                        𝑽>! = 𝑽'' − 𝑽'( 𝑽,'
                                                         (( 𝑽(' .                                   (34)
Therefore, a normalized detection variable 𝑍>! is defined to check if the pseudorange measurements in
group 1 are corrupted by NLOS delays. 𝑍>! is the square of the Mahalanobis distance (MD)
                                                        *
                                𝑍>! = “𝛇>! − 𝝁>! ” 𝑽,𝟏
                                                    >! –“𝛇>! − 𝝁>! ”—.                              (35)

   If the detection statistics has a noncentral 𝜒 ( distribution with degree of freedom of 𝜙' , the
pseudorange measurements in group 1 contain NLOS delay. Otherwise, there is no NLOS delay in
group 1. However, 𝑍>! is only the sum of MD squares of all measurements in group 1. In order to
distinguish which measurement is corrupted by NLOS delay, the presented multipath detection
algorithm should be applied to each measurement individually. If one measurement has delay caused
by NLOS, the corresponding variance of pseudorange measurement error in (22) should be changed to
reduce the weight of this measurement in positioning.

4. Simulation Framework

   To analyze the performance of CoPos, a Matlab-based simulation framework is set up according to
the TEPLITS simulator, that is based on the dedicated vehicle dynamic simulator CarMaker and the
GNSS simulator Spirent.
    •    Carmaker
    CarMaker, developed by IPG Automotive, is an advanced software package for model-based design,
testing, and development in the field of vehicle dynamics. It provides powerful and real-time capable
models for vehicles, roads, drivers and traffic. Using CarMaker, real-world test scenarios including the
entire surrounding environment can be modeled accurately. When running the simulation, it is possible
to visualize real-time quantities of vehicle model, trailer, brake system, powertrain, driving maneuver,
etc. by IPG-Control. Vehicle motion parameters including position, velocity and acceleration can be
recorded into user motion files, which can be used as input for Spirent simulator to generate GNSS
measurements. Besides, an ideal local range measurement can be computed by using the reference
coordinates in the user motion files of every two vehicles. Measurements of sensors are accessible as
well. The fused sensor distance measurement can be later used as a local range measurement for CoPos.




Figure 2: A Simple CarMaker scenario with a vehicle equipped with sensors

   •    Spirent
   Spirent GNSS simulator is widely used to simulate the GNSS constellations, transmitted signals and
received signals by a static or dynamic receiver. It enables receiver performance test in a controlled
laboratory setting that is otherwise impossible with live GNSS signals. Spirent GSS7000 simulator
takes vehicle motion or vehicle reference coordinates as input, simulates GNSS signals to be received
by a GNSS receiver. The simulator can generate atmospheric delay in measurements and can
incorporate receiver clock bias if a real receiver is not available in the simulation. The Spirent GSS7000
simulator provides several observable types of different systems. Satellite constellation, atmospheric
model, antenna pattern, scenario can be easily specified to meet demands of research and development.
In addition, a real receiver makes it possible to simulate multipath and more realistic signals via an
external receiver port.




Figure 3: Simplified overview of the simulation framework

    The whole simulation procedure is shown in Figure 3. CarMaker is used to generate the user motion
files, which are used as input to the Spirent simulator to get RINEX files (observation and navigation).
For each simulation epoch, one extracts GNSS measurements from RINEX observation files, computes
the satellites’ position and velocity and calculates local ranges from vehicles’ reference position in user
motion files. Finally, the EKF is used to compute the position of each vehicle as described above.
   •    Ray Tracing Software
   The raytracing is performed according to geometrical considerations. Since the true position of every
vehicle as well as position of every satellite are known precisely in the simulation environment, the line
of sight rays can be determined. The echoes (the reflected rays) are subsequently determined by the
mutual geometry of satellites, reflectors and receivers. The reflecting buildings are modelled as
concrete, with the corresponding permittivity and conductivity. After the reflected rays are determined,
the corresponding signal parameters, namely path delay, the reflection loss and Doppler offset are
calculated for each reflected ray. The signals with the calculated parameters are simulated by Spirent
and processed by a GNSS receiver.
   Figure 4 below gives an example of ray tracing for three cars in an urban environment.




Figure 4: Ray tracing example, green: LOS signals, magenta: NLOS signals, blue: NLOS+LOS signals

   The above method allows ray tracing of complicated reflection surfaces. Figure 5 shows an example
of a reflecting surface (a wall) used in the simulation. The height profile of the walls is generated from
a Rician distribution with a certain mean height and standard deviation, given values are typically, 12m
and 3m, as buildings of approximately 3-4 stories in the city.




Figure 5: Example of a wall used in ray tracing
    It should be noted that the environment simulated corresponds to harsh environment with severe
multipath and low share of line of sight GNSS signals. Table 1 below provides an overview of the
statistics of signal types in both scenarios.
Table 1
Signal characteristics in the simulated scenarios (ego vehicle)
                      Multipath            LOS                    NLOS             Blocked
 Line                 10.0%                56.2%                  15.4%            18.4%
 Square               4.2%                 42.7%                  25.7%            27.4%



5. Performance Analysis

   In this section, the influence of user geometry and number of users are given to analyze the
positioning results of CoPos and SPP of one ego vehicle. The positioning results of SPP are given by
EKF using pseudorange measurements of the ego vehicle.
    •     Influence of user geometry
    A scenario with five vehicles moving in a straight line with a constant velocity of 30km/h is
simulated in CarMaker. Two vehicles follow the ego vehicle and the other two vehicles move in parallel
with the ego vehicle in an open-sky environment (see Figure 6). The local ranges between every vehicle
to its neighbors are about 30 meters. The duration of the simulation is 120 seconds. As shown in Figure
6, different vehicle combinations are selected to do CoPos and the positioning accuracy of the ego
vehicle in North-South and East-West directions is analyzed by comparing the positioning results
obtained by SPP and CoPos with its reference position obtained by CarMaker. The GDOP of SPP and
CGDOP of CoPos are compared with each other as well.
Figure 6: A simple scenario with five moving vehicles, positioning results of SPP and CoPos, GDOP and
CGDOP of the ego vehicle

     One can see clearly from this scenario that after the initial convergence of the solution caused by
EKF, the accuracy of CoPos is superior to the SPP in both East-West and North-South directions. The
increasing position error over time is because of the changing of satellite geometry. Different
geometries of vehicle group have different performances. In geometry 1, two vehicles are located in the
west direction of the ego vehicle, the positioning result has a significant improvement in East-West
direction, however, in North-South direction which keeps almost unchanged. The local range
measurements in East-West direction are additional measurements for the ego vehicle other than the
satellite measurements, which can decrease the CGDOP in that direction. The lower value of CGDOP
means the better confidence in positioning solution, as a result, the positioning accuracy can be
improved in the direction of the local range component. The geometry 2 contains three vehicles and
two of them are in the north of the ego vehicle. The performance of CoPos is opposite to geometry 1.
The local range measurements are in the North-South direction therefore the improvement of
positioning accuracy is mainly in the North-South direction and the performance of CGDOP provides
a consistent result. All the five vehicles in geometry 3 participate in CoPos and the positioning accuracy
of the ego vehicle is improved by about 0.5 meter in both East-West and North-South directions. The
CGDOP of geometry 3 also has a minimum value in two directions. The results indicate that the CoPos
performance is influenced by user geometry and the positioning accuracy will increase corresponding
to the direction of local range measurement.
   •    Influence of the number of users
   By using CarMaker, a scenario with fifteen vehicles moving around a rectangle is built. The length
and width of this rectangle are 80 meters and 70 meters, respectively. Vehicles are distributed one by
one in an open-sky environment. The average velocity of each vehicle is about 20km/h, it will slow
down when turning and speed up after entering the straight road. The duration of the whole simulation
is 120 seconds. In this scenario, different numbers of vehicles are selected to do CoPos and the
positioning results of the ego vehicle that is marked by a green circle are presented in Figure 7.
Figure 7: A scenario with fifteen vehicles moving around a square, positioning results of SPP and CoPos
with different number of vehicles

    It is obvious that SPP error, the dark blue curve, is larger than CoPos ones. The positioning results
of CoPos have a wavy performance, the maximum value of each curve occurs when the local ranges
are basically in the same direction. Since the geometry of vehicle group changes with time, the
positioning results have the corresponding trend. The wavy performance becomes weaker as the number
of vehicles increases which means the local ranges are in almost all directions. The small ups and downs
of the curves are because of the changing of velocity when vehicles enter the crossroads. With
measurements from other fourteen vehicles, the positioning error of the ego vehicle is greatly decreased
to about 1.3 meters, compared with SPP accuracy 2 meters. It indicates the accuracy of CoPos increases
with the growing number of measurements.
    •   Multipath mitigation
    As shown above, user geometry influences the positioning of users in CoPos. Figure 8 shows three
different constellations of five cars used for simulation of multipath scenarios.




Figure 8: Three different geometries used for simulation of five moving cars in multipath scenarios

    In the Figures 9 - 14 below the results of simulation of different user geometries for two scenarios
are given. The first scenario is movement in a square in urban canyon, the second one is movement in
a straight line with two walls parallel to the street. It is clear from the Figures 9 - 14 that CoPos provides
better positioning results than SPP, however, only a combination of multipath mitigation algorithm with
CoPos provides positioning significantly better than SPP. The following abbreviations are used in
Figures 9 - 14: CP for CoPos, ND for NLOS detection.
Figure 9: Moving in a square. Positioning accuracy for different positioning types.




                        (a) SPP                                         (b) ND-SPP
                        (c) CP                                         (d) ND-CP
Figure 10: Moving in a square. Ground track for different positioning types




Figure 11: Moving in a straight line. Positioning accuracy for Geometry 1
Figure 12: Moving in a straight line. Positioning accuracy for Geometry 2




Figure 13: Moving in a straight line. Positioning accuracy for Geometry 3
                        (a) SPP                                            (b) ND-SPP




                         (c) CP                                             (d) ND-CP
Figure 14: Moving in a straight line. Ground track for different positioning types


6. Conclusions

    In this paper, observation models of pseudorange and local range and a collaborative positioning
method are presented. A simulation framework based on CarMaker and Spirent is developed. The
performance of CoPos is analyzed by using the defined CDOP and the positioning results. The
simulation in two scenarios verifies that the positioning accuracy of CoPos is better than SPP and two
factors affect its performance: the user geometry and the number of users. The user geometry in
different directions will improve the positioning accuracy in the corresponding directions and more
dispersed users taking part in CoPos can improve the positioning accuracy significantly.
    The multipath mitigation in CoPos is considered too. It is shown with simulations that combination
of CoPos and multipath mitigation improves the positioning results significantly even for the scenarios
of harsh urban canyon environment.
   However, the effect of more vehicles making use of the V2X channel may lead to trade-off, as
messages are more likely to be dropped. This problem along with realistic communication channel
simulation is subject to future work.

7. Acknowledgements

  Authors would like to express their great appreciation to professor Urs Hugentobler (Technical
University of Munich) for his patience, enthusiastic encouragement and useful critiques of this research
work.
8. References

[1] G. Seco-Granados, J. Lopez-Salcedo, D. Jimenez-Banos and G. Lopez-Risueno. "Challenges in
     indoor global navigation satellite systems: Unveiling its core features in signal processing." IEEE
     Signal Processing Magazine 29.2 (2012): 108-131.
[2] N. Patwari, A.O. Hero, M. Perkins, N. S. Correal, and R. J. O’dea. "Relative location estimation
     in wireless sensor networks." IEEE Transactions on Signal Processing 51.8 (2003): 2137–2148
[3] N. Patwari, J.N. Ash, K. Spyros, A.O. Hero, L. Randolph, Moses, and N.S. Correal. "Locating the
     nodes: Cooperative localization in wireless sensor networks." IEEE Signal Processing Magazine
     22.4 (2005): 54–69.
[4] A. I. Mourikis and S. I. Roumeliotis. "Performance analysis of multirobot cooperative
     localization." IEEE Transactions on Robotics 22.4 (2006): 666–681.
[5] F. de Ponte Müller. "Survey on ranging sensors and cooperative techniques for relative positioning
     of vehicles." Sensors 17.2 (2017): 271.
[6] ETSI TR 103 562. "Intelligent Transport Systems (ITS); Vehicular Communications; Basic Set of
     Applications; Analysis of the Collective Perception Service (CPS); Informative Report for the
     Collective Perception Service." European Telecommunications Standards Institute (ETSI), 2019
[7] P.D. Groves and Z. Jiang. "Height aiding, C/N 0 weighting and consistency checking for GNSS
     NLOS and multipath mitigation in urban areas." The Journal of Navigation 66.5 (2013): 653-669.
[8] B. Huang, Z. Yao, X. Cui, M. Lu and J. Guo. "GNSS collaborative positioning and performance
     analysis." 2014 27th International Technical Meeting of The Satellite Division of the Institute of
     Navigation (ION GNSS+ 2014), Florida, USA, 2014.
[9] B. Huang, Z. Yao, X. Cui, and M. Lu. "Dilution of precision analysis for GNSS collaborative
     positioning." IEEE Transactions Vehicular Technology 65.5 (2015): 3401-3415.
[10] H. Ko, B. Kim, and S.H. Kong. "GNSS multipath-resistant cooperative navigation in urban
     vehicular networks." IEEE Transactions Vehicular Technology 64.12 (2015): 5450-5463.
[11] F. A. Schiegg, S. Li, and N. Mikhaylov. "TEPLITS: A comprehensive Test Platform for Intelligent
     Transportation Systems." 2020 IEEE 90th Vehicular Technology Conference (VTC2020-Spring),
     Antwerp, Belgium, 2020.
[12] F. A. Schiegg, J. Krost, S. Jesenski and J. Frye. "A Novel Simulation Framework for the Design
     and Testing of Advanced Driver Assistance Systems." 2019 IEEE 90th Vehicular Technology
     Conference (VTC2019-Fall), Honolulu, HI, USA, 2019.
[13] R. Brown and P. Hwang, Introduction to random signals and applied Kalman filtering, Wiley, New
     York, NY, 1992.
[14] F. K. Brunner, H. Hartinger, and L. Troyer. "GPS signal diffraction modelling: the stochastic
     SIGMA-Δ model." Journal of Geodesy 73.5 (1999): 259-267.
[15] J. J. Spiker, The Global Positioning System: Theory and Application, American Institute of
     Aeronautics and Astronautics: Washington, DC, USA, 1996.
[16] A. Papoulis, Probability, Random Variables, and Stochastic Processes, 3rd ed., McGraw-Hill, New
     York, NY, 1991.