Multi-resolution frequency tracking loop system and method

A system and method for determining a frequency correction for a received signal having a transmission frequency, including first and second frequency error tracking loops where the first tracking loop corrects frequency errors over a maximum range of frequencies and the second frequency tracking loop corrects frequency errors that are multiples of the maximum range of frequencies.

BACKGROUND

I. Field of the Invention

The invention relates to frequency tracking methods and apparatus, in particular, multiple loop based frequency tracking methods and apparatus.

II. Description of the Related Art

Frequency tracking apparatus and methods commonly must balance a large pull-in range against small, steady-state frequency errors. To limit/reduce steady state errors, some apparatus and methods sequentially employ a large pull-in range tracking loop and then an accurate fast-tracking frequency loop. These apparatus and methods in practice have limitations including convergence and sequential switching control. Thus, a need exists for frequency tracking apparatus and methods that may efficiently pull in large frequency errors while having a small steady state frequency error.

SUMMARY

A method and apparatus is disclosed for determining a frequency correction for a received signal having a transmission frequency. A first frequency correction is determined for the received signal where the first tracking correction is characterized by an accurate and fast tracking ability, but a limited pull-in range. A second frequency correction is determined for the received signal where the second frequency correction is characterized by a large pull-in range, but limited tracking ability. The first frequency correction and the second frequency correction are then summed to determine the frequency correction for the transmission frequency.

In one embodiment, the received signal may include tracking data. In this embodiment, the first frequency correction may be determined based on the tracking data. Further, the second frequency correction may be determined based on the tracking data. The tracking data may include pilot data and the received signal may include a plurality of time slots. In addition, each time slot of the plurality of time slots may include pilot data. In one embodiment, the received signal is a modulated signal. In this embodiment, the received signal transmission frequency may be adjusted based on the frequency correction and the received signal may be demodulated based on the adjusted transmission frequency.

DETAILED DESCRIPTION

FIG. 1is a block diagram of an exemplary mobile communications architecture10in which the multiple loop based frequency tracking methods and apparatus may be employed. The architecture10includes a network management center (“NMC”)20coupled to a plurality of wireless communication terminals (“WCTs”)32,34,36, and38via a wireless communication network40. The wireless communication network40may comprise a satellite or terrestrial communication system, for example, a cellular communication system or a CDPD communication system A WCT may be mounted in a vehicle or other mobile device, or it may be mounted at a fixed location remotely located from NMC20, optimally located within the operational boundaries of the wireless communication network40.

The NMC20may also be coupled to one or more customer systems, shown as customers12and14, and/or a dispatch station16. The NMC20may be coupled to the customer systems12,14and dispatch station16by dialup connection, Internet connection50, or direct connection (local area network), or other suitable communication system including a wireless communication system. The NMC20may be coupled to the wireless communication network40via plain old telephone service (POTS), via a data network such as the Internet, through dedicated communication lines such as a T1 or T3 line, or wirelessly. In another embodiment, the NMC20is co-located with at least a portion of the wireless communication network40. For example, NMC20could be co-located with a satellite transmitter. The communication link between the NMC20to WCTs is commonly referred to as a forward link, while signals from WCTs to the NMC20are sent on a reverse link. Where a WCT is located within a vehicle, data communicated on the forward link may include geographical location information, delivery and vehicle status, encoded voice communications from a WCT and directions, instructions, road status information, and voice communications from the NMC20. The NMC20may receive similar information from a WCT and forward the information to a customer (12,14) and/or dispatcher (via dispatch terminal16).

A block diagram of an typical NMC20is shown inFIG. 3. The NMC20includes a CPU22, a RAM24, a ROM26, a storage unit28, a first modem/transceiver72, and a second modem/transceiver74. The first modem/transceiver72may couple the NMC20to internet50. The modem/transceiver72may be an Ethernet modem connecting the NMC to a local network or Internet. The second modem/transceiver74couples the NMC20to the wireless communication network40and allows bi-directional communication with one or more WCTs. The CPU22may direct communications between the first and second modem72and74for messages between the customer terminals12,14and dispatch terminal14and one or more WCTs32,34,36and38. The ROM26may store program instructions to be executed by the CPU22to perform the above and below described operations. The RAM24may be used to store temporary program information, received data, and message. The storage unit28may be any unit capable of data storage and may be used to store messages and other information.

A block diagram of an exemplary WCT32,34,36, or38is shown inFIG. 2. The WCT32includes a central processing unit (“CPU”)66, a random access memory (“RAM”)52, a read only memory (“ROM”)54, a display56, a user input device58, a transceiver60, a microphone62, a speaker64, and an antenna72. The ROM54is coupled to the CPU66and stores the program instructions to be executed by the CPU66. The RAM52is also coupled to the CPU66and stores temporary program data. The user-input device58may include a keypad, a touch pad screen, a track ball, or other input device. The user employs the input device58to navigate through menus, to generate messages, request route information, and other functions. The display56is an output device such as a CRT, a LCD, or other user perceptible device. The user may employ the display56to read decoded messages or other data transmitted from a customer12or14or other unit (WCT32) via the wireless network40. The CPU66may comprise an Intel™ 80186 processor in one embodiment.

When provided, the microphone62and speaker64may be incorporated in a handset coupled to the transceiver60. The microphone62and speaker64may also be more physically separated to enable hands free communication with the user of the WCT32. In this mode, the transceiver60may include voice activation circuitry that may convert voice into data transmitted to the CPU66for processing. The data is transmitted to CPU66via a serial bus70. The transceiver60includes the instruction set necessary to communicate data and voice signals over the wireless communication network40. In one embodiment, the transceiver60supports code division multiple access (“CDMA”) protocols and the wireless network is a CDMA based network that supports data and voice signals. The transceiver60is coupled to the antenna72for communicating signals with the wireless communication network40. When a data signal is received by the transceiver60, the data is transferred to the CPU66via the serial bus70. The data may include text messages, traffic updates, suggested changes to road navigation, destination, multiple destination order priority, weather, accident, construction or other road network status data, or other information. The data may also include software updates for the unit. The transceiver60may be capable of receiving position and velocity vectors signals such as QASPR, GPS, DGPS, and E-911 signals, among others.

In order to demodulate messages received on the forward link, the transceiver60must accurately track the forward link transmission frequency for the modulated signal. In architecture10, the forward link transmission frequency may vary due to WCT32motion and other factors. For example, movement of a WCT at a speed of 100 miles per hour may introduce a frequency error on the order of 0.15 part per million (“ppm”) and the acceleration/deceleration of a WCT at 10 miles per hour per second (mph/s) may cause a frequency change rate on the order of 0.015 parts per million per second (“ppm/s”). In addition, each WCT transceiver60includes a local oscillator (“LO”) (not shown) used in part to demodulate/modulate forward/reverse link signals. LO error may introduce a long term frequency error on the order of 8 ppm and a short term frequency change rate on the order of 1 part per billon per second (“ppb/s”). For a forward link transmission frequency of about 12 GHz, the LO long term frequency error may be on the order of 96 KHz. In order to coherently demodulate a received (modulated) signal, a frequency error on the order of 10 Hz is commonly required. In the architecture10, the present invention is employed in the transceiver60to track the received signal frequency (effectively reducing the LO frequency error and motion variation) to a level that enables coherent demodulation.

The process80shown inFIG. 4Ais used to reduce the received signal frequency tracking error to an acceptable level (in an exemplary embodiment to a level that permits coherent demodulation of the received signal). The process80first searches for the transmitted signal (at step82) based on the predetermined forward link transmission frequency. Using known techniques such as energy maximization, step82reduces large frequency tracking errors to intermediate levels (e.g., from 96 KHz to about 4 KHz range, in one exemplary embodiment). Then process80employs frequency tracking (step84) to reduce the frequency tracking error to an acceptable level (for demodulation).

FIG. 4Bis a flow diagram of one embodiment of a frequency tracking process84that uses three independent error correction processes in parallel. Other embodiments may use a fewer number or a greater number of independent error correction processes. In addition, the error correction processes may occur in parallel with each other, as shown inFIG. 4B, or it may occur sequentially. In process84, tracking data is collected from the received signal (step81) and used to determine first, second, and third tracking error corrections (steps83,85,87). These error corrections are summed (step89) and may be used to correct for the received signal's frequency variations. In a preferred embodiment, the second error correction is a multiple of the maximum pull-range of the first error correction range, e.g., if the first error correction has a pull-range of +/−300 Hz, the second error correction would comprise multiples of +/−600 Hz. In this embodiment, the third error correction comprises a multiple of the maximum pull-in range of the second error correction. The term “pull-in range” refers to a range of frequencies that a frequency correction loop can correct. Generally, one frequency correction loop will have a small pull-in range, but able to track fast frequency changes. Another frequency correction loop will have a large pull-in range (i.e., multiples of the frequency correction loop having the small pull-in range), but not able to track fast frequency changes.

FIG. 5is a functional block diagram of one embodiment of an apparatus90for determining/tracking the demodulation frequency of a received modulated signal having tracking data. The apparatus90includes a rotator92, a frequency tracking data acquisition module94, and a frequency tracking module96. The rotator92processes the received signal91based on the expected, predetermined receive signal frequency. The tracking data acquisition module locates and processes tracking data of the received signal to generate tracking data signal(s)95. The frequency tracking module96uses the tracking data signal(s)95to generate one or more frequency correction signals98. The rotator adjusts the receive frequency based on the frequency correction signal(s)98. In one embodiment, the frequency tracking loop module96performs the process84shown inFIG. 4B. An exemplary embodiment of the present invention is presented with reference toFIGS. 6A to 6C.

FIGS. 6A to 6Care illustrations of receive data slots including tracking data. InFIG. 6A, there are 600 time slots per second (110,120,130), each time slot having 4096 chips, and tracking data comprising 384 chips at the start of each time slot (112,122,132) (for a total of 2.4576 Mchips/sec). In one embodiment, the tracking data comprise pilot data, Plkwhere k represents the slot number. Then Pkis equal to

∑i=0383⁢⁢Plk⁡(i)=Ak⁢ⅇj⁢⁢θk.
Based on this, the first tracking data module/process determines B=Im(Pk+1P*k)≈AkAk+1Δθ. Accordingly, B represents the first frequency error correction. In the configuration, B has a pull-in range of ±300 Hz. In a preferred embodiment, the second correction provides frequency error corrections equal to n*600 Hz, where n comprises an integer representing the number of 600 Hz intervals needed to correct a received signal to a target frequency, as explained in more detail below.

FIG. 6Bis an illustration of an exemplary slot configuration that may be used for determining n in accordance with the present invention. In this configuration, each pilot burst112,122,132of a slot110,120,130is divided into two sub-pilots114,116(124,126). Each sub-pilot burst has 192 chips. The second frequency error correction may be determined from a first and second sub-pilot burst in each slot. In particular C=Im(H1,kH*2,k) where H1,kis the first sub-pilot burst of slot k and H2,kis the second sub-pilot burst of slot k. Then n is the closest integer of C/600 Hz. Then the error correction for an embodiment having two tracking loops is B+n*600 Hz. It is noted that second error correction loop has a pull-in range of ±6.4 KHz.FIG. 6Cis an illustration wherein each pilot burst112is divided into four sub-pilots113,115,117, and119. In this configuration a third error loop may be used, able to correct for frequencies on the order of m*12.8 KHz, i.e., a multiple of the second pull-in range.

FIG. 7is a block diagram of an exemplary frequency tracking module96that may be employed in the apparatus shown inFIG. 5. This module has a first and second error correction loop modules142and144. These modules receive the processed pilot data (tracking data)95as described and determine a first frequency correction and second frequency correction. These corrections are summed by a summer146and the accumulator148accumulates the summed corrections to generation a frequency error correction signal98.

FIG. 8is a block diagram of an exemplary first tracking loop module142that may be employed in the frequency tracking loop module shown inFIG. 7. The module142includes cross product module162, delays156,158, multiplier158, and saturation module164. Optionally, a pilot signal inverter152may be used. The pilot signal inverter152receives the Pk(in one embodiment, in phase and quadrature)95and inverts the signals when an inverse signal flag153is set. The delay154store the pilot signal(s) for one cycle (slot length). The cross product module162determines the cross product of the pilot signal(s) for the current and previous slot. The cross product is scaled by the multiplier158and appropriate scale signal157. In a preferred embodiment, the first tracking loop is limited to a maximum adjustment per slot of about +/−10 Hz. The saturation module164limits the adjustment based on the selected maximum signal163.

FIG. 9is a block diagram of one embodiment of second tracking loop module144that may be employed in the frequency tracking module shown inFIG. 7. The module144includes a cross product module, a first filter174, and a 3-level quantization module176. The cross product module receives H1,kand H2,k(in phase and quadrature components) and determines their cross product. The first filter174filters the cross product based on a filter gain signal173. The filter may be reset by a reset signal175. The first filter has the form y(n)=Gx(n)+(1−G)y(n−1) where y(n) is the output signal, x(n) is the input signal, and G is the gain signal173for the first filter174. The three level quantization module176generates the second correction based on a multiple of the first loop's maximum pull-in range. The module176may receive a threshold signal177where the module176resets the first filter174(by setting the reset signal175) based on the threshold signal177.

While this invention has been described in terms of a best mode for achieving this invention's objectives, it will be appreciated by those skilled in the art that variations may be accomplished in view of these teachings without deviating from the spirit or scope of the present invention. For example, the present invention may be implemented using any combination of computer programming software, firmware or hardware. As a preparatory step to practicing the invention or constructing an apparatus according to the invention, the computer programming code (whether software or firmware) according to the invention will typically be stored in one or more machine readable storage mediums such as fixed (hard) drives, diskettes, optical disks, magnetic tape, semiconductor memories such as ROMs, PROMs, etc., thereby making an article of manufacture in accordance with the invention. The article of manufacture containing the computer programming code is used by either executing the code directly from the storage device, by copying the code from the storage device into another storage device such as a hard disk, RAM, etc. or by transmitting the code on a network for remote execution.