IP Library Granted Patent US 8,035,559
Granted Patent B2
US 8,035,559 · App. 12/156,226 · Granted Oct 11, 2011

Global positioning system receiver

Assignee: O2 Micro, Inc
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,035,559
App. No.
12/156,226
Granted
Oct 11, 2011
Kind
B2
Abstract

A GPS receiver includes a demodulator for obtaining ephemeris data and almanac data from a navigation message sent by satellites, and includes a calculator. The calculator is used for calculating almanac correction parameters according to coordinate differences between ephemeris-based coordinates of the satellites and almanac-based coordinates of the satellites. The GPS receiver also includes a satellite position calculator for calculating the ephemeris-based coordinates of the satellites according to the ephemeris data, for calculating the almanac-based coordinates of the satellites according to the almanac data, and for calculating positions of the satellites according to the ephemeris data, the almanac data and the almanac correction parameters.

Claims (721)

1. A global positioning system (GPS) receiver comprising:

a demodulator for obtaining ephemeris data and almanac data from a navigation message sent by a plurality of satellites;

a calculator for calculating a plurality of almanac correction parameters according to coordinate differences between a plurality of ephemeris-based coordinates of said satellites and a plurality of almanac-based coordinates of said satellites and according to clock differences between a plurality of ephemeris-based clock drifts of said satellites and a plurality of almanac-based clock drifts of said satellites; and

a satellite position calculator for calculating said ephemeris-based coordinates according to said ephemeris data, for calculating said almanac-based coordinates according to said almanac data, and for calculating a plurality of positions of said satellites according to said ephemeris data, said almanac data and said almanac correction parameters,

wherein said calculator verifies validity of said ephemeris data, said almanac data and said almanac correction parameters and calculates a new plurality of almanac correction parameters if previous almanac correction parameters are invalid and said ephemeris data and said almanac data are valid.

2. The GPS receiver of claim 1 , wherein said satellite position calculator calculates said positions of said satellites according to said ephemeris data if said ephemeris data is valid.

3. The GPS receiver of claim 1 , wherein said satellite position calculator calculates said positions of said satellites according to said almanac data and said almanac correction parameters if said ephemeris data is invalid and said almanac data and said almanac correction parameters are valid.

4. The GPS receiver of claim 1 , wherein said satellite position calculator calculates said ephemeris-based clock drifts and said almanac-based clock drifts according to said ephemeris data and said almanac data respectively.

5. The GPS receiver of claim 4 , wherein said calculator calculates minimum values of said coordinate differences between said ephemeris-based coordinates and said almanac-based coordinates obtained at time t according to a least square approximation of said coordinate differences, and calculates minimum values of said clock differences between said ephemeris-based clock drifts and said almanac-based clock drifts obtained at said time t according to a least square approximation of said clock differences, in order to obtain said almanac correction parameters.

6. The GPS receiver of claim 1 , wherein said almanac correction parameters comprise parameters a 0 , a 1 , . . . a n , wherein said parameters a 0 , a 1 . . . a n are calculated according to said least square approximation by equation (1),

[

m

+

1

i

=

0

m

t

i

i

=

0

m

t

i

n

i

=

0

m

t

i

i

=

0

m

t

i

2

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

n

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

2

n

]

[

a

0

a

1

a

n

]

=

[

i

=

0

m

Δ

x

(

t

i

)

i

=

0

m

t

·

Δ

x

(

t

i

)

i

=

0

m

t

n

·

Δ

x

(

t

i

)

]

(

1

)

(1)

and wherein m+1 represents a number of sampling points of one satellite of said satellites, t i represents a sample time, n represents a highest order of said equation (1), and Δx(t i ) represents a coordinate difference between one almanac-based coordinate of said satellite and one ephemeris-based coordinate of said satellite.

7. The GPS receiver of claim 1 , wherein said satellite position calculator calculates said almanac-based coordinates x′, y′, z′, and said almanac-based clock drifts T′ according to said almanac data at time t, wherein said satellite position calculator further calculates correction values Δx′(t), Δy′(t), Δz′(t), and ΔT′ shown by equations (2), (3), (4), and (5) respectively,

Δ

x

(

t

)

=

k

=

0

n

a

k

t

k

(

2

)

Δ

y

(

t

)

=

k

=

0

n

b

k

t

k

(

3

)

Δ

z

(

t

)

=

k

=

0

n

c

k

t

k

(

4

)

Δ

T

(

t

)

=

k

=

0

n

d

k

t

k

(

5

)

and wherein said satellite position calculator calculates a plurality of corrected coordinates x, y, z, and a plurality of corrected clock drifts T of said satellites by equations (6), (7), (8), and (9),

x=x′+Δx′   (6)

y=y′+Δy′   (7)

z=z′+Δz′   (8)

T=T′+ΔT′   (9)

wherein n represents a highest order of said almanac correction parameters, t represents a current GPS time, a k , b k , c k , d k represents said almanac correction parameters.

8. The GPS receiver of claim 1 , wherein said satellite position calculator calculates a plurality of correction values according to said almanac correction parameters respectively, and wherein said satellite position calculator calculates said positions by adding said correction values to said almanac-based coordinates respectively.

9. The GPS receiver of claim 1 , further comprising:

a positioning device coupled to said satellite position calculator for calculating a position of said GPS receiver according to said positions of said satellites.

10. The GPS receiver of claim 1 , further comprising:

a storage device for storing said almanac correction parameters.

11. A method for positioning global positioning system (GPS) receiver, comprising:

obtaining ephemeris data and almanac data from a navigation message sent by a plurality of satellites;

calculating a plurality of ephemeris-based coordinates and a plurality of ephemeris-based clock drifts of said satellites according to said ephemeris data;

calculating a plurality of almanac-based coordinates and a plurality of almanac-based clock drifts of said satellites according to said almanac data;

calculating a plurality of almanac correction parameters according to coordinate differences between said ephemeris-based coordinates and said almanac-based coordinates and according to clock differences between said ephemeris-based clock drifts and said almanac-based clock drifts;

calculating a plurality of positions of said satellites according to said ephemeris data, said almanac data and said almanac correction parameters;

verifying validity of said ephemeris data, said almanac data and said almanac correction parameters; and

calculating a new plurality of almanac correction parameters if previous almanac correction parameters are invalid and said ephemeris data and said almanac data are valid.

12. The method of claim 11 , further comprising:

calculating said positions of said satellites according to said ephemeris data if said ephemeris data is valid.

13. The method of claim 11 , further comprising:

calculating said positions of said satellites according to said almanac data and said almanac correction parameters if said ephemeris data is invalid and said almanac data and said almanac correction parameters are valid.

14. The method of claim 11 , wherein calculating said almanac correction parameters further comprises:

calculating minimum values of said coordinates differences between said ephemeris-based coordinates and said almanac-based coordinates obtained at time t according to a least square approximation of said coordinate differences; and

calculating minimum values of said clock differences between said ephemeris-based clock drifts and said almanac-based clock drifts obtained at said time t according to a least square approximation of said clock differences.

15. The method of claim 11 , wherein said almanac correction parameters comprises parameters a 0 , a 1 , . . . a n , wherein said parameters a 0 , a 1 . . . , a n are calculated according to said least square approximation by equation (10),

[

m

+

1

i

=

0

m

t

i

i

=

0

m

t

i

n

i

=

0

m

t

i

i

=

0

m

t

i

2

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

n

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

2

n

]

[

a

0

a

1

a

n

]

=

[

i

=

0

m

Δ

x

(

t

i

)

i

=

0

m

t

·

Δ

x

(

t

i

)

i

=

0

m

t

n

·

Δ

x

(

t

i

)

]

(

10

)

and wherein m+1 represents a number of sampling points of one satellite of said satellites, t i represents a sample time, n represents a highest order of said equation (10), and Δx(t i ) represents a coordinate difference between one almanac-based coordinate of said satellite and one ephemeris-based coordinate of said satellite.

16. The method of claim 11 , wherein calculating said positions of said satellites further comprises:

calculating a plurality of correction values according to said almanac correction parameters respectively; and

adding said correction values to said almanac-based coordinates respectively to calculate said positions.

17. The method of claim 11 , wherein calculating said positions of said satellites further comprises:

calculating said almanac-based coordinates x′, y′, z′ of said satellites, and said almanac-based clock drifts T′ according to said almanac data at time t;

calculating correction values Δx′(t), Δy′(t), Δz′(t), and ΔT′(t) shown by equations (11), (12), (13), and (14) respectively,

Δ

x

(

t

)

=

k

=

0

n

a

k

t

k

(

11

)

Δ

y

(

t

)

=

k

=

0

n

b

k

t

k

(

12

)

Δ

z

(

t

)

=

k

=

0

n

c

k

t

k

(

13

)

Δ

T

(

t

)

=

k

=

0

n

d

k

t

k

(

14

)

wherein n represents a highest order for said almanac correction parameters, t represents a current GPS time, and a k , b k , c k , and d k represent said almanac correction parameters; and

calculating a plurality of corrected coordinates x, y, z, and a plurality of corrected clock drifts T of said satellites by equations (15), (16), ( 17 ), and (18),

x=x′+Δx′   (15)

y=y′+Δy′   (16)

z=z′+Δz′   (17)

T=T′+ΔT′   (18).

18. The method of claim 11 , further comprising:

calculating a position of said GPS receiver according to said positions of said satellites.

19. The method of claim 11 , further comprising:

storing said almanac correction parameters.

20. A GPS (global positioning system) comprising:

an acquisition and track device for acquiring and tracking a plurality of satellites and obtaining a navigation message from said satellites;

a demodulator for obtaining ephemeris data and almanac data from said navigation message;

a calculator for calculating a plurality of almanac correction parameters according to coordinate differences between a plurality of ephemeris-based coordinates of said satellites and a plurality of almanac-based coordinates of said satellites and according to clock differences between a plurality of ephemeris-based clock drifts of said satellites and a plurality of almanac-based clock drifts of said satellites; and

a satellite position calculator coupled to said acquisition and track device and for calculating said ephemeris-based coordinates and said ephemeris-based clock drifts according to said ephemeris data, for calculating said almanac-based coordinates and said almanac-based clock drifts according to said almanac data, and for calculating a plurality of positions of said satellites respectively according to said ephemeris data, said almanac data and said almanac correction parameters,

wherein said calculator verifies validity of said ephemeris data, said almanac data and said almanac correction parameters and calculates a new plurality of almanac correction parameters if previous almanac correction parameters are invalid and said ephemeris data and said almanac data are valid.

21. The GPS system of claim 20 , wherein said calculator calculates minimum values of said coordinate differences between said ephemeris-based coordinates and said almanac-based coordinates obtained at time t according to a least square approximation of said coordinate differences, and calculates minimum values of said clock differences between said ephemeris-based clock drifts and said almanac-based clock drifts obtained at said time t according to a least square approximation of said clock differences, in order to obtain said almanac correction parameters.

22. The GPS system of claim 21 , wherein said almanac correction parameters comprise parameters a 0 , a 1 , . . . a n , wherein said parameters a 0 , a 1 . . . a n are calculated according to said least square approximation by equation (19),

[

m

+

1

i

=

0

m

t

i

i

=

0

m

t

i

n

i

=

0

m

t

i

i

=

0

m

t

i

2

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

n

i

=

0

m

t

i

n

+

1

i

=

0

m

t

i

2

n

]

[

a

0

a

1

a

n

]

=

[

i

=

0

m

Δ

x

(

t

i

)

i

=

0

m

t

·

Δ

x

(

t

i

)

i

=

0

m

t

n

·

Δ

x

(

t

i

)

]

(

19

)

wherein m+1 represents a number of sampling points of one satellite of said satellites, t i represents a sample time, n represents a highest order of said equation, and Δx(t i ) represents a coordinate difference between one almanac-based coordinate of said satellite and one ephemeris-based coordinates of said satellite.

23. The GPS system of claim 20 , wherein said satellite position calculator calculates a plurality of correction values according to said almanac correction parameters respectively, and wherein said satellite position calculator calculates said positions by adding said correction values to said almanac-based coordinates respectively.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: MAISHI ELECTRONIC (SHANGHAI) CO., LTD.
To: O2MICRO INTERNATIONAL LTD.
Reel/Frame 058612/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2012
From: O2MICRO INTERNATIONAL LIMITED
To: MAISHI ELECTRONIC (SHANGHAI) LTD
Reel/Frame 029273/0855 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2011
From: O2MICRO, INC.
To: O2MICRO INTERNATIONAL LIMITED
Reel/Frame 027172/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2008
From: YU, XIAOQUANG; HUANG, HAIQUAN; ZOU, JINGHUA
To: O2MICRO INC.
Reel/Frame 021089/0580 →
Continuity (1)
Related Publication 20090295634A1 · Dec 3, 2009