Wireless mobile terminals utilized in mobile communication systems are increasingly integrated with other electronic devices to expand their functionality and provide a greater range of services to the user. One such electronic device is a geographic position estimator, and in particular, a device that derives position estimates from receiving and decoding signals broadcasted by navigation satellites. An example of a navigation satellite system is GLONASS (Global Navigation Satellite System) developed by the former Soviet Union. This navigation satellite system is similar to the United States Global Positioning System (GPS), the Chinese Compass Navigation System, and the European Union (EU) Galileo Positioning System. Each of these navigation satellite systems broadcasts encoded signals, which may be received at a receiver, such as a geographic position estimator, and may be processed using trilateration, which calculates the receiver's position on the surface of the Earth.
To acquire and process a satellite signal requires a receiver to determine data bit boundaries of an incoming stream of data samples. Often a window spanning a single information data bit contains several data samples. Herein, a data sample represents an integration across a PN code period. For example, one data sample represents an integration across a period containing a single 1023-chip PN code. In such cases, the receiving device must determine a starting sample for the window. For example, a window spanning the time of 20 data samples has the possibility of starting at any one of 20 different phases. For meander encoded data samples, a transition rate is effectively doubled by the encoding process, which induces a transition at the center of the data bit (e.g., an information data bit stream has possible transitions at a rate of 50 Hz, whereas a meander encoded data bit stream has possible transitions at a rate of 100 Hz). A meander code is also referred to as a Manchester code.
Conventionally for meander encoded information data bits, a two-step process is used to determine a data bit boundary (also referred to as a data bit edge). Prior to this two-step test, the sub-PN code resolution has been determined. That is, the starting point of each repeated PN code has been determined. In a GLONASS system, the PN code repeats every millisecond; therefore, the system has knowledge of the sub-millisecond offset. Thus in GLONASS, the two-step process uses the predetermined 1-ms timing to determine the 10 and 20 ms boundaries. In the first step, initial boundaries at the meander encoded transition rate are determined. The initial boundaries are at a rate twice the rate of the information data bits (i.e., at the meander rate). The initial boundaries both (1) separate neighboring data bits and (2) divide each meander encoded data bit in half. In the second step, the initial boundaries are analyzed to distinguish (1) data bit boundaries separating neighboring data bits from (2) meander encoded center transitions that divide each bit in half. As an example, a window spanning 20 meander encoded data samples at a rate of 1 sample/ms has 20 corresponding possible starting points. First, an initial boundary starting point (or phase) is determined with a 10-ms spacing (100-Hz data rate), then second, a data bit boundary starting point (data bit edge) is determined with a 20-ms spacing (50 Hz data rate). Once the receiving device determines a starting point, the device may remove the meander code and interpret the received data samples.
This two-step process has multiple disadvantages and drawbacks. First, when the initial boundary is determined, it may be erroneously set. This guarantees that the second step will also determine an erroneous data bit edge. Additional, the two-step process must complete the first step before beginning the second step. Therefore, an improved method and device for data bit edge detection of meander encoded data samples, for example, from a GLONASS satellite, is desirable.