Post-processing of inverse differential corrections for SATPS mobile stations

A method for enhancing the accuracy of location coordinates and/or clock bias computed for a mobile user station that is part of a Satellite Positioning System (SATPS), such as GPS or GLONASS. A data processing station is provided with pseudorange corrections PRC(t;j;ref) for an SATPS reference station for each of M SATPS satellites (j=1, . . . , M; M.gtoreq.3) and with uncorrected location fix coordinates x'(t.sub.f), y'(t.sub.f)', z'(t.sub.f)' and/or b'(t.sub.f) for the mobile station for a selected location fix time t.sub.f. A matrix equation H(t.sub.f ;mob).DELTA.W(t.sub.f ;mob)=PRC(t.sub.f ;ref) relates a matrix .DELTA.W of location fix coordinate corrections for the mobile station to a matrix PRC(t;ref) of the pseudorange correction values, where H(t.sub.f ;mob) is an M.times.N matrix (M.ltoreq.N; N=3 or 4) with known entries computed from mobile station data. An inverse or pseudo-inverse matrix H(t.sub.f ;mob).sup.(-1) is formed satisfying the relation H(t.sub.f ;mob).sup.(-1) H(t.sub.f ;mob)=the identity matrix I, and the matrix .DELTA.W(t.sub.f ;mob)=H(t.sub.f ;mob).sup.(-1) PRC(t.sub.f ;ref) is computed. The entries of the matrix .DELTA.W(t.sub.f) are interpreted as additive corrections for the location fix coordinates x'(t.sub.f), y'(t.sub.f)', z'(t.sub.f)' and/or b'(t.sub.f) for the mobile station. Post-processing can be performed to apply the pseudorange corrections to the mobile station data.

Skip to:  ·  Claims  ·  References Cited  · Patent History  ·  Patent History

Claims

1. A method for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M>4), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) and uncorrected clock bias coordinate b'(t.sub.f), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f), b'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,..., M;
computing at the supplemental data processor an M.times.4 matrix H(t.sub.f;mob) whose entries are defined by the relations
forming a 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 4.times.4 identity matrix;
forming a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
interpreting four entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f),.DELTA.w.sub.3 (t.sub.f), and.DELTA.w.sub.4 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
determining corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f),b(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

2. The method of claim 1, further comprising the step of selecting said integer M>5, and wherein said steps of forming said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. and forming said matrix.DELTA.W(t.sub.f;mob) comprise the steps of: augmenting said matrix H(t.sub.f;mob) by adding M-4 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where four columns of the matrix H*(t.sub.f;mob) are identical with four columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);

forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W*(t.sub.f;mob) by a matrix equation.DELTA.W*(t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting four of the entries.DELTA.w.sub.1 *(t.sub.f),.DELTA.w.sub.2 *(t.sub.f),.DELTA.w.sub.3 *(t.sub.f), and.DELTA.w.sub.4 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 4.times.1 matrix.DELTA.W(t.sub.f;mob) with entires defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2, 3, 4.

3. The method of claim 2, wherein said step of augmenting said matrix H(t.sub.f;mob) comprises the steps of:

forming an M-dimensional vector from the values of said M entries in each column of said M.times.4 matrix H(t.sub.f;mob);
using a Gram-Schmidt orthogonalization procedure to form M-4 additional M-dimensional vectors, with each such vector being orthogonal to each of the M-dimensional vectors formed from said matrix H(t;mob) and with these M-4 additional vectors being orthogonal to each other; and
forming an augmented M.times.M matrix H*(t.sub.f;mob) matrix whose column entries are the entries of the four vectors formed from the matrix H(t.sub.f;mob) and the entries of the additional M-4 vectors formed using the Gram-Schmidt orthogonalization procedure.

4. The method of claim 1, wherein said step of forming said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. comprises the steps of:

forming a 4.times.4 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

5. The method of claim 1, further comprising the step of selecting said integer M=4 and selecting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

6. The method of claim 1, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said reference station.

7. The method of claim 1, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said mobile station.

8. A method for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,..., M;
computing at the supplemental data processor an M.times.3 matrix H(t.sub.f;mob) whose entries are defined by the relations
forming a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 3.times.3 identity matrix;
forming a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
interpreting three entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f) and.DELTA.w.sub.3 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
determining corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

9. The method of claim 8, further comprising the step of selecting said integer M.gtoreq.4, and wherein said steps of forming said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. and forming said matrix.DELTA.W(t.sub.f;mob) comprise the steps of:

augmenting said matrix H(t.sub.f;mob) by adding M-3 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where three columns of the matrix H*(t.sub.f;mob) are identical with three columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);
forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W* (t.sub.f;mob) by a matrix equation.DELTA.W* (t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting three of the entries.DELTA.w.sub.1 *(t.sub.f),.DELTA.w.sub.2 *(t.sub.f) and.DELTA.w.sub.3 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 3.times.1 matrix.DELTA.W(t.sub.f;mob) with entires defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2, 3.

10. The method of claim 9, wherein said step of augmenting said matrix H(t.sub.f;mob) comprises the steps of:

forming an M-dimensional vector from the values of said M entries in each column of said M.times.3 matrix H(t.sub.f;mob);
using a Gram-Schmidt orthogonalization procedure to form M-3 additional M-dimensional vectors, with each such vector being orthogonal to each of the M-dimensional vectors formed from said matrix H(t;mob) and with these M-3 additional vectors being orthogonal to each other; and
forming an augmented M.times.M matrix H*(t.sub.f;mob) matrix whose column entries are the entries of the three vectors formed from the matrix H(t.sub.f;mob) and the entries of the additional M-3 vectors formed using the Gram-Schmidt orthogonalization procedure.

11. The method of claim 8, wherein said step of forming said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. comprises the steps of:

forming a 3.times.3 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

12. The method of claim 8, further comprising the step of selecting said integer M=3 and selecting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

13. The method of claim 8, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said reference station.

14. The method of claim 8, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said mobile station.

15. A method for determining spatial location with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,..., M;
computing at the supplemental data processor an M.times.3 matrix H(t.sub.f;mob) whose entries are defined by the relations
forming a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 3.times.3 identity matrix;
forming a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,...,M;
interpreting two entries.DELTA.w.sub.1 (t.sub.f) and.DELTA.w.sub.2 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates x'(t.sub.f) and y'(t.sub.f) for the mobile station; and
determining corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

16. The method of claim 15, further comprising the step of selecting said integer M >4, and wherein said steps of forming said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. and forming said matrix.DELTA.W(t.sub.f;mob) comprise the steps of:

augmenting said matrix H(t.sub.f;mob) by adding M-3 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where three columns of the matrix H*(t.sub.f;mob) are identical with three columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);
forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W*(t.sub.f;mob) by a matrix equation.DELTA.W*(t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting two of the entries.DELTA.w.sub.1 *(t.sub.f) and.DELTA.w.sub.2 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 3.times.1 matrix.DELTA.W(t.sub.f;mob) with entries defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2 and.DELTA.w.sub.3 (t.sub.f)=0.

17. The method of claim 16, wherein said step of augmenting said matrix H(t.sub.f;mob) comprises the steps of:

forming an M-dimensional vector from the values of said M entries in each column of said M.times.3 matrix H(t.sub.f;mob);
using a Gram-Schmidt orthogonalization procedure to form M-3 additional M-dimensional vectors, with each such vector being orthogonal to each of the M-dimensional vectors formed from said matrix H(t;mob) and with these M-3 additional vectors being orthogonal to each other; and
forming an augmented M.times.M matrix H*(t.sub.f;mob) matrix whose column entries are the entries of the three vectors formed from the matrix H(t.sub.f;mob) and the entries of the additional M-3 vectors formed using the Gram-Schmidt orthogonalization procedure.

18. The method of claim 15, wherein said step of forming said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. comprises the steps of:

forming a 3.times.3 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

19. The method of claim 15, further comprising the step of selecting said integer M=3 and selecting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

20. The method of claim 15, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said reference station.

21. The method of claim 15, further comprising the step of selecting said supplemental data processor station to be said SATPS receiver/processor provided for said mobile station.

25. Apparatus for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the apparatus comprising:

a data processor that receives (1) uncorrected location fix coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f),b'(t.sub.f)) for a selected location fix time t=t.sub.f for an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor for receiving and processing SATPS signals from each of a plurality of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.4) to determine uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) and uncorrected clock bias coordinate b'(t.sub.f) for the mobile station, based upon SATPS signals received from the M SATPS satellites and (2) pseudorange correction values PRC(t.sub.f;j;ref), determined for an SATPS reference station having a known location from SATPS signals received from each of the M SATPS satellites, wherein the data processor is programmed to:
(i) compute an M.times.4 matrix H(t.sub.f;mob) whose entries are defined by the relations
(ii) form a 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 4.times.4 identity matrix;
(iii) form a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,...,M;
(iv) interpret four entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f),.DELTA.w.sub.3 (t.sub.f), and.DELTA.w.sub.4 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
(v) determine corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f),b(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

26. The apparatus of claim 25, wherein said integer M.gtoreq.5 and wherein said data processor is programmed to perform steps (ii) and (iii) by:

augmenting said matrix H(t.sub.f;mob) by adding M-4 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where four columns of the matrix H*(t.sub.f;mob) are identical with four columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);
forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W*(t.sub.f;mob) by a matrix equation.DELTA.W*(t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting four of the entries.DELTA.w.sub.1 *(t.sub.f),.DELTA.w.sub.2 *(t.sub.f),.DELTA.w.sub.3 *(t.sub.f), and.DELTA.w.sub.4 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 4.times.1 matrix.DELTA.W(t.sub.f;mob) with entires defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2, 3, 4.

27. The apparatus of claim 25, wherein said said data processor is programmed to perform step (ii) by:

forming a 4.times.4 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

28. The apparatus of claim 25, wherein said integer M=4 and said data processor performs step (ii) by setting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

29. Apparatus for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the apparatus comprising:

a data processor that receives (1) uncorrected location fix coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for a selected location fix time t=t.sub.f for an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor for receiving and processing SATPS signals from each of a plurality of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3) to determine uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for the mobile station, based upon SATPS signals received from the M SATPS satellites and (2) pseudorange correction values PRC(t.sub.f;j;ref), determined for an SATPS reference station having a known location from SATPS signals received from each of the M SATPS satellites, wherein the data processor is programmed to:
(i) compute an M.times.3 matrix H(t.sub.f;mob) whose entries are defined by the relations
(ii) form a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 3.times.3 identity matrix;
(iii) form a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
(iv) interpret three entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f) and.DELTA.w.sub.3 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
(v) determine corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

30. The apparatus of claim 29, wherein said integer M.gtoreq.4 and wherein said data processor is programmed to perform steps (ii) and (iii) by:

augmenting said matrix H(t.sub.f;mob) by adding M-3 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where three columns of the matrix H*(t.sub.f;mob) are identical with three columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);
forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W*(t.sub.f;mob) by a matrix equation.DELTA.W*(t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting three of the entries.DELTA.w.sub.1 *(t.sub.f),.DELTA.w.sub.2 *(t.sub.f) and.DELTA.w.sub.3 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 3.times.1 matrix.DELTA.W(t.sub.f;mob) with entries defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2, 3.

31. The apparatus of claim 29, wherein said said data processor is programmed to perform step (ii) by:

forming a 3.times.3 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

32. The apparatus of claim 29, wherein said integer M=3 and said data processor performs step (ii) by setting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

33. Apparatus for determining spatial location coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the apparatus comprising:

a data processor that receives (1) uncorrected location fix coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for a selected location fix time t=t.sub.f for an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor for receiving and processing SATPS signals from each of a plurality of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3) to determine uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for the mobile station, based upon SATPS signals received from the M SATPS satellites and (2) pseudorange correction values PRC(t.sub.f;j;ref), determined for an SATPS reference station having a known location from SATPS signals received from each of the M SATPS satellites, wherein the data processor is programmed to:
(i) compute an M.times.3 matrix H(t.sub.f;mob) whose entries are defined by the relations
(ii) form a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 4.times.4 identity matrix;
(iii) form a matrix.DELTA.W(t.sub.f;mob)=H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
(iv) interpret two entries.DELTA.w.sub.1 (t.sub.f) and.DELTA.w.sub.2 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates x'(t.sub.f) and y'(t.sub.f) for the mobile station; and
(v) determine corrected location fix coordinates (x(t.sub.f),y(t.sub.f),z(t.sub.f)) for the mobile station for at least one time t=t.sub.f using the relations

34. The apparatus of claim 33, wherein said integer M.gtoreq.4 and wherein said data processor is programmed to perform steps (ii) and (iii) by:

augmenting said matrix H(t.sub.f;mob) by adding M-3 columns of matrix entries to produce an augmented M.times.M matrix H*(t.sub.f;mob), where three columns of the matrix H*(t.sub.f;mob) are identical with three columns of said matrix H(t.sub.f;mob) and each of the columns of H*(t.sub.f;mob) forms an M.times.1 column matrix that is linearly independent of the other M-1 column matrices of the matrix H*(t.sub.f;mob);
forming an inverse matrix H*(t.sub.f;mob).sup.-1, determining an M.times.1 matrix.DELTA.W*(t.sub.f;mob) by a matrix equation.DELTA.W*(t.sub.f;mob)=H*(t.sub.f;mob).sup.-1 PRC(t.sub.f;ref), where PRC(t.sub.f;ref) is an M.times.1 matrix whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M; and
selecting three of the entries.DELTA.w.sub.1 *(t.sub.f),.DELTA.w.sub.2 *(t.sub.f) and.DELTA.w.sub.3 *(t.sub.f) of the matrix.DELTA.W*(t.sub.f;mob) and forming said 3.times.1 matrix.DELTA.W(t.sub.f;mob) with entries defined by.DELTA.w.sub.k (t.sub.f)=.DELTA.w.sub.k *(t.sub.f), for k=1, 2, 3.

35. The apparatus of claim 33, wherein said said data processor is programmed to perform step (ii) by:

forming a 3.times.3 matrix (H(t.sub.f;mob).sup.tr H(t.sub.f;mob)).sup.-1; and
defining said 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. by the relation

36. The apparatus of claim 33, wherein said integer M=3 and said data processor performs step (ii) by setting H(t.sub.f;mob).sup..LAMBDA. =H(t.sub.f;mob).sup.-1.

40. A method for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.4), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) and uncorrected clock bias coordinate b'(t.sub.f), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f), b'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,... M;
computing at the supplemental data processor an M.times.4 matrix H(t.sub.f;mob) that approximately expresses each of M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station as a linear combination of location fix coordinate differences (x'(t.sub.f)-x.sub.j (t.sub.f))/r.sub.0j (t.sub.f), (y'(t.sub.f)-y.sub.j (t.sub.f))/r.sub.0j (t.sub.f), (z'(t.sub.f)-z.sub.j (t.sub.f))/r.sub.0j (t.sub.f), and b'(t.sub.f)-0, where the quantity r.sub.0j (t.sub.f) is the distance at the location fix time t.sub.f from a location given by the uncorrected spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for the mobile station to the location of SATPS satellite number j (j=1, 2,..., M);
identifying the M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station with the respective M pseudorange correction values PRC(t.sub.f;j;ref) computed for the reference station;
forming an M.times.1 matrix PRC(t.sub.f;ref) whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
forming a 4.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 4.times.4 identity matrix;
forming a 4.times.1 matrix.DELTA.W(t.sub.f;mob) whose entries are given by the product H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref) of the matrices H(t.sub.f;mob).sup..LAMBDA. and PRC(t.sub.f;ref);
interpreting four entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f),.DELTA.w.sub.3 (t.sub.f), and.DELTA.w.sub.4 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
adding the location fix coordinate corrections.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f),.DELTA.w.sub.3 (t.sub.f), and.DELTA.w.sub.4 (t.sub.f) to the respective location fix coordinates x'(t.sub.f), y'(t.sub.f), z'(t.sub.f) and b'(t.sub.f) to produce corrected location fix coordinates x(t.sub.f), y(t.sub.f), z(t.sub.f) and b(t.sub.f)) for the mobile station for the location fix time t=t.sub.f.

41. A method for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,..., M;
computing at the supplemental data processor an M.times.3 matrix H(t.sub.f;mob) that approximately expresses each of M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station as a linear combination of location fix coordinate differences (x'(t.sub.f)-x.sub.j (t.sub.f))/r.sub.0j (t.sub.f), (y'(t.sub.f)-y.sub.j (t.sub.f))/r.sub.0j (t.sub.f) and (z'(t.sub.f)-z.sub.j (t.sub.f))/r.sub.0j (t.sub.f), where the quantity r.sub.0j (t.sub.f) is the distance at the location fix time t.sub.f from a location given by the uncorrected spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for the mobile station to the location of SATPS satellite number j (j=1, 2,..., M);
identifying the M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station with the respective M pseudorange correction values PRC(t.sub.f;j;ref) computed for the reference station;
forming an M.times.1 matrix PRC(t.sub.f;ref) whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
forming a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 3.times.3 identity matrix;
forming a 3.times.1 matrix.DELTA.W(t.sub.f;mob) whose entries are given by the product H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref) of the matrices H(t.sub.f;mob).sup..LAMBDA. and PRC(t.sub.f;ref);
interpreting three entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f) and.DELTA.w.sub.3 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
adding the location fix coordinate corrections.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f) and.DELTA.w.sub.3 (t.sub.f) to the respective location fix coordinates x'(t.sub.f), y'(t.sub.f) and z'(t.sub.f) to produce corrected location fix coordinates x(t.sub.f), y(t.sub.f) and z(t.sub.f) for the mobile station for the location fix time t=t.sub.f.

42. A method for determining spatial location and clock bias coordinates with enhanced accuracy for a mobile user Satellite Positioning System (SATPS) station, the method comprising the steps of:

providing pseudorange corrections PRC(t.sub.f;j;ref) for uncorrected pseudorange values PR(t.sub.f;j;ref), measured at an SATPS reference station that has location coordinates that are known with high accuracy and that receives SATPS signals at a selected location fix time t=t.sub.f from each of M SATPS satellites, numbered j=1, 2,..., M (M.gtoreq.3), where the sums PR(t.sub.f;j;ref)+PRC(t.sub.f;j;ref) for j=1, 2,..., M provide corrected reference station pseudorange values PR(t.sub.f;j;ref).sub.cor that agree with known pseudorange values for the reference station for the M SATPS satellites for the location fix time t.sub.f;
providing an SATPS mobile station that has an SATPS signal antenna and associated SATPS signal receiver/processor, and causing the mobile station to receive and process SATPS signals from each of the M SATPS satellites and to determine uncorrected location fix coordinates, including uncorrected three-dimensional spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)), for the mobile station for the location fix time t.sub.f;
providing a supplemental data processor with the location fix time t.sub.f, with the mobile station uncorrected location fix coordinates (x'(t.sub.f), y'(t.sub.f), z'(t.sub.f)), with spatial coordinate values (x.sub.j (t.sub.f), y.sub.j (t.sub.f), z.sub.j (t.sub.f)) of SATPS satellite number j for a time corresponding to the location fix time t.sub.f, and with the reference station pseudorange corrections PRC(t.sub.f;j;ref) for j=1, 2,..., M;
computing at the supplemental data processor an M.times.3 matrix H(t.sub.f;mob) that approximately expresses each of M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station as a linear combination of location fix coordinate differences (x'(t.sub.f)-x.sub.j (t.sub.f))/r.sub.0j (t.sub.f), (y'(t.sub.f)-y.sub.j (t.sub.f))/r.sub.0j (t.sub.f) and (z'(t.sub.f)-z.sub.j (t.sub.f))/r.sub.0j (t.sub.f), where the quantity r.sub.0j (t.sub.f) is the distance at the location fix time t.sub.f from a location given by the uncorrected spatial location coordinates (x'(t.sub.f),y'(t.sub.f),z'(t.sub.f)) for the mobile station to the location of SATPS satellite number j (j=1, 2,..., M);
identifying the M pseudorange correction values PRC(t.sub.f;j;mob) that would be computed at the mobile station with the respective M pseudorange correction values PRC(t.sub.f;j;ref) computed for the reference station;
forming an M.times.1 matrix PRC(t.sub.f;ref) whose entries are the values PRC(t.sub.f;j;ref) for j=1, 2,..., M;
forming a 3.times.M matrix H(t.sub.f;mob).sup..LAMBDA. that satisfies the relation H(t.sub.f;mob).sup..LAMBDA. H(t.sub.f;mob)=I, where I is the 3.times.3 identity matrix;
forming a 3.times.1 matrix.DELTA.W(t.sub.f;mob) whose entries are given by the product H(t.sub.f;mob).sup..LAMBDA. PRC(t.sub.f;ref) of the matrices H(t.sub.f;mob).sup..LAMBDA. and PRC(t.sub.f;ref);
interpreting four entries.DELTA.w.sub.1 (t.sub.f),.DELTA.w.sub.2 (t.sub.f) and.DELTA.w.sub.3 (t.sub.f) of the matrix.DELTA.W(t.sub.f;mob) as corrections to the location fix coordinates for the mobile station; and
adding the location fix coordinate corrections.DELTA.w.sub.1 (t.sub.f) and.DELTA.w.sub.2 (t.sub.f) to the respective location fix coordinates x'(t.sub.f) and y'(t.sub.f) to produce corrected location fix coordinates x(t.sub.f) and y(t.sub.f) and defining z(t.sub.f)=z'(t.sub.f) for the corrected location fix coordinates x'(t.sub.f), y'(t.sub.f) and z'(t.sub.f) for the mobile station for the location fix time t=t.sub.f.
Referenced Cited
U.S. Patent Documents
5148179 September 15, 1992 Allison
5390124 February 14, 1995 Kyrtsos
5436632 July 25, 1995 Sheynblat
5495257 February 27, 1996 Loomis
Patent History
Patent number: 5680140
Type: Grant
Filed: Feb 26, 1996
Date of Patent: Oct 21, 1997
Assignee: Trimble Navigation Limited (Sunnyvale, CA)
Inventor: Peter V. W. Loomis (Sunnyvale, CA)
Primary Examiner: Thomas H. Tarcza
Assistant Examiner: Dao L. Phan
Attorney: John Schipper
Application Number: 8/607,176
Classifications
Current U.S. Class: 342/357; 364/440
International Classification: G01S 502;