1. Field
The present invention relates generally to data communication, and more specifically to delay lock loops (DLL) for use in wireless communication systems.
2. Background
In a wireless communication system, an RF modulated signal from a transmitter may reach a receiver via a number of propagation paths (e.g., a line-of-sight path and/or reflected paths). The characteristics of the propagation paths typically vary over time due to a number of factors such as fading and multipath. To provide diversity against deleterious path effects and improve performance, multiple antennas may be used to receive the transmitted signal. If the propagation paths between the transmit antenna and the multiple receive antennas are linearly independent to at least an extent, then the likelihood of correctly receiving a data transmission increases with the use of additional receive antennas.
In a multipath environment, the signal received on each antenna may include a number of instances of the transmitted signal. If multiple receive antennas are used to provide receive diversity, then each propagation path results in a signal instance appearing at each of the multiple receive antennas. If these antennas are located within close proximity to one another, then the multiple signal instances received on these antennas for any given propagation path will be closely aligned in time but may have different (and possibly wide ranging) amplitudes and phases depending on the specific channel gains for the receive antennas.
At the receiver, each received signal is conditioned and digitized to provide a respective stream of data samples. A rake receiver may then be used to process one or more signal instances in each received signal. Improved performance may be achieved if the various signal instances in the multiple received signals can be processed and combined in a manner such that more of the signal energy is collected for a given data transmission.
One key challenge to achieving high performance is to properly sample each signal instance at the specific time instances associated with the highest signal-to-noise-and-interference ratio (SINR). If receive diversity is not used (i.e., only one receive antenna is employed), then a delay lock loop may be used to adjust the sample timing for each signal instance such that the received signal is effectively sampled (or resampled) at or near the optimum time instances. However, when receive diversity is used, certain challenges are encountered in deriving the proper sample timing for the multiple signal instances received on multiple antennas for each propagation path.
Moreover, additional challenges are encountered in deriving the proper sample timing for certain operating conditions. For a communication system designed to operate at low SINRs, such as an IS-95 CDMA system, the SINR of a signal instance is not quite as sensitive to errors or jitter in the sample timing. However, for a system designed to operate at high SINRs, such as an IS-856 CDMA system, errors or jitter in the sample timing may result in more noticeable degradation in the signal instance's SINR, which may then degrade performance.
There is, therefore, a need in the art for techniques to provide proper sample timing for receive diversity and/or high SINR operating environments.
Techniques are provided herein to derive the sample timing to be used for multiple signal instances received on multiple antennas for a given propagation path when receive diversity is employed at the receiver. In one receive diversity delay lock loop (DLL) scheme, a DLL is maintained for each propagation path, and each DLL tracks the timing of the best signal instance for the assigned propagation path. The best signal instance may be the one achieving the highest signal-to-noise-and-interference ratio (SINR) among the multiple signal instances received for the propagation path. In another receive diversity DLL scheme, a DLL is maintained for each propagation path, and each DLL tracks the average timing of multiple signal instances for the assigned propagation path. The average timing for a given propagation path may be derived by (1) deriving an error metric indicative of the error in the sampling timing for each signal instance, (2) weighting the error metrics for the multiple signal instances, (3) combining the weighted error metrics for each loop update period to derive a composite error metric, and (4) updating a loop filter for the DLL with the composite error metric. For both DLL schemes, the sample timing for the multiple signal instances for each propagation path is derived by the DLL maintained for the propagation path. These and other DLL schemes are described in further detail below.
Techniques are also provided herein to provide sample timing having reduced jitter for high SINR operating environments. The SINR of a received signal instance may be estimated for a number of different time offsets, with each time offset corresponding to a different sample timing for the signal instance. The loop filter for the DLL maintained for the signal instance may initially be updated in the normal manner based on an error metric derived for the signal instance. If a change (e.g., of one or more chipx8 time units) in the time offset to be used for the sample timing is detected, then the SINR for the new time offset is compared to the SINR for the prior time offset. The new time offset is then used for the sample timing if the SINR for the new time offset is better (e.g., by y dB) than the SINR for the prior time offset. Otherwise, if the SINR for the new time offset is not better, then the prior time offset is retained and used for the sample timing. Again, various details of these techniques are described below.
Various aspects and embodiments of the invention are described in further detail below. The invention further provides methods, program codes, digital signal processors (DSPs), receiver units, terminals, base stations, systems, and other apparatuses and elements that implement various aspects, embodiments, and features of the invention, as described in further detail below.
The features, nature, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
In
The I and Q baseband components from each receiver 114 are then digitized by a respective pair of analog-to-digital converters (ADCs) 116 to provide a stream of (complex) I and Q samples. In a specific embodiment, ADCs 116 provide I and Q samples at twice the chip rate (i.e., chipx2), with the chip rate being 1.2288 Mcps for some CDMA systems. The pair of I and Q samples for each chipx2 sample period is referred to herein as an ADC sample or a data sample. The stream of ADC samples from each pair of ADCs 116 is provided to a respective sample buffer 118 and stored.
A digital signal processor (DSP) 120 receives the ADC samples stored in sample buffers 118a through 118n and further processes the samples. DSP 120 may perform a number of functions such as filtering, resampling, demodulation, decoding, and so on. DSP 120 may also implement various control loops used to provide the proper sample timing for each received signal, as described in further detail below. A memory 122 may be used to provide storage for data and/or codes used by DSP 120.
Clock circuits 124 provide the clock signals used by various elements of receiver unit 100. For example, clock circuits 124 may be designed to provide the local oscillator (LO) signals for receivers 114a through 114n, and the sampling clocks for ADCs 116a through 116n. The frequency and/or phase of these various clock signals may be adjusted by one or more loop controls from DSP 120.
The left half-slot further includes two signaling bursts 216a and 216b placed on both sides of pilot burst 214a, and the right half-slot further includes signaling bursts 216c and 216d placed on both sides of pilot burst 214b. These signaling bursts 216 are used to implement a MAC channel that is used to transmit reverse power control (RPC) information and other information. The RPC information directs the terminals to adjust their transmit power either up or down to achieve the desired signal quality at the receiving base station.
Each idle slot is also divided into two half-slots, and each half-slot also includes one pilot burst 214 of the same width (e.g., 96 chips) and located in the same position in the half-slot as in the active slot. Two signaling bursts 216 (each of 64 chips in duration) are positioned on both sides of each pilot burst 214. The signaling bursts provide a transition period between no transmission and pilot transmission and between pilot transmission and no transmission. The transition period allows the pilot reference to reach or be near its steady state value for the duration of the (e.g., 96-chip) pilot burst. The pilot bursts for the idle slot are intended to be essentially indistinguishable from the pilot bursts for the active slot.
To demodulate a particular signal instance in the received signal, the ADC samples are retrieved from the sample buffer and resampled to obtain interpolated samples at possibly the same sample rate (e.g., chipx2) but at a specific time offset corresponding to the arrival time of the signal instance at the receiver unit. This time offset is an approximation of the “optimum” sample timing that provides the highest signal-to-noise-and-interference ratio (SINR) for the signal instance. A delay lock loop (DLL) may be maintained for each signal instance being processed to provide the proper time offset for that signal instance. By using resampling, multiple signal instances with different arrival times in the received signal may be processed by resampling the same sequence of ADC samples at the specific time offsets determined for these signal instances.
As shown in
In a specific implementation, the resampling is performed at chipx8 time resolution (i.e., Tc/8, where Tc is one chip period). In this case, with linear interpolation, each pair of chipx2 ADC samples may be resampled at three other possible discrete time instances, which are represented by the square boxes between the solid circles. The difference between the ADC sampling time instances and the optimum sampling time instances for the signal instance is denoted as tdiff in
As noted above, each propagation path results in a signal instance appearing in each of the N received signals. For a given propagation path, N pilot processors 410a through 410n may thus be assigned to process the N signal instances in N different received signals corresponding to the propagation path. For simplicity,
A PN generator 434 also provides to each despread I & D element 422 a PN sequence having a specific PN state (or PN phase) corresponding to the arrival time of the signal instance being processed. This PN state may be determined by a searcher in its search for strong signal instances in the received signal and is provided to PN generator 434. Each despread I & D element 422 then despreads its received interpolated samples with the PN sequence to provide despread samples, and further decovers the despread samples with the channelization code used for the pilot. For many CDMA systems, the channelization code for the pilot is a sequence of zeros (e.g., Walsh code zero), in which case the decovering may be omitted. For the pilot structure shown in
The pilot samples from despread I & D elements 422a and 422b are provided to magnitude squarers 424a and 424b, respectively. Each magnitude squarer 424 computes the energy of each pilot sample (which is a complex value denoted as PI+jPQ), as follows:
Ep=PI2+PQ2. Eq (1)
Magnitude squarer 424a provides the pilot energy, EP,early derived based on the early samples, and magnitude squarer 424b provides the pilot energy, EP,late derived based on the late samples. For each half-slot, a summer 426 subtracts the late pilot sample energy, EP,late, from the early pilot sample energy, EP,early and provides the difference (i.e., Ep,early−EP,late) to a loop filter 430.
Despread I & D elements 422a and 422b, magnitude squarers 424a and 424b, and summer 426 collectively form an early/late discriminator (or early/late detector) that is commonly used to estimate the instantaneous error in the sample timing. Other types of discriminator may also be used for a delay lock loop, and this is within the scope of the invention.
Loop filter 430 is part of a delay lock loop (DLL) implemented for the signal instance being processed. The output from summer 426 is an error metric, EM, derived based on early/late pilot energies and is indicative of the instantaneous error, Δt, in the sample timing for the signal instance. This error metric is filtered by loop filter 430 to provide a loop output indicative of the (fine-grain) error, tdiff, between the ADC sampling time instances and the optimum sampling time instances for this signal instance. Timing generator 432 then receives and quantizes the loop output to provide the (coarse-grain) time offset, tadj, to be used for resampling the ADC samples. Timing generator 432 then provides to interpolator 420 the timing control indicative of the time offset, tadj, and further provides to sample buffer 118 an address indicative of the specific ADC samples to be retrieved from the sample buffer.
The on-time pilot samples from despread I & D element 422c are provided to a pilot filter 436 and filtered based on a particular lowpass filter response to provide a filtered pilot. The filtered pilot is then provided to a controller 440 and may further be processed to provide an estimate of the pilot SINR. In much of the following description, the pilot SINR is used as an estimate of the signal quality of the signal instance. However, other metrics may also be used to estimate the signal quality of the signal instance, and this is within the scope of the invention. Despread I & D element 422c and pilot filter 436 are parts of a signal quality estimator used to estimate the SINR of a signal instance.
In general, each loop filter may be viewed as comprising a “loop accumulator” for accumulating the instantaneous timing errors estimated by the error metric, EM. For the first-order loop filter 430a, the loop accumulator comprises a single accumulator. And for the second-order loop filter 430b, the loop accumulator comprises the first and second accumulators.
The performance of a delay lock loop with an early-late discriminator (such as that shown in
As noted above, when receive diversity is employed, N signal instances are received on N antennas for each propagation path. If the receive antennas are located in close proximity to one another, then these signal instances will be closely aligned in time. However, for a given propagation path, each receive antenna may be associated with different fading and multipath effects. Thus, these N signal instances may be associated with different (possibly wide ranging) amplitudes and phases.
Various schemes are provided herein to derive the “proper” sample timing for each propagation path when receive diversity is employed. Some of these schemes are described below.
In a first diversity DLL scheme, a DLL is maintained for each propagation path, and each DLL is operated to track the timing of the “best” signal instance for the assigned propagation path. For each propagation path, the sample timing for the remaining signal instances are “slaved” to the sample timing of the best signal instance. The best signal instance may be defined as the one with the best signal quality (i.e., the highest SINR) or the strongest signal strength. The SINR of a particular signal instance may be estimated based on the SINR of the pilot, which may in turn be estimated based on the pilot samples from despread I & D element 422c or the filtered pilot from pilot filter 436.
The first DLL scheme may be implemented using the pilot processor design shown in
After the N loop filters have been updated based on their respective error metrics derived from their respective sequences of ADC samples, the SINRs of all N signal instances are compared (e.g., by controller 440) (step 618). The signal instance with the best SINR is then identified as the best signal instance, and the loop filter value for this signal instance is then retrieved (step 620). The loop filter value is denoted as LFout in
The first DLL scheme may also be implemented using the pilot processor design shown in
For each loop update period (e.g., each half-slot), the pilot processor for each signal instance derives the error metric, EMi, from the early/late pilot energies for the assigned signal instance in the manner described above (step 632). The SINR of each signal instance is also estimated (step 634). The SINRs of all N signal instances are then compared (e.g., by controller 440) (step 636). The signal instance with the best SINR is then identified as the best signal instance, and the error metric, EMx, for this signal instance is selected (step 638). The selected error metric, EMx, for the best signal instance is then provided to the loop filter and used to update the loop accumulator (step 640). The process may be repeated for each loop update period.
For the first DLL scheme, the timing of the best signal instance is used for the remaining signal instances. This scheme may provide improved performance if there is a large disparity in the SINRs of the N signal instances for a given propagation path, which may be the case in a multipath environment whereby signals may add constructively at one antenna and destructively at another antenna. As each of the signal instances received on the N antennas individually fades in and out, the timing of the best signal instance is retained and used for any new signal instance that becomes better.
In a second diversity DLL scheme, one DLL is maintained for each propagation path, and each DLL is operated to track the average timing of a set of signal instances for the assigned propagation path. This set may include all N signal instances or a subset of the N signal instances for the assigned propagation path. The second DLL scheme may be implemented using DSP 120b shown in
Each multiplier 522 scales the received error metric, EMi, with a respective weight, wi, and provides the scaled error metric to a summer 524. Summer 524 then sums the scaled error metrics for all N signal instances and provides the composite error metric, EMt, to multiplier 516. Register 512, summer 514, and multiplier 516 implement the first-order loop filter, as described above.
Various schemes may be used to weigh the N error metrics for all N signal instances to derive the composite error metric, EMt. In a first weighting scheme, the N error metrics are weighted by the signal quality of the signal instances (i.e., wi∝SINRi for the i-th signal instance, where iε{1, . . . , N}). The composite error metric may then be expressed as:
This weighting scheme results in the delay lock loop tracking more of the timing of the better signal instances.
In a second weighting scheme, the error metrics for the N signal instances are linearly combined (i.e., the same weight for all signal instances, or wi=1.0), as follows:
The second weighting scheme may provide improved performance in certain operating scenarios, such as if the SINRs of the N signal instances are within a particular range.
For all weighting schemes, the signal instances having poor SINRs may be totally excluded from the error metric combining. This may be achieved by comparing the SINR of each signal instance against a threshold SINR, and setting the weight and/or the error metric for the signal instance to zero (e.g., w=0.0) if its SINR is below the threshold SINR.
For each loop update period (e.g., each half-slot), the pilot processor for each signal instance derives the error metric, EMi, from the early/late pilot energies for the assigned signal instance in the manner described above (step 652). The SINR of each signal instance is also estimated and may be used to derive a weight for the signal instance (step 654). The error metrics for the selected signal instances are weighted by their respective weights (step 656), and the weighted error metrics are combined to derive the composite error metric, EMt, for the current loop update period (step 658). The composite error metric, EMt, is then provided to the loop filter and used to update the loop accumulator (step 660). The process may be repeated for each loop update period.
In a third diversity DLL scheme, one DLL is maintained for each signal instance being processed, and each DLL is operated to track the individual timing of the assigned signal instance. This may be achieved by operating one loop filter for each signal instance, with each loop filter being operated independently and updated based solely on the error metric derived for its assigned signal instance. This DLL scheme may be implemented using the pilot processor design shown in
The third scheme may provide improved performance in certain operating scenarios, such as if there is a larger difference in the timing of the N signal instances for a given propagation path. In this case, tracking the individual timing of each signal instance, instead of tracking the timing of the best signal instance or tracking the average timing of all N signal instances, may provide improved performance.
In a fourth diversity DLL scheme, a number of different loop modes are supported. Each loop mode may correspond to a respective DLL scheme described above (e.g., the first and second loop modes may correspond to the first and second DLL schemes). The specific loop mode to use for tracking the timing of the N signal instances for a given propagation path may be dependent on the SINRs of these signal instances. For example, the timing of the best signal instance may be used for all signal instances (i.e., the first DLL scheme) if the SINR of the best signal instance exceeds the SINRs of all other signal instances by a particular amount (e.g., 4 dB). And if the above condition is not true, then the average timing of all N (or just the selected) signal instances for the propagation path may be used if the SINRs for these signal instances fall within a particular window (e.g., 6 dB).
Other DLL schemes may also be used for receive diversity, and this is within the scope of the invention.
Some communication systems are designed to support high data rates for packet data and/or other services. One such communication system is the IS-856 system, which supports data rates ranging from 38.4 Kbps to 2.4576 Mbps on the forward link. Increasingly higher data rates require correspondingly higher SINR to achieve the target packet error rate (PER).
For a system designed to operate at high SINRs, such as the IS-856 system, errors or jitter in the sample timing may result in noticeable degradation in the signal SINR, which may then degrade demodulation and decoding performance. The timing errors or jitter may be exacerbated if the fine-grain timing difference, t ff, between the ADC and optimum sampling time instances, as determined by the loop filter, is subsequently quantized to a coarse (e.g., chipx8) time resolution to obtain the time offset, tadj, used for resampling. In fact, it can be shown that quantization of the resample timing is one of the main reasons for DLL jitter, and the resulting performance degradation.
Referring back to
If the loop filter for a particular delay lock loop is driven solely by the error metric from the early/late discriminator, then the loop filter may dither one or more chipx8 periods in steady state. When the SINR of the received signal is high, the SINR of the demodulated symbols derived from the interpolated samples (i.e., the demodulated SINR) is sensitive to jitter in the sample timing caused by the dithering. In particular, the jitter in the sample timing leads to an increased variance in the demodulated SINR, which then results in a larger difference between the mean SINR and the 2% worst-case SINR. At higher data rates, the degraded demodulated SINR may result in a higher packet error rate. The system throughput may then be degraded due to (1) retransmission of the error packets, and (2) an increase in the back-off for the rate control. Thus, improved performance may be achieved if the sample timing jitter is reduced at high signal SINRs.
In an embodiment, a delay lock loop may be designed to support multiple operating modes, including a normal mode and an enhanced mode. If receive diversity is employed, then the enhanced mode may be entered, for example, if the SINR of any one of the N signal instances exceeds a particular threshold (e.g., 6 dB). In the enhanced mode, various techniques may be used to monitor the jitter of the loop filter and to adjust the sample timing only if it would result in better SINR for the signal instance.
The policy used to determine whether or not the DLL operates in the enhanced mode can be generalized. For example, the DLL may transition from the normal mode to the enhanced mode if the SINR exceeds a first threshold, Trise. While in the enhanced mode, the DLL would transition back to the normal mode only if the SINR drops below a (usually lower) second threshold, Tfall, (i.e., Tfall<Trise), and would remain in the enhanced mode otherwise. With this scheme, the transitions between the DLL operating modes are governed by SINR hysterisis, which prevents frequent toggling from one mode to another. Hysterisis may similarly be applied if more than two operating modes are used for the DLL.
Slave pilot processors 412a and 412b are used to process the ADC samples to determine the pilot SINR at two time offsets that are different from the time offset associated with the master pilot processor. In an embodiment, slave pilot processors 412a and 412b are assigned offsets of +1 chipx8 period and −1 chipx8 period, respectively. Each slave pilot processor 412 receives a respective “modified” time offset, tadj,s, for the signal instance, which may be obtained by adding or subtracting one chipx8 unit to or from the “nominal” time offset, tadj, derived for the signal instance by the master pilot processor. The modified time offsets provided to slave pilot processors 412a and 412b may thus be derived as tadj,s1=tadj−1 and tadj,s2=tadj+1, respectively.
Within each slave pilot processor 412, interpolator 420 resamples the ADC samples based on the modified time offset, tadj,s. Despread I & D element 422 then (1) despreads the interpolated samples with the PN sequence (the same PN sequence is provided to the master and slave pilot processors assigned to process a given signal instance), (2) accumulates the despread samples over each pilot burst, and (3) provides a pilot sample for the pilot burst based on the interpolated samples at the modified time offset. The pilot samples from despread I & D element 422 are then filtered by pilot filter 436 to provide a filtered pilot for the modified time offset. The filtered pilots from slave pilot processors 412a and 414b are provided to controller 440 and may further be processed to provide an estimate of the pilot SINRs for the modified time offsets of tadj,s1 and tadj,s2. Slave pilot processors 412a and 412b are thus used to determine the pilot SINRs at ±1 chipx8 unit from the time offset, tadj, determined by the master pilot processor.
The loop filter of the master pilot processor is updated for each loop update period (e.g., every half-slot) based on the error metric derived by the early/late discriminator of the master pilot processor (step 682). The output of the loop filter is monitored for jitter. If the loop filter output implies retention of the current time offset, tadj, (step 684), then no additional processing is required and the process returns to step 682. Otherwise, if the loop filter output implies a change in the time offset, tadj, to a new value that is either +1 or −1 chipx8 unit away from the prior value (step 684), then the slave pilot processor corresponding to the new time offset is identified (step 686). The pilot SINR of the master pilot processor is then compared against the pilot SINR of the identified slave pilot processor, which was previously assigned with the new time offset (step 688).
If the pilot SINR of the identified slave pilot processor is deemed to be better than the pilot SINR of the master pilot processor (step 692), then the sample timing for the signal instance is allowed to be updated in the normal manner. In an embodiment, the new time offset is deemed to be better if the pilot SINR of the identified slave pilot processor is greater than the pilot SINR of the master pilot processor by a particular delta amount (e.g., by y dB). This delta amount is used to provide hysteresis so that the “better” time offset is not continually toggled between two offset values and to provide some level of immunity to measurement noise. New modified time offsets are then determined for the slave pilot processors based on the new nominal time offset (step 694). The pilot SINRs of the slave pilot processors are also initialized to reflect their assignments with the new modified time offsets.
Otherwise, if the new time offset is deemed to not be better (e.g., does not provide the requisite amount of improvement in the pilot SINR) (step 692), then the sample timing for the signal instance is not allowed to be updated. The former loop filter value is retained (e.g., by reversing the prior update to the loop filter) and the time offset, tadj, is left unchanged (step 696). The process then returns to step 682 where the loop filter is updated at the next loop update period.
In
The enhanced mode described above may be used whether or not receive diversity is employed. If receive diversity is employed, then the SINR of the propagation path (i.e., the path SINR) may be used to determine whether or not to enter the enhanced mode. The path SINR refers to the SINR of the combined output of all N pilot processors assigned to the N signal instances for the propagation path. Alternatively, the SINR of the best signal instance may also be used to determine whether or not to enter the enhanced mode.
In the above description, a specific design for the DLL is used whereby each received signal is sampled based on a sampling clock having an arbitrary timing phase (i.e., with respect to the optimum sampling time). Resampling is then performed to obtain interpolated samples at the “optimum” sampling time instances, which are determined by the delay lock loop for the signal instance being processed.
In another DLL design, the phase of the sampling clock is adjusted by the delay lock loop for a selected signal instance in the received signal (e.g., the strongest signal instance). For this DLL design, the selected signal instance would then be sampled at or near its optimum sampling time, and resampling would not be needed for this signal instance. This DLL design can reduce the amount of jitter in the sample timing for the selected signal instance, which may improve the SINR of the demodulated data. Resampling may be used for the other signal instances in the received signal.
Any one of the diversity DLL schemes described above may also be used in conjunction with this alternative DLL design. For example, the sampling clocks for all N received signals may be adjusted based on the optimum sample timing for the best signal instance from among all signal instances in the N received signals (i.e., the first diversity DLL scheme). Resampling is then not needed for the N signal instances corresponding to the propagation path with the best signal instance. The sampling clocks may also be adjusted based on the average sample timing of the N signal instances for the propagation path with the best signal instance (i.e., the second diversity DLL scheme). The sampling clock for each received signal may also be individually adjusted based on the sample timing for the best signal instance on that received signal (i.e., the third diversity DLL scheme).
The delay lock loops and timing recovery techniques described herein may be implemented by various means. For example, a delay lock loop may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the elements used to implement one or more delay lock loops may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. A DSP may also be designed with the capability to implement multiple pilot processors in parallel or in a time division-multiplexed (TDM) manner.
For a software implementation, all or portions of the delay lock loops and/or certain timing recovery techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory 122 in
The delay lock loops may also be implemented with a combination of hardware and software. For example, hardware may be used to derive the error metrics and generate the timing controls, and software may be used to implement the loop filters.
Headings are included herein for reference and to aid in locating certain sections. These headings are not intended to limit the scope of the concepts described therein under, and these concepts may have applicability in other sections throughout the entire specification.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The present Application for Patent claims priority to Provisional Application No. 60/263,118, entitled “Changes to RX Diversity Combining and DLL Implementation,” filed Jan. 19, 2001, and assigned to the assignee hereof and hereby expressly incorporated by reference herein. The present Application for Patent is a Continuation and claims priority to patent application Ser. No. 10/044,235 entitled “Delay Lock Loops for Wireless Communication Systems,” filed Jan. 11, 2002, now U.S. Pat. No. 7,010,073, now allowed, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
3743941 | Gans et al. | Jul 1973 | A |
4221005 | Frosch et al. | Sep 1980 | A |
5202903 | Okanoue et al. | Apr 1993 | A |
5325403 | Siwiak et al. | Jun 1994 | A |
5351274 | Chennakeshu et al. | Sep 1994 | A |
5477195 | Spilker | Dec 1995 | A |
5550869 | Gurantz et al. | Aug 1996 | A |
5559757 | Catipovic et al. | Sep 1996 | A |
5654979 | Levin et al. | Aug 1997 | A |
5659573 | Bruckert et al. | Aug 1997 | A |
5701333 | Okanoue et al. | Dec 1997 | A |
5737362 | Hyun et al. | Apr 1998 | A |
5754583 | Eberhardt et al. | May 1998 | A |
5757844 | Fukawa et al. | May 1998 | A |
5805619 | Gardner et al. | Sep 1998 | A |
5884148 | Bilgic et al. | Mar 1999 | A |
5889815 | Iwakiri | Mar 1999 | A |
5930288 | Eberhardt | Jul 1999 | A |
5953383 | Kojima | Sep 1999 | A |
5987073 | Knutson | Nov 1999 | A |
6085104 | Kowalski et al. | Jul 2000 | A |
6134215 | Agrawal et al. | Oct 2000 | A |
6266365 | Wang et al. | Jul 2001 | B1 |
6278725 | Rouphael et al. | Aug 2001 | B1 |
6307906 | Tanji et al. | Oct 2001 | B1 |
6330273 | Hulbert et al. | Dec 2001 | B1 |
6335954 | Bottomley et al. | Jan 2002 | B1 |
6359878 | Lakkis et al. | Mar 2002 | B1 |
6363102 | Ling et al. | Mar 2002 | B1 |
6389040 | Viswanathan | May 2002 | B1 |
6389060 | Naruse | May 2002 | B1 |
6392500 | McCallister et al. | May 2002 | B1 |
6459883 | Subramanian et al. | Oct 2002 | B2 |
6545532 | Maalej et al. | Apr 2003 | B1 |
6580750 | Aue | Jun 2003 | B2 |
6608858 | Sih et al. | Aug 2003 | B1 |
6628698 | Oda | Sep 2003 | B1 |
6633616 | Crawford | Oct 2003 | B2 |
6693953 | Cox et al. | Feb 2004 | B2 |
6704347 | Miura | Mar 2004 | B1 |
6735242 | Kenney et al. | May 2004 | B1 |
6768780 | Lakkis et al. | Jul 2004 | B1 |
6785321 | Yang et al. | Aug 2004 | B1 |
6807157 | Chen et al. | Oct 2004 | B2 |
6856644 | Wang et al. | Feb 2005 | B1 |
6937677 | Strolle et al. | Aug 2005 | B2 |
6970523 | Strolle et al. | Nov 2005 | B2 |
7010020 | Bultan et al. | Mar 2006 | B2 |
20010010688 | Bi et al. | Aug 2001 | A1 |
20010017902 | Yamagata et al. | Aug 2001 | A1 |
20020057729 | Farbod et al. | May 2002 | A1 |
20030058929 | Cox et al. | Mar 2003 | A1 |
20030063596 | Arsian et al. | Apr 2003 | A1 |
20070116102 | Rowitch et al. | May 2007 | A1 |
Number | Date | Country |
---|---|---|
0620657 | Oct 1994 | EP |
9939452 | Aug 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20060146918 A1 | Jul 2006 | US |
Number | Date | Country | |
---|---|---|---|
60263118 | Jan 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10044235 | Jan 2002 | US |
Child | 11368115 | US |