The present invention relates generally to wireless receivers, and more particularly to finger allocation for multi-carrier receivers that receive multi-path signals.
Wireless signals often travel multiple propagation paths between a transmitter and an intended receiver. As a result, the intended receiver receives a composite signal that includes multiple images of a transmitted signal, where each image generally experiences different path delay, phase, and attenuation effects. Different signal images therefore arrive at the receiver at different times, causing a delay spread between the received signal images. The maximum delay spread between signal images depends on, among other things, the differing characteristics of the signal propagation paths.
Because the signal energy is distributed among the multiple signal images, wireless devices often use a RAKE or Generalized RAKE (G-RAKE) receiver that combines the received signal images to improve the signal-to-noise ratio (SNR) of the output signal. RAKE receivers include a plurality of RAKE fingers tuned to different delays to despread signal images. Typically, the RAKE receiver tunes its available RAKE fingers to the strongest signal images, such that each selected signal image is despread, weighted, and subsequently combined with the other selected and despread signal images. Combining multiple signal images in this manner generally improves the SNR of the received signal.
To improve wireless data rates, wireless communication systems may also use different frequency carriers for different users. To compensate for multi-path propagation issues associated with each carrier, receivers in such multi-carrier systems may include one RAKE receiver subsystem for each carrier, where each RAKE receiver subsystem includes one or more RAKE fingers. Ideally, each RAKE receiver subsystem includes enough fingers to despread each image of the received signal for the corresponding carrier. However, because receiver complexity increases as the number of RAKE fingers increases, the ideal RAKE finger distribution is not always possible.
Embodiments of the present invention provide methods and apparatuses in a multi-carrier RAKE receiver that distribute RAKE fingers between a plurality of received carriers based on a comparison between the signal-to-interference ratios (SIRs) determined for each carrier. In one embodiment, the RAKE fingers are distributed evenly between the carriers when a comparison between the largest and smallest SIR meets a first criteria, e.g., is less than or equal to a threshold. In another embodiment, the RAKE fingers are distributed to favor the carrier(s) with the strongest SIR(s) when the comparison between the largest and smallest SIR meets a second criteria, e.g., is greater than a threshold. By distributing the RAKE fingers to favor the carriers with the strongest SIRs, the embodiments of the present invention enable the system designers to limit the total number of available RAKE fingers without sacrificing performance. The embodiments may be realized in a wireless communication device comprising the multi-carrier RAKE receiver.
Typical multi-carrier RAKE receivers include a separate RAKE subsystem for each carrier, where each RAKE subsystem includes a fixed number of RAKE fingers for each carrier. When designed for a large number of carriers, the excessively large number of RAKE fingers required for such an arrangement makes the receiver prohibitively complex. Further, a fixed allocation is inefficient; there will be some circumstances where the RAKE subsystem for one carrier has more fingers than necessary, while the RAKE subsystem for another carrier does not have enough fingers.
The multi-carrier RAKE system 100 of embodiments of the present invention solves the problem associated with a fixed allocation by providing an allocation unit 118 that distributes RAKE fingers from a common RAKE finger pool 130 to the carriers. The allocation unit 118 determines the number of fingers to allocate to each carrier based on the channel conditions associated with each carrier. When the common pool of carriers 130 has enough fingers to give each carrier the desired number of fingers, the allocation unit 118 allocates the desired number of fingers to each carrier. However, when the common pool of carriers 130 does not include enough fingers to give each carrier the desired number of fingers, allocation unit 118 distributes the RAKE fingers between the carriers based on the channel conditions. For example, the allocation unit 118 may determine a signal-to-interference ratio (SIR) for each carrier, and distribute the RAKE fingers between the carriers based on a comparison between the SIRs, e.g., evenly if a difference between the SIRs is less than a threshold and according to a selected distribution process if the SIR difference exceeds the threshold.
To distribute the RAKE fingers between the carriers, the allocation unit 118 first determines Ñj, the number of RAKE fingers desired by each of the j={1, 2, . . . ,J} carriers. The allocation unit 118 may compute the desired number of fingers for each carrier as a function of the delay spread associated each carrier. For example, the allocation unit 118 may determine the desired number of fingers Ñj for the jth carrier by dividing the maximum delay spread for the jth carrier by a desired granularity, e.g., half chip, quarter chip, etc.
When the total number of desired fingers for the carriers does not exceed the total number of available RAKE fingers in the finger pool 130, e.g.,
allocation unit 118 allocates the desired number of RAKE fingers to each carrier, e.g., Nj=Ñj. Because the total number of RAKE fingers in the finger pool 130 may be limited to reduce receiver complexity, the multi-carrier RAKE system 100 may not always have enough RAKE fingers to give each carrier the desired amount. When the total number of desired fingers for the carriers exceeds the total number of RAKE fingers in the finger pool 130, e.g.,
the allocation unit 118 of embodiments of the present invention compares the signal-to-interference ratios (SIRj) determined for the carriers, and distributes the RAKE fingers between the carriers based on the SIR comparisons.
For simplicity, process 200 is described for a two-carrier system. The allocation unit 118 determines SIR1 and SIR2 for respective carrier input signals r1 and r2 (block 210). The allocation unit 118 then compares SIR1 and SIR2 to determine a comparison metric SIRcomp (block 220), and compares SIRcomp to a threshold, where the threshold is selected to generally indicate whether or not SIR1 and SIR2 differ by a small amount (block 230). For example, a threshold of 0.5 dB may be used to generally indicate whether or not SIR1 and SIR2 differ by more than 0.5 dB. If the comparison metric SIRcomp is less than or equal to the threshold (block 230), indicating that the difference between SIR1 and SIR2 is small, the allocation unit 118 distributes the RAKE fingers evenly between the carriers (block 240). However, if the comparison metric SIRcomp exceeds the threshold, indicating that the difference between SIR1 and SIR2 is large (block 230), the allocation unit 118 distributes the RAKE fingers between the carriers to favor the carrier with the strongest SIR (block 250).
It will be appreciated that embodiments of the present invention are not limited to the threshold criterion described herein for process 200; other criteria may be used. It will also be appreciated that a basic embodiment of process 200 may omit the even finger distribution option, and instead may always distribute the RAKE fingers to favor the carrier with the strongest SIR. Thus, blocks 230 and 240 in
The following describes different methods for distributing the RAKE fingers between r1 and r2 to favor the carrier with the larger SIR when the total number of desired fingers for the carriers exceeds the total number of available RAKE fingers, e.g., Ñ1+Ñ2>Ntotal. In the following examples, it is assumed that the first carrier has the largest SIR. It will be appreciated that embodiments of the present invention are not limited to the specific finger distribution methods described herein.
In some embodiments, the allocation unit 118 uses the initial allocation as the final allocation (block 340). However, other optional embodiments may further consider one or more predefined RAKE requirements, e.g., a minimum finger allocation requirement, when distributing the RAKE fingers. As long as the finger distribution satisfies the predefined RAKE requirement(s) (block 334), the allocation unit 118 distributes the initially allocated N1 fingers to the first carrier and the initially allocated N2 fingers to the second carrier (block 340). However, if the initial finger allocations do not satisfy the predefined requirement(s), the allocation unit 118 adjusts the initial finger allocations for the first carrier and/or the second carrier until the predetermined requirements are satisfied (block 338). For example, if the RAKE system 100 requires each carrier to have at least two fingers, and the initial values for N1 and/or N2 allocate less than two fingers to each carrier, the allocation unit 118 may redistribute the RAKE fingers to meet the minimum finger requirement, e.g., redistribute some fingers from the first carrier to the second carrier. Additionally or alternatively, the allocation unit 118 may adjust N1 and/or N2 to ensure that the allocation unit 118 has a sufficient number of computational cycles to compute the RAKE combining weights for the allocated fingers, as discussed further below.
In another exemplary embodiment, the allocation unit 118 uses a finger scaling factor β1 to enable external factors, e.g., delay spread, to control how the finger allocation favors the carrier with the higher SIR. The finger scaling factor β1 is a value between 0.0 and 1.0 and may be fixed or periodically updated based on current channel or communication conditions, e.g., delay spread, Doppler frequency shift, etc. A scaling factor of 0.0 corresponds to granting a carrier 0% of the desired number of fingers, while a scaling factor of 1.0 corresponds to granting the carrier 100% of the desired number of fingers.
For the scaling embodiment, the preliminary allocation is determined based on a relative comparison between the total number of available fingers Ntotal and the scaled version of the desired number of fingers for the first carrier β1Ñ1 (block 310), wherein the allocation unit 118 initially allocates N1=min(floor(β1Ñ1),Ntotal) fingers to the first carrier (block 320). Subsequently, allocation unit 118 initially allocates N2=Ntotal−N1 fingers to the second carrier (block 330). The allocation unit 118 then optionally considers any predefined RAKE receiver requirements before finally allocating N1 RAKE fingers to the first carrier and updating the allocation of N2=Ntotal−N1 RAKE fingers to the second carrier (blocks 334, 338, 340).
In one exemplary embodiment, the allocation unit 118 sets β1=1.0. This scaling factor guarantees that the carrier with the highest SIR will be granted as many fingers as possible regardless of any other RAKE system conditions.
In another embodiment, the scaling factor β1 is periodically adjusted based on the delay spread. For this embodiment, the scaling factor β1 is inversely proportional to the desired number of RAKE fingers, e.g., β1∝(1/Ñ1), where the desired number of fingers is determined based on the root mean square (RMS) delay spread. In this case, β1 may be periodically adjusted such that the carriers associated with channels with a low delay spread can be granted a higher percentage of the desired number of fingers (e.g., 100%), while carriers associated with channels with a higher delay spread can be granted a lower percentage of the desired number of fingers (e.g., 80%).
In still another embodiment, the scaling factor β1 may be periodically adjusted based on the Doppler frequency shift of the carriers. For example, the carrier experiencing a higher Doppler shift may be allocated slightly fewer fingers. This option accounts for the fact that RAKE receiver processing is generally less effective in the presence of high Doppler shifts, and therefore compensates for the problem that may arise when two mobile devices traveling at the same speed are associated with different carrier frequencies, and therefore have different Doppler shifts.
Another embodiment may determine a final finger scaling factor β1 based on a combination of multiple different determination methods. For example, a final scaling factor β1 may be determined based on an average of the finger scaling factors determined based on the delay spread and the Doppler frequency shift.
As mentioned above, when distributing the RAKE fingers, the allocation unit 118 may also consider the number of computational cycles required to determine RAKE combining weights for the allocated RAKE fingers. In general, the allocation unit 118 distributes the fingers so that the total number of computational cycles required for the allocated RAKE fingers does not exceed the maximum number of available computational cycles, e.g., cycles(N1)+cycles(N2)≦cyclesmax, where cycles(Nj) represents the number of computational cycles required to calculate Nj combining weights for the Nj fingers. If the total number of computational cycles exceeds the maximum number of available cycles, the allocation unit 118 may iteratively remove one finger from each carrier's allocation until the total number of required computational cycles does not exceed the maximum number of available computational cycles.
Alternatively, the allocation unit 118 may consider the computational cycles separately for each carrier when distributing the RAKE fingers. For example, the allocation unit 118 may allocate N1 fingers to r1, where N1 is the maximum number of fingers satisfying both N1≦min(Ñ1,Ntotal−|τ2|) and cycles(N1)≦cyclesmax−cycles(|τ2|). Alternatively, the allocation unit 118 may allocate N1 fingers to r1, where N1 is the maximum number of fingers satisfying both N1≦min(floor(βÑ1),Ntotal) and cycles(N1)≦cyclesmax. In either case, the allocation unit 118 may allocate N2=Ntotal−N1 RAKE fingers to r2.
Processor 110 distributes the RAKE fingers 132 between the carriers, provides the corresponding path delays and combining weights for each carrier, and generates control signals for the switch unit 120 and combine unit 140 based on the determined finger distribution. Switch unit 120 selectively connects each of the baseband signals r1 and r2 to one or more RAKE fingers 132 responsive to the control signal. The RAKE fingers 132 delay and despread different images of the input signals {r1,r2}. The combine unit 140 weights and combines the despread signals output by the RAKE fingers 132 for each carrier to generate the symbol estimates ŝ1 and ŝ2 for each carrier.
The processor 110 includes a path searcher 112, channel estimator 114, weight calculator 116, and allocation unit 118. The path searcher 112 determines a set of path delays τj for each of the carriers based on the input signals rj, while the channel estimator 114 determines channel estimates hj for the paths identified by the path searcher 112. The weight calculator 116 determines a set of combining weights wj allocated to each carrier based on the path delays and channel estimates. The allocation unit 118 distributes the RAKE fingers 132 according to the processes discussed above. Once allocation unit 118 determines the finger distribution, the allocation unit 118 generates the corresponding control signal for the switch unit 120 and the combine unit 140. Further, the allocation unit 118 generates a control signal for the path searcher 112 and the weight calculator 116 to match the path delays and combining weights with the correct RAKE fingers 132.
The embodiments discussed above are described in terms of a two-carrier system. However, each embodiment may be extended to a multi-carrier system having more than two carriers. The extended multi-carrier solution of embodiments of the present invention assumes that the total number of desired fingers for all carriers exceeds the total number of available fingers, e.g.,
and that SIR1≧SIR2≧ . . . ≧SIRJ. While not required, the following descriptions include the computational cycle requirement when distributing the fingers 132.
For the extended multi-carrier solution, the comparison metric SIRcomp is derived from the difference between the largest and smallest SIRs, e.g., SIR1 and SIRJ, respectively. When none of the carriers have a dominant SIR, e.g., when SIRcomp is less than or equal to a threshold, the allocation unit 118 evenly distributes the RAKE fingers 132 between the carriers. For example, the allocation unit 118 may allocate
fingers 132 to each carrier. When the allocation unit 118 also considers the number of computational cycles, the allocation unit 118 may further limit Neven to the maximum number of fingers satisfying
When the comparison metric exceeds the threshold, e.g., when SIR1>>SIRJ, the allocation unit 118 favors the carrier(s) with the stronger SIR(s). More particularly, the allocation unit 118 will, in this example, favor the first carrier over the second carrier, the second carrier over the third carrier, etc. For example, the allocation unit 118 may distribute the RAKE fingers 132 between the carriers based on the number of path delays for the different carriers. First, the allocation unit 118 determines the maximum number of RAKE fingers for the first carrier (N1) that satisfy
and optionally
Subsequently, the allocation unit 118 determines the maximum number of RAKE fingers 132 for the second carrier (N2) that satisfy
and optionally
This process continues until the allocation unit 118 allocates the number of fingers for the carrier with the lowest SIR by determining the maximum value for NJ that satisfies
and optionally
The scaling factor-based distribution embodiment discussed above may also be used for the extended multi-carrier solution. In this case, the allocation unit 118 may use a carrier-specific finger scaling factor to determine Nj for each carrier. Each finger scaling factor βj may be any value between 0.0 and 1.0, and may be determined according to any of the embodiments discussed above. First, the allocation unit 118 determines the maximum value for N1 that satisfies N1≦min(floor(β1Ñ1),Ntotal), and optionally cycles(N1)≦cyclesmax. Subsequently, the allocation unit 118 determines the maximum value for N2 that satisfies N2≦min(floor(β2Ñ1),Ntotal−N1), and optionally cycles(N2)≦(cyclesmax−cycles(N1)). This process continues until the allocation unit 118 allocates the number of fingers for the carrier with the lowest SIR by determining the maximum value for NJ that satisfies
and optionally
The above describes how multi-carrier RAKE systems may distribute a common pool of RAKE fingers 132 between carriers, even when the multi-carrier RAKE system 100 limits the number of available RAKE fingers 132 to reduce the complexity of the RAKE system 100. Thus, embodiments of the present invention reduce the complexity associated with conventional multi-carrier RAKE systems without sacrificing performance.
Embodiments of the present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.