Professional Documents
Culture Documents
Processing:
Modeling Aspects
σ 2 {x0 } = 1
bk = xk + ek , k = 0, 1, 2, . . . σ 2 {ek } = 0.1
xk = c, c ∼ N (0, 1)
bk = xk + ek , k = 0, 1, 2, . . . σ 2 {ek } = 0.1
The wrong model has Fk = 1, 6,k = 0, Ak = 1, 6e,k = 0.1, x̂0 = 0, and P0−1 = 1. For
the true model the parameters are the same except that 6,k = 1, rather than zero.
10
State variable
5
Observations
−5
Random walk process
Filter for correct model
Filter for incorrect model
−10
0 20 40 60 80 100
a0 a1 a2 a3 a4 ...
Shift = 0 :
a0 a1 a2 a3 a4 ...
n−1
X
auto(0) = ai ai /n.
0
We multiply elements ai ai above each other, and add. Now shift the lower row:
a0 a1 a2 a3 a4 ...
Shift = 1 :
a0 a1 a2 a3 a4 ...
n−1
X
auto(1) = ai ai−1 /n.
1
−2
−4
→ increasing shift
0 100 200 300
−2
−4
→ increasing shift
0 100 200 300
16
11 14 16
10 13
Ionospheric delay I [m]
6 9
26 26
5 8
0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90
Epochs, epoch interval 20 s Epochs, epoch interval 20 s
25
4
20
One-way PRN 2 3
15
differenced in time 2 One-way PRN 2
m2
m2
10
1
5
0
0
−1
−5
−2
0 10 20 30 40 50 60 0 −6
10 20 30 40 50 60
−6
x 10 x 10
20
5
Double difference
PRN 2−PRN 26
4
15
Single difference PRN 2
3
10 2
m2
m2
1
5
0
0 −1
−2
−5
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Autocorrelation for ionospheric delay to PRN 2. Upper left shows difference in time:
Ik − Ik−1 , upper right the one-way, lower left the single difference, and lower left the
double difference. Note the various orders of magnitude
can be used in various ways. One method is to solve for the 4 unknowns on an
epoch-to-epoch basis. An alternative is to employ (1) as an observation equation in a filter.
In any case we are faced with an interesting problem: ρ and I are to be estimated as reals
while N1 and N2 by definition are integers. This situation is difficult. One procedure is to
solve for all 4 unknowns as were they reals. This gives what is called a float solution. Given
the float solution we can use a smart method that estimates N1 and N2 as integers. This
refined solution is known as the fixed solution. A popular method is the LAMBDA method
decscribed by Teunissen [4]. However, our Matlab code uses a less complicated method
described in [5].
100
[m]
0
−100
−200
0 200 400 600 800 1000 1200 1400 1600 1800
[s]
Raw receiver positions relative to mean position
57.0155
φ [°]
57.015
57.0145
9.984 9.9845 9.985 9.9855 9.986 9.9865 9.987 9.9875
λ [°]
[m] 10
−10
−20
200 400 600 800 1000 1200 1400 1600 1800
[s]
Differential receiver position
20
10
[m]
−10
−60 −40 −20 0 20 40
[m]
x [m]
9.95
9.9
0 100 200 300 400 500
9.9
y [m]
9.88
9.86
0 100 200 300 400 500
−6.45
norm of vector [m] z [m]
−6.5
−6.55
0 100 200 300 400 500
15.5
15.45
15.4
0 100 200 300 400 500
innov. [mm]
200
0
0 100 200 300 400 500
15.5
norm [m]
15.45
15.4
0 100 200 300 400 500
6
x 10
corr. fnc. [mm ]
2
4
2
0
0 200 400 600 800 1000
pow. spec. [dB]
10
10
5
10
0
10
0 200 400 600 800 1000
σvector = 12.6 mm
The fixed values result from a procedure given by Yang et al. [5]. The above table lists the
estimated ambiguities. We observe that the rounded values of the float ambiguities deviate
at most 2 from the fixed values.
The standard deviation of the length of the vector between master and rover is
σvector = 16.7 mm for the float solution and σvector = 8.3 mm for the fixed solution. We see
that the vector components drift over time when incorrect ambiguities are used. Fixing the
ambiguities to the correct values yields an estimate of the vector components at cm-level or
even at mm-level.
x [m]
10.45
10.4
0 100 200 300 400 500
9.72
y [m]
9.71
9.7
0 100 200 300 400 500
−7.1
norm of vector [m] z [m]
−7.15
−7.2
0 100 200 300 400 500
16
15.95
0 100 200 300 400 500
innov. [mm]
0
−10
0 100 200 300 400 500
16
norm [m]
15.95
0 100 200 300 400 500
corr. fnc. [mm2]
2000
0
−2000
0 200 400 600 800 1000
pow. spec. [dB]
10
10
0
10
−10
10
0 200 400 600 800 1000
σvector = 8.59 mm
x [m]
10.5
10
0 100 200 300 400 500
y [m] 9.9
9.8
9.7
0 100 200 300 400 500
norm of vector [m] z [m]
−7
16
15.8
0 100 200 300 400 500
innov. [mm]
0
−100
0 100 200 300 400 500
16.2
norm [m]
16
15.8
0 100 200 300 400 500
5
x 10
corr. fnc. [mm ]
2
5
0
−5
0 200 400 600 800 1000
pow. spec. [dB]
10
10
5
10
0
10
0 200 400 600 800 1000
σvector = 66.2 mm
[2] Borre, Kai (2001) The GPS Toolbox. GPS Solutions, 4:3:47–51. John Wiley & Sons,
Inc.
[3] Strang, Gilbert & Borre, Kai (1997) Linear Algebra, Geodesy, and GPS.
Wellesley-Cambridge Press. Order at www.wellesleycambridge.com
[5] Yang, Ming & Goad, Clyde & Schaffrin, Burkhard (1994) Real-time On-the-Fly
Ambiguity Resolution Over Short Baselines in the Presence of Anti-Spoofing. In
Proceedings of ION GPS-94, 519–525
Kai Borre
Aalborg University
1 0 " # 0
1 1 8
x1
= .
1 3 x2 8
1 4 20
1 0
1 1
0 1 3 4 8 1 3 = 10 .
1 4
− 14 8
1 0
1 8
0 1 3 4 8 1 8 = 40 .
1 20
− 14 36
The matrix A1 describes usual geodetic observations while A2 exclusively deals with
observations of coordinates. Considering only the first block row of observations we get the
usual solution x̂1 = x̂ f :
−1 −1 AT 6 −1 b = 6 AT 6 −1 b .
x̂ f = (AT 6
1 1 A 1 ) 1 1 1 f 1 1 1
The subscript f stands for free: The x̂ f solution relates to a network not constrained to the
observed coordinates b2 . Of course we suppose 6 f exists!
Next we look for the solution xc when we include the second block row, namely the
coordinate observations A2 x = b2 − 2 . By adding the normals from both rows we get
We recall that 6 −1
f = A T 6 −1 A and AT 6 −1 b = 6 −1 x̂ :
1 1 1 1 1 1 f f
−1 T −1 −1 −1 T −1
x̂c = 6 f + A2 62 A2 6 f x̂ f + A2 62 b2 .
−1 T −1
x̂c = x̂ f + 6 f AT T
2 62 b2 − 6 f A2 (62 + A2 6 f A2 ) A2 x̂ f
− 6 f AT (6 + A 6 A T )−1 A 6 AT 6 −1 b .
2 2 2 f 2 2 f 2 2 2
x̂c = x̂ f − 6 f AT (6 + A 6 A T )−1 A x̂
2 2 2 f 2 2 f
T T −1 T −1
+ 6 f − 6 f A2 (62 + A2 6 f A2 ) A2 6 f A2 62 b2 .
or rearranged
x̂c = x̂ f + 6 f AT (6 + A 6 A T )−1 (b − A x̂ ). (5)
2 2 2 f 2 2 2 f
From (3) we read the covariance matrix of the constrained estimate x̂c
−1 T 6 −1 A )−1 .
6c = (AT 6
1 1 A 1 + A 2 2 2 (6)
6c = (6 −1
f + A T 6 −1 A )−1 .
2 2 2 (7)
6c ≤ 6 f . (9)
This says that covariances in the constrained network are smaller than or equal to those
in the free network.
Putting 62 = 0 in (2)—the observation error equals zero—is equivalent to introduce the
constraint A2 x = b2 :
A1 x = b1 − 1 (10)
A2 x = b2 . (11)
T −1 T −1 −1
A1 61 A1 + A2 (62 + (162 ))A2 ( x̂ + 1x) =
T −1 T −1 −1
A1 61 b1 + A2 (62 + (162 ))b2 . (13)
−1 −1 T
T
1x = N + A2 (162 )A2 A2 (162−1 )ˆ2 . (14)
This correction to x̂ is small when 16 −1 is small, and when the residual b − A x̂ is small.
If we work with the covariance matrix 6 instead of 6 −1 , linearization gives 16 −1 =
−6 −1 (16)6 −1 . This is the matrix analog of −1x/x 2 , the first-order change in 1/x.
Linearization also gives the change in Q = ( AT 6 −1 A)−1 , which contains the variances
and covariances of the estimate x̂:
1Q = Q AT (16 −1 )AQ.
Helsinki University of Technology November 12, 2001
Useful Matrix Identities
Whenever the following inverse matrices exist we have
A = [1 2 6; 2 3 7; 3 4 8; 4 5 10];
b = [0;7;8;20];
x = A\b
A1 = A(:,1:2);
A2 = A(:,3);
%Projector
P = eye(4) – A1 * inv(A1’ * A1) * A1’;
PA = P * A;
Pb = P * b;
x3 = Pb(4)/PA(4,3)
%Block elimination
N = A’ * A;
b0 = A’ * b;
b1 = b0(1:2);
b2 = b0(3);
A0 = N(1:2,1:2);
B = N(1:2,3);
D = N(3,3);
x3 = inv(D – B’ * inv(A0) * B) * (b2 – B’ * inv(A0) * b1)
%General formula
M = A2’ * A1 * inv(A1’ * A1) * A1’;
R = A2’ – M;
x3 = inv(R * A2) * R * b