IP Library Granted Patent US 8,149,164
Granted Patent B2
US 8,149,164 · App. 12/650,154 · Granted Apr 3, 2012

System for demodulating navigation bits from satellite signals

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,149,164
App. No.
12/650,154
Granted
Apr 3, 2012
Kind
B2
Abstract

A signal processing system for demodulating navigation bits from a satellite signal is disclosed herein. The signal processing system includes a digital baseband processor for determining a boundary between two navigation bits in the navigation bits according to a first plurality of coarse acquisition (C/A) codes captured from the satellite signals, storing the first plurality of C/A codes, and demodulating a second plurality of C/A codes captured after determining the boundary to recover a first series of the navigation bits. The signal processing system further includes a complementary demodulating unit coupled to the digital baseband processor for demodulating the first plurality of C/A codes to recover a second series of the navigation bits.

Claims (55)

1. A signal processing system for demodulating a plurality of navigation bits from a satellite signal, comprising:

a digital baseband processor for determining a boundary between two navigation bits in said navigation bits according to a first plurality of coarse acquisition (C/A) codes captured from said satellite signals, storing said first plurality of C/A codes, and demodulating a second plurality of C/A codes captured after determining said boundary to recover a first series of said navigation bits; and

a complementary demodulating unit coupled to said digital baseband processor for demodulating said first plurality of C/A codes to recover a second series of said navigation bits,

wherein said complementary demodulating unit is capable of:

calculating a start position of a series of C/A codes in said first plurality of C/A codes, said series of C/A codes being used for modulating a corresponding navigation bit in said second series of said navigation bits;

calculating an end position of said series of C/A codes in said first plurality of C/A codes; and

determining a value of said corresponding navigation bit according to integral values of said series of C/A codes between said start position and said end position in said first plurality of C/A codes.

2. The signal processing system of claim 1 , further comprising:

a C/A code storage unit for storing said first plurality of C/A code.

3. The signal processing system of claim 1 , further comprising:

a flow forming unit for concatenating said second series and said first series of said navigation bits sequentially to form a navigation bit flow.

4. The signal processing system of claim 1 , wherein said complementary demodulating unit calculates said start position according to equation (1),

StartNavBit( i )= N−└N/M┘*M +( i− 1)* M+ 1  (1)

wherein StartNavBit(i) represents said start position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

5. The signal processing system of claim 1 , wherein said complementary demodulating unit calculates said end position according to equation (2),

EndNavBit( i )= N−└N/M┘*M+i*M   (2)

wherein EndNavBit(i) represents said end position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

6. A method for demodulating a plurality of navigation bits from a satellite signal, comprising the steps of:

determining a boundary between two navigation bits in said navigation bits according to a first plurality of coarse acquisition (C/A) codes captured from said satellite signal;

storing said first plurality of C/A codes;

demodulating a second plurality of C/A codes captured after determining said boundary to recover a first series of said navigation bits;

demodulating said first plurality of C/A codes to recover a second series of said navigation bits;

calculating a start position of a series of C/A codes in said first plurality of C/A codes, said series of C/A codes being used for modulating a corresponding navigation bit in said second series of said navigation bits;

calculating an end position of said series of C/A codes in said first plurality of C/A codes; and

determining a value of said corresponding navigation bit according to integral values of said series of C/A codes between said start position and said end position in said first plurality of C/A codes.

7. The method of claim 6 , further comprising the step of:

storing said first plurality of C/A code in a C/A code storage unit.

8. The method of claim 6 , further comprising the step of:

concatenating said second and first series of said navigation bits sequentially to form a navigation bit flow.

9. The method of claim 6 , further comprising the step of:

calculating said start position according to equation (1),

StartNavBit( i )= N−└N/M┘*M +( i− 1)* M+ 1  (1)

wherein StartNavBit(i) represents said start position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

10. The method of claim 6 , further comprising the step of:

calculating said end position according to equation (2),

EndNavBit( i )= N−└N/M┘*M+i*M   (2)

wherein EndNavBit(i) represents said end position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

11. A global positioning systems (GPS) receiver, comprising:

a signal processing system for demodulating a plurality of navigation bits from each of a plurality of satellite signals, comprising:

a digital baseband processor for determining a boundary between two navigation bits in said navigation bits according to a first plurality of coarse acquisition (C/A) codes captured from said satellite signals, storing said first plurality of C/A codes in a storage unit, and demodulating a second plurality of C/A codes captured after determining said boundary to recover a first series of said navigation bits;

a complementary demodulating unit coupled to said digital baseband processor for demodulating said first plurality of C/A codes to recover a second series of said navigation bits;

a flow forming unit for concatenating said second series and said first series of said navigation bits sequentially to form a navigation bit flow; and

a navigation processor coupled to said signal processing system for calculating a current position according to said navigation bit flows of said satellite signals;

wherein said complementary demodulating unit is capable of:

calculating a start position of a series of C/A codes in said first plurality of C/A codes, said series of C/A codes being used for modulating a corresponding navigation bit in said second series of said navigation bits;

calculating an end position of said series of C/A codes in said first plurality of C/A codes; and

determining a value of said corresponding navigation bit according to integral values of said series of C/A codes between said start position and said end position in said first plurality of C/A codes.

12. The GPS receiver of claim 11 , further comprising:

a C/A code storage unit for storing said first plurality of C/A code.

13. The GPS receiver of claim 11 , wherein said complementary demodulating unit calculates said start position according to equation (1),

StartNavBit( i )= N−└N/M┘*M +( i− 1)*M+1  (1)

wherein StartNavBit(i) represents said start position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

14. The GPS receiver of claim 11 , wherein said complementary demodulating unit calculates said end position according to equation (2),

EndNavBit( i )= N−└N/M┘*M+i*M   (2)

wherein EndNavBit(i) represents said end position, N represents a number of said first plurality of C/A codes, M represents a predetermined number of C/A codes for modulating one navigation bit, i represents a serial number of said corresponding navigation bit in said second series of said navigation bits.

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 12, 2012
From: O2MICRO INTERNATIONAL, LTD.
To: MAISHI ELECTRONIC (SHANGHAI) LTD.
Reel/Frame 029281/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2012
From: O2MICRO, INC.
To: O2MICRO INTERNATIONAL, LTD.
Reel/Frame 027887/0747 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2010
From: YU, XIAOGUANG; HUANG, HAIQUAN; ZOU, JINGHUA; LI, LIN; YU, BO; ZHANG, WEIHUA; LU, LIE
To: O2MICRO, INC.
Reel/Frame 024476/0585 →