COMPENSATION FOR TIME DRIFT IN A DIGITAL COMMUNICATION SYSTEM
BACKGROUND
The invention relates to digital telecommunications systems, and more particularly to methods and apparatuses for compensating for time drift between a transmitter and a receiver in a digital telecommunications system.
Digital telecommunications systems abound in today's society. One of many possible examples is the proliferation of cellular communication systems. A cellular communication system is one in which a large geographical area is divided up into so-called cells. Each cell is served by a corresponding base station, which uses radiocommunication techniques to link mobile units located within the cell to a land- based part of the cellular communication system. The land-based part of the cellular commumcation system is capable not only of linking communications between mobile units located in the same or different cells, but also of connecting a mobile user to other communications networks, such as a Public Switched Telephone Network (PSTN) and/or a computer-oriented data network. In this way, a mobile user may be capable of establishing a call to (or receiving a call from) a non-mobile telephone (a so-called "Plain Old Telephone", or "POT") or to processing equipment connected to a computer network. When a user of a mobile unit moves from one cell to another, responsibility for maintaining any ongoing call that he may be participating in shifts from the original cell to the new "target" cell, in an operation referred to as "handoff" or "handover".
The cellular telephone industry has made phenomenal strides in commercial operations in the United States as well as the rest of the world. Growth in major metropolitan areas has far exceeded expectations and is rapidly outstripping system capacity. If this trend continues, the effects of this industry's growth will soon reach even the smallest markets. Innovative solutions are required to meet these increasing capacity needs as well as to maintain high quality service and avoid rising prices.
Throughout the world, one important step in the advancement of radio communication systems is the change from analog to digital transmission. Equally significant is the choice of an effective digital transmission scheme for implementing next generation technology. Furthermore, it is widely believed that the first generation of Personal Commumcation Networks (PCNs), employing low cost, pocket-sized, cordless telephones that can be carried comfortably and used to make or receive calls in the home, office, street, car, and the like, will be provided by, for example, cellular carriers using the next generation digital cellular system infrastructure. An important feature desired in these new systems is increased traffic capacity, and efficient use of this capacity.
Currently, channel access is very often achieved using Frequency Division Multiple Access (FDMA) and Time Division Multiple Access (TDMA) methods. In FDMA, a communication channel is a single radio frequency band into which a signal's transmission power is concentrated. Signals that can interfere with a communication channel include those transmitted on adjacent channels (adjacent channel interference) and those transmitted on the same channel in other cells (co- channel interference). Interference with adjacent channels is limited by the use of band pass filters which only pass signal energy within the specified frequency band. Co- channel interference is reduced to tolerable levels by restricting channel reuse such that a minimum separation distance is required to exist between cells in which the same frequency channel is used. Thus, with each channel being assigned a different time slot, system capacity is limited by the number of available time slots per frequency, as well as by limitations imposed by channel reuse as described above with respect to FDMA, which determines the number of frequencies that are available for use in any given cell.
In TDMA systems, a channel consists of, for example, a time slot in a periodic train of time intervals over the same frequency. Each period of time slots is called a frame. A given signal's energy is confined to one of these time slots on a given frequency. Adjacent channel interference is limited by the use of a time gate or other synchronization element that only passes signal energy received at the proper time. Thus, with each channel being assigned a different time slot, system capacity is
- - limited by the number of available time slots as well as by limitations imposed by channel reuse as described above with respect to FDMA.
With FDMA and TDMA systems (as well as hybrid FDMA/TDMA systems), one goal of system designers is to ensure that two potentially interfering signals do not occupy the same frequency at the same time. In contrast, Code Division Multiple Access (CDMA) is a channel access technique that allows signals to overlap in both time and frequency. CDMA is a type of spread spectrum communication technique, which has been around since the days of World War II. Early applications were predominantly military oriented. However, today there has been an increasing interest in using spread spectrum systems in commercial applications because spread spectrum communications provide robustness against interference, and allows for multiple signals to occupy the same radio band at the same time. Examples of such commercial applications include digital cellular radio, land mobile radio, and indoor and outdoor personal communication networks. In a CDMA system, each signal is transmitted using any of a number of spread spectrum techniques. In some variations of CDMA, the informational data stream to be transmitted is impressed upon a much higher rate data stream known as a signature sequence. Typically, the signature sequence data are binary, thereby providing a bit stream. One way to generate this signature sequence is with a pseudo- noise (PN) process that appears random, but can be replicated by an authorized receiver. The informational data stream and the high bit rate signature sequence stream are combined by multiplying the two bit streams together, assuming the binary values of the two bit streams are represented by + 1 or -1. This combination of the higher bit rate signal with the lower bit rate data stream is called spreading the informational data stream signal. Each informational data stream or channel is allocated a unique signature sequence.
A plurality of spread information signals modulate a radio frequency carrier, for example by binary phase shift keying (BPSK), and are jointly received as a composite signal at the receiver. Each of the spread signals overlaps all of the other spread signals, as well as noise-related signals, in both frequency and time. If the receiver is authorized, then the composite signal is correlated with one of the unique signature sequences, and the corresponding information signal can be isolated and
despread. If quadrature phase shift keying (QPSK) modulation is used, then the signature sequence may consist of complex numbers (having real and imaginary parts), where the real and imaginary parts are used to modulate respective ones of two carriers at the same frequency, but ninety degrees out of phase with respect to one another. Traditionally, a signature sequence is used- to represent one bit of information. Receiving the transmitted sequence or its complement indicates whether the information bit is a + 1 or -1, sometimes denoted "0" or "1" . The signature sequence usually comprises N-bits, and each bit of the signature sequence is called a "chip". The entire N-chip sequence, or its complement, is referred to as a transmitted symbol. The conventional receiver, such as a RAKE receiver, correlates the received signal with the complex conjugate of the known signature sequence to produce a correlation value. Only the real part of the correlation value is computed. When a large positive correlation results, a "0" is detected; when a large negative correlation results, a "1" is detected. The "information bits" referred to above can also be coded bits, where the code used is a block or convolutional code. Also, the signature sequence can be much longer than a single transmitted symbol, in which case a sub-sequence of the signature sequence is used to spread the information bit. In many radio communication systems, the received signal includes two components: an in-phase (I) component and a quadrature (Q) component. This occurs because the transmitted signal has two components (e.g., QPSK), and/or the intervening channel or lack of coherent carrier reference causes the transmitted signal to be divided into I and Q components. In a typical receiver using digital signal processing, the received I and Q component signals are sampled and stored at least every Tc seconds, where Tc is the duration of a chip. CDMA techniques exist in a number of variants. Direct-sequence
CDMA (DS-CDMA) operates as described above. Consequently, in DS-CDMA, the broadband frequency channel can be reused in every adjacent cell. Frequency-hopping techniques can also be employed to yield CDMA systems (FH-CDMA). Here, the hopping pattern can be formed as a code sequence. That is, a bit is sent on a pseudo- random pattern of frequency channels, and each subsequent bit is sent on a different pseudo-random pattern of frequency channels. The multiple frequency channels form a code for one bit. The code may be sent out simultaneously or sequentially. A larger
bandwidth is required if each bit is to be sent out on the different frequency channels simultaneously, compared to the conventional FH-CDMA strategy of sending bits over frequency channels sequentially.
One communication system that utilizes frequency hopping is BLUETOOTH wireless technology. This system was- recently introduced to provide pervasive connectivity especially between portable devices like mobile phones, laptops, personal digital assistants (PDAs), and other nomadic devices. This system applies frequency hopping to enable the construction of low-power, low-cost radios with a small footprint. The system supports both data and voice. The latter is optimized by applying frequency hopping in combination with a robust voice coding. The frequency hopping has a nominal rate of 1600 hops per second (hops/s) through the entire 2.4 GHz ISM band, which is 80 MHz wide. Devices based on BLUETOOTH™ wireless technology can create so called piconets, which comprise a master device and one or more slave devices connected via the FH piconet channel. The FH sequence used for the piconet channel is completely determined by the address or identity of the device acting as the master. The system clock of the master device determines the phase in the hopping sequence (i.e. , the designation of which one of the possible hops in the sequence is the "current" hop). In BLUETOOTH wireless technology, each device has a free-running system clock. Each of the slave devices adds a corresponding time offset to its clock that enables it to become aligned with the clock of the master device. By using the master address to select the proper hopping sequence and by using the time offset to align to the master clock, each slave device keeps in hop synchrony to the master device; that is, master and slave devices remain in contact by hopping synchronously to the same hop frequency or hop carrier. For more details, reference is made to U.S. Patent Application No. 08/932,911, filed on Sept. 18, 1997 in the name of J.C. Haartsen and entitled "Frequency Hopping Piconets in an Uncoordinated Wireless Multi-user System," which is hereby incorporated herein by reference in its entirety.
The hop sequences used in the BLUETOOTH wireless technology are generated through a hop selection mechanism as described in U.S. Patent Application No. 08/950,068, filed on Oct. 24, 1997 in the name of J.C. Haartsen and entitled "Method and Apparatus for the Generation of Frequency Hopping Sequences," which
is hereby incorporated herein by reference in its entirety. With this method, hop carriers are generated "on the fly" . The mechanism has no inherent memory: address and clock information instantaneously determine the sequence and phase and therefore directly determine the desired hop carrier. The advantages of such a selection scheme are numerous. By changing address and clock, a device can jump from one FH piconet channel controlled by one address/clock combination to another piconet controlled by another address/clock combination. In this regard, reference is also made to the aforementioned application US 08/932,911 describing FH piconets in an uncoordinated wireless multi-user system. More information about BLUETOOTH wireless technology can be found on the Internet at http://www.bluetooth.com.
Digital communication techniques are used in each of the above- described, as well as other, channel access strategies. One of the key issues in digital communications is the problem of acquiring and tracking time-synchronization between the transmitter and the receiver. That is, as the transmitter transmits each symbol in sequence (where the term "symbol" is used herein to refer to the digital informational content to be communicated between transmitter and receiver), the waveform representing this stream of symbols goes through transitional stages before arriving at a state (e.g. , amplitude and/or phase value) that is predefined to represent the given symbol. The job of the receiver is to try, as closely as possible, to sample a received symbol at the moments that these predefined states are reached, rather than during the transitional periods of time. The term "acquisition" refers to the problem of at least initially determining the timing (referred to as "sampling phase") of when sampling should be performed. The term "tracking" refers to the problem of adjusting the timing of the sampling phase to accommodate for time drift that can occur between the transmitter and receiver.
To perform acquisition, a synchronization word ("syncword") with good auto-correlation properties is typically used, such as a Barker sequence or a maximum length linear shift register sequence. Depending on the accuracy of the clocks of the transmitter and the receiver, the length of the data packets transmitted, and of the resolution of the sampling time, the sampling time (relative to the symbol) may or may not need to be updated (i.e., "tracked") throughout the packet.
The need for tracking essentially depends on the relative packet length, clock accuracy, and symbol duration time. Given that both the transmitter and the receiver have an accuracy of A parts per million (ppm), the packet duration is TPacket, and the symbol duration is Ts, one can determine whether or not tracking is needed. For example, assuming that a time drift in the sampling time during the entire packet corresponding to 0.1 Ts is acceptable, one doesn't have to use tracking provided that 2ATPacket<0.1TS. The term 2A in this relationship derives from the assumption that the transmitter and receiver each have an accuracy of A ppm, and the fact that one of these clock sources may be slow by A ppm, while the other may be fast by A ppm, so that the relative offset between transmitter and receiver could be as high as 2A. Since Tpac^et=NTs (where N is the number of symbols in a packet), we have
Maximum Acceptable Time Drift * 0.1
JV = - i = '- = . (1) max Relative Offset Between Transmitter and Receiver 2AT 2A
For example, if the transmitter and the receiver both have clocks with an accuracy of 20 ppm, the maximum number of symbols, Ntnax, in a packet becomes .
As mentioned above, whether tracking needs to be performed is also determined, in part, by the resolution of the sampling time. Typically, the receiver samples the incoming signal at a rate that is higher than the symbol rate; that is, the received signal is oversampled, at least during the reception of the syncword. In what follows, it will be assumed that the oversampling ratio (OSR) is N0SR. By correlating the received sequence with the syncword, the receiver can estimate which one of the NOSR sample phases is best to use as the sampling time throughout the remaining part of the packet. Assuming that the best possible sample is chosen and that the samples are equidistant, it follows that the chosen sampling time will be within ±TS/(2NQSR) from the optimum sampling time. Consequently, if it is required that the used sampling time not be more than Δt from the optimum one, this cannot be guaranteed unless
T
— —+2ATN ≤ At, (2)
2N OSR * '
where N is the packet length (i.e., the number of symbols in a packet). Referring to Equation (2), one can increase the packet length by also increasing the OSR (i.e., the increase in the OSR reduces the magnitude of the first term, and this can be made to offset some amount of increase in the second term). However, even if the OSR is made arbitrarily large (so that the leftmost term in Equation (2) vanishes), the maximum packet length cannot exceed
Δt/r
N = -. (3)
2A
Thus, upon reception of a data packet, there are several things that have to be done, both in terms of synchronization and in terms of parameter estimation. For example, frame synchronization has to be performed in order to know where the data packet starts and ends. The optimum sampling phase as to be found; that is, the time instant that should be used to estimate the value of a bit has to be found.
The sampling phase to use throughout the reception of a packet is typically obtained by correlating the received data with a known syncword. That is, once the syncword is found in the received data, the (at that time) best sampling phase is found. If the time drift between the transmitter and receiver is large relative to the length of the communicated data packet, the sampling phase chosen at the start of the packet might not be the best choice throughout the whole packet. Thus, the sampling phase used should be updated in such a way that this time drift is compensated for.
To illustrate this point, assume that the OSR=4, that is, that the symbol stream is sampled four times per sample. Furthermore, assume that samples are equidistant with respect to one another and that an algorithm for determining the best sampling time is employed. FIG. 1 is a graph depicting a possible eye pattern for the start of the packet at the output of the receiver's detector. The x-axis corresponds to the duration of one symbol, Ts, and four sampling phases 101, 103, 105, 107 are shown as occurring at 0 Ts, 0.25 Ts, 0.5 Ts and 0.75 Ts, respectively . The best sample is the one located as close as possible to the middle of the eye, which in this example is the sampling phase 105 that occurs at time equal to 0.5 Ts. If no updating is employed, this samplmg phase is to be used throughout the packet.
Now assume that the time drift is such that the samples are delayed relative to the eye pattern. More precisely, assume that the receiver's sampling rate is slower than the transmitter's samplmg rate such that, at the end of the packet, the delay amounts to 0.15 Ts. The corresponding eye pattern and the sampling phases 101 ' , 103' , 105' , 107' for the end of the packet under these conditions are depicted in FIG. 2. As can be clearly seen, the sampling phase 105 that was optimum at the start of the packet has now moved to 0.65 Ts, (see sampling phase 105') and is no longer optimal. Instead, the sampling that, at the start of the packet, was occurring at 0.25 Ts (i.e., sampling phase 103) is now taking place at 0.40 Ts (see sampling phase 103') and is clearly the sampling time that should be used.
It is clear, then, that under these circumstances, it would be desirable to have methods and apparatuses that are capable of making the necessary adjustment(s) to the sampling phase as sampling progresses from the start of the packet to the end of the packet to ensure that sampling occurs at a suitable time with respect to the received symbol.
SUMMARY
It should be emphasized that the terms "comprises" and "comprising", when used in this specification, are taken to specify the presence of stated features, integers, steps or components; but the use of these terms does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
In accordance with one aspect of the present invention, the foregoing and other objects are achieved in methods and apparatuses that compensate for a time drift in sampling a received signal that is caused by a relative difference between a transmitter clock and a receiver clock. Doing this compensation includes estimating a frequency offset between the transmitter clock and the receiver clock; using the estimated frequency offset to determine a time drift estimate; and using the time drift estimate to adjust a sampling phase during receipt of the signal.
In some embodiments, using the time drift estimate to adjust the sampling phase during receipt of the signal is performed for each sample.
In some embodiments, the received signal is sampled at an oversampling rate, NQSR, , that is greater than or equal to two; and using the time drift estimate to adjust the sampling phase during receipt of the signal comprises using the time drift estimate to generate an interpolated sample from two successive samples of the signal. In alternative embodiments, using the time drift estimate to adjust the sampling phase during receipt of the signal comprises: determining a first sampling phase for use when sampling the signal; using the first sampling phase to generate a number, N™/w&0/ιy. of samples -of the signal (each representing one symbol); and adjusting the sampling phase to a neighboring pre-defined sampling phase for use at least once when further sampling the signal. In some of these embodiments, N™^^ is determined in accordance with:
N symbols 2xNn * Time Drift Estimate
OSR
where NQ$R is an oversampling amount.
In another aspect of the invention, estimating the frequency offset between the transmitter clock and the receiver clock may be performed in a radio part of a receiver. Further, using the time drift estimate to adjust the sampling phase during receipt of the signal may be performed in a baseband part of the receiver.
In yet another aspect of the invention, in some embodiments estimating a frequency offset between the transmitter clock and the receiver clock; and using the estimated frequency offset to determine a time drift estimate may be performed only once during receipt of a packet of samples. In alternative embodiments, these acts may be performed two or more times during receipt of a packet of samples.
BRIEF DESCRIPTION OF THE DRAWINGS
The objects and advantages of the invention will be understood by reading the following detailed description in conjunction with the drawings in which: FIG. 1 is a graph depicting a possible eye pattern for the start of a packet at the output of a receiver's detector;
FIG. 2 is a graph depicting the eye pattern for the end of the packet at the output of a receiver's detector under the assumption that the delay due to time drift is 0.15 Ts;
FIG. 3 is a block diagram showing relevant parts of a transmitter and receiver for understanding the various aspects of the invention;
FIG. 4 is a flow chart depicting steps for carrying out an exemplary embodiment of the invention; and
FIG. 5 is a block diagram of pertinent parts of a receiver suitable for implementing an embodiment of the invention when frequency modulated signals are involved.
DETAILED DESCRIPTION
The various features of the invention will now be described with respect to the figures, in which like parts are identified with the same reference characters. The various aspects of the invention will now be described in greater detail in connection with a number of exemplary embodiments. To facilitate an understanding of the invention, many aspects of the invention are described in terms of sequences of actions to be performed by elements of a computer system. It will be recognized that in each of the embodiments, the various actions could be performed by specialized circuits (e.g., discrete logic gates interconnected to perform a specialized function), by program instructions being executed by one or more processors, or by a combination of both. Moreover, the invention can additionally be considered to be embodied entirely within any form of computer readable storage medium having stored therein an appropriate set of computer instructions that would cause a processor to carry out the techniques described herein. Thus, the various aspects of the invention may be embodied in many different forms, and all such forms are contemplated to be within the scope of the invention. For each of the various aspects of the invention, any such form of embodiment may be referred to herein as "logic configured to" perform a described action, or alternatively as "logic that" performs a described action.
The invention provides methods and apparatuses that update the used sampling phase by estimating the time drift based on a frequency offset between the transmitter and the receiver. The inventors have observed that there is a relationship
between these two parameters, and that frequency offset is typically measured in a receiver, thereby making it already available for use in the time drift calculation and compensation disclosed here. In this way, it is possible to make use of longer packets, and thereby increase the throughput, without the need for explicitly estimating the time drift. These and other aspects of the invention will now be described in greater detail. For a receiver to work properly, it is necessary to estimate the frequency of the received signal, and the frequency error should be less than some required value, for example 10 kHz. In many cases the requirement -on frequency error can be significantly more stringent, for example 100 Hz. Suppose that the carrier frequency is at 2.4 GHz and that the requirement on frequency error in the receiver is 10 kHz. Such an error corresponds to about 4 ppm, which typically is too stringent a requirement for an inexpensive crystal oscillator to meet. Consequently, some sort of frequency estimation and frequency correction has to take place at the receiver side of the communication. Unlike the problem caused by time drift, the need for frequency estimation is also present for short packets and typically does not become more necessary for longer packets.
Now, referring to FIG. 3, this is a block diagram showing relevant parts of a transmitter and receiver for understanding the various aspects of the invention. On the transmitter side, a first crystal oscillator XOTX generates the carrier frequency, and on the receiver side, a second crystal oscillator XOj^ is used to generate the timing in the baseband (BB). What this means is that if the first crystal oscillator XO RX has a frequency that is, for example, δ ppm higher than its nominal value, the clocking in the baseband part of the transmitter will be running at δ ppm higher speed and the carrier frequency will be δ ppm higher than the nominal value. The corresponding property will also be true on the receiver side, so that there is a relative frequency offset between the first and second crystal oscillators, XOTX, XOj^. One manifestation of this frequency offset can be seen in an eye pattern: When there is a frequency offset between the transmitter and receiver, the center of the eye will not be vertically centered at zero, as illustrated in the eye patterns of FIGS. 1 and 2, but instead will be vertically shifted either up or down with respect to the zero crossing, with the amount
of the shift being a measure of the magnitude of the frequency offset. This can be seen as a DC offset in the received signal.
Techniques for estimating such a frequency offset are known. One such technique is disclosed in U.S. Patent Application No. 09/372,250, filed August 11, 1999 in the name of Sven Mattisson et al.. which is incorporated herein by reference in its entirety. Given knowledge (or, in practice, an estimate) of the frequency offset, the relative offset between the first and second crystal oscillators XOTX, XORX can be calculated. For example, suppose that in a system having a carrier frequency of 2.4 GHz it is found that the frequency offset between the transmitter and the receiver is 96 kHz. The relative offset between the first and second crystal oscillators XOTX, XORX can then be determined to be (96* 10 )/(2.4χ 109) = 40ppm. Since the relative time- drift is proportional to the relative difference between the crystal oscillators, and assuming a maximum acceptable time drift of 10% of the bit duration (i.e., ATS), we find from Equation (1) that, without any sort of compensation, the maximum packet length is:
Maximum Acceptable Time Drift 0.1
JV = i- 1 = = 2500. max Relative Offset Between Transmitter and Receiver 40* 10"6
Frequency estimation, which is usually performed at the receiver side of the communication, can often compensate for relative differences between the transmitter and receiver crystal oscillators. For example, suppose that the crystal oscillators have a relative difference of 40 ppm, the carrier frequency is 2.4 GHz. The frequency estimation techniques can typically estimate the frequency with an accuracy of 2.4 kHz. This means that the frequency offset can be reduced from 40 ppm to 2.4 kHz / 2.4 GHz = 1 ppm.
Referring now to the flow chart of FIG. 4, since the relative time-drift is proportional to the relative difference between the transmitter and receiver crystal oscillators (e.g., the first and second crystal oscillators XOTχ and XOJJX), the frequency offset is used as an estimate of the time-drift (step 401). The determination of relative offset in this manner may advantageously be used in a receiver because frequency offset has to be estimated anyway in order to have acceptable performance.
It is noted that the amount of this time drift can also be estimated with the same accuracy as that of the frequency offset (e.g., 1 ppm in the above example).
In addition to estimating the time drift, the best sampling phase is determined for the start of the packet (step 403). This one step is done using the same techniques as are known in conventional techniques.
Next, the received signal is sampled (step 405). As sampling progresses, the sampling phase is periodically adjusted to compensate for the time drift (step 407). That is, the sampling phase is adjusted so that sampling will continue to take place as close to the center of the eye pattern as possible. In some embodiments, this adjustment could be performed continuously (i.e., with an adjustment being made for each sample). Where the receiver is oversampling, for example, the receiver could be designed to determine an interpolated value between every two samples, with the distance from the interpolated value to one of the two points being controlled by the extent of the estimated time drift at that moment. Where continuous time drift compensation is performed, the time drift will be estimated and compensated for with the same accuracy as that of the frequency estimation (e.g., 1 ppm in the above example). In this case, the maximum packet length is:
Maximum Acceptable Time Drift 0.1
JV = f- 1 = = 100,000. max Relative Offset Between Transmitter and Receiver l x l O"6
In alternative embodiments, continuous time-drift compensation is not performed. Instead, the signal is oversampled at a rate of NOSR times per bit, and the sampling phase is chosen to be one of N possible ones of these sampling phases. Then, the selected sampling phase is held constant for a number of samples, and is then changed to a next (or previous) sampling phase after a number, Nsymboιs, of symbols have been sampled, where Nsymboιs is determined in accordance with:
*ymboU 2*N D x Estimated Time Drift' ^
The process is then repeated for another Nςymbois samples until the entire packet is received.
An example will illustrate the rationale behind Equation (4). Assume that the estimated time drift is 40 ppm, and that the amount of oversampling, N0SR, is 4. This means that it takes 1/(4-40-10~6) = 6250 symbols for the time drift to correspond to changing to the next (or previous) adjacent sampling phase. Assuming that the originally chosen sampling phase was optimum (e.g, samplmg phase 105 at time 0.5 in FIG. 1) at the start of the packet, it would therefore be suitable to change from this to the next (or previous) depending on the direction of the drift) when the drift corresponds to half the distance between the sampling phases, or 3125 symbols in this example. Thus, one might at this point change to sampling phase 103' as shown in FIG. 2, since this samplmg phase takes place at time 0.4, which is close to the center of the eye pattern.
It is noted that changing the sampling phase exactly at the point when the drift corresponds to half the distance between the sampling phases is not essential to the invention, and that in alternative embodiments, different fractional distances (i.e., other than one half) could be used.
Retorning now to FIG. 4, the above described processing continues for each sample for so long as the entire packet has not yet been received ("NO" path out of decision block 409). When the entire packet has been sampled ("YES" path out of decision block 409), the process terminates for this packet. In another aspect of the invention, the frequency offset estimation may be performed in the digital (baseband) part of the receiver, and used there directly. In alternative embodiments, the frequency offset estimation is instead done in the radio part of the receiver (in the analog part), and the offset estimate can then be read out by the baseband and used to compensate the time drift in the baseband part of the receiver. FIG. 5 is a block diagram of pertinent parts of an exemplary receiver suitable for implementing this embodiment of the invention when frequency modulated signals are involved. The output of the mixer (not shown) is supplied to a detector 501, whose output is then supplied to a quantizer 503. These units are well-known in the radio arts, and need not be described here in detail. The output of the detector is also supplied to a threshold estimator 505, which estimates the frequency offset in accordance with known techniques, such as those described in the above-referenced U.S. Patent Application No. 09/372,250. The output of the threshold estimator 505 is
preferably a DC level that is supplied to the quantizer 503 so that the latter can compensate for the frequency offset. As mentioned earlier, the frequency offset is manifested as a DC offset. The quantizer 503, then, can compensate for the frequency offset by subtracting the output of the threshold estimator 505 from the output of the detector 501 prior to generating the quantized output.
In accordance with the invention, the output of the threshold estimator 505 is further supplied to the baseband processor 507, which uses the frequency offset estimation to estimate the time-drift estimate, as described above. The baseband processor can then use the time-drift estimate to periodically adjust its sampling phase in the manner exemplified by the flowchart of FIG. 4, in order to compensate for the time drift.
In some embodiments, the output of the threshold estimator 505 is read out by the baseband processor 507 as soon as the frequency offset (and therefore also the time drift) is to be accurately estimated, and then used for the remaining part of the packet to be sampled. In alternative embodiments, the estimated frequency offset may be read out at several times during receipt of a single packet in order to generate a more reliable estimate. This might lead to improved performance in a number of circumstances including, but not limited to, the following:
When frequency hopping is used (e.g. , in a BLUETOOTH system), the carrier frequency changes from one packet to the next. It might then be that at the start of the packet, some frequency drift is experienced, which might affect the offset amount. This drift is less of a problem later during the packet. Thus, estimating the frequency offset several times during receipt of one packet would produce a better estimate. Also, decisions regarding sampling phase and frequency estimation are typically made using the limited number of symbols that make up the syncword that precedes the actual data. However, if frequency estimation were to be made on the basis of more symbols (i.e., including some or all of the actual data), then a more reliable estimate can be achieved. The invention has been described with reference to a particular embodiment. However, it will be readily apparent to those skilled in the art that it is possible to embody the invention in specific forms other than those of the preferred
embodiment described above. This may be done without departing from the spirit of the invention. The preferred embodiment is merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the range of the claims are intended to be embraced therein.