IP Library › Granted Patent US 7,277,474
Granted Patent B2
US 7,277,474 · App. 10/625,479 · Granted Oct 2, 2007

Finger allocation for a path searcher in a multipath receiver

Assignee: Analog Devices, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,277,474
App. No.
10/625,479
Granted
Oct 2, 2007
Kind
B2
Abstract

A technique for allocating fingers in a path searcher of a multipath receiver involves determining a required number of fingers for each multipath region, determining a number of allocated fingers for each multipath region according to an area-based weighting scheme such that each multipath region that is allocated fewer than its required number of fingers is deemed to have a non-zero residual area, allocating any surplus fingers to multipath regions having non-zero residual areas until either no surplus fingers remain or each multipath region is allocated its required number of fingers, and placing any fingers allocated to each multipath region within the multipath region. Placing the fingers in un-resolvable path scenario involves detecting path location at the edges of multipath region; placing fingers at the edges and placing remaining fingers uniformly between the first and the last path such that the there is a minimum placement separation between the fingers.

Claims (230)

1. A method for allocating RAKE receiver fingers among a plurality of multipath regions in a received signal, the method comprising:

determining a required number of fingers for each multipath region;

determining an allocated number of fingers for each multipath region according to an area-based weighting scheme;

allocating a number of fingers to each multipath region based on the required number of fingers and the allocated number of fingers such that any multipath region that is allocated fewer than its required number of fingers is deemed to have a non-zero residual area;

allocating any surplus fingers to any multipath regions having non-zero residual areas until either no surplus fingers remain or each multipath region is allocated its required number of fingers; and

placing any fingers allocated to each multipath region within the multipath region.

2. The method of claim 1 , wherein determining an allocated number of fingers for each multipath region according to an area-based weighting scheme comprises:

determining an area under each multipath region;

determining a fractional area for each multipath region based upon the area under each multipath region; and

dividing a plurality of available fingers according to the fractional area of each multipath region in such a way that no multipath region is allocated more than its required number of fingers.

3. The method of claim 2 , wherein determining a fractional area for a multipath region based upon the area under each multipath region comprises:

determining a sum of all multipath region areas; and

dividing the area under the multipath region by the sum of all multipath region areas.

4. The method of claim 1 , wherein allocating any surplus fingers comprises:

allocating any surplus fingers based upon the magnitude of the residual area for all multipath regions having non-zero residual areas.

5. The method of claim 1 , wherein placing any fingers allocated to a multipath region comprises:

placing a finger at a peak of the multipath region, if the multipath region is allocated exactly one finger; and

placing a first finger at the first path of the multipath region, placing a second finger at the last path of the multipath region, and placing any remaining fingers uniformly in a remaining span width, if the multipath region is allocated at least two fingers.

6. The method of claim 5 , wherein placing a first finger at a first path of the multipath region and placing a second finger at a last path of the multipath region comprises:

placing the first finger at a StartIndex+Δ o ; and

placing the second finger at a StartIndex+LengthofSpan−1−Δ o , wherein StartIndex is a starting index for the multipath region, LengthofSpan is a length of the multipath region, and Δ o is a predetermined offset to find the first path on the edges of the multipath region.

7. The method of claim 1 , wherein placing any fingers allocated to a multipath region comprises:

placing any fingers allocated to the multipath region in such a way that there is at least a predetermined minimum separation between fingers.

8. The method of claim 1 , wherein:

each multipath region k is a contiguous interval characterized by a starting index N k , a length L k , and an area

A

k

=

∑

i

=

0

L

k

-

1

⁢

F

dp

⁡

(

N

k

+

i

)

,

where F dp (N k +i) denotes a power delay profile function at a time delay of ‘i’ samples from the starting index N k ;

determining the required number of fingers for each multipath region comprises determining a required number of fingers X k for each multipath region k such that X k =1 if (L k <C(Δ o ,Δ s )) and otherwise X k =└[L k −C(Δ o ,Δ s )−1]/Δ s ┘+2, where └.┘ represents a flooring operation, C(Δ o ,Δ s )=2Δ o +Δ s −└Δ s /2┘+1, Δ o is an offset to compensate the starting and falling edges of the RC pulse, and Δ s is the minimum separation between two fingers;

determining the allocated number of fingers for each multipath region comprises determining an allocated number of fingers Y k for each multipath region k such that Y k =└softY k ┘, where

SoftY

k

=

A

k

∑

k

⁢

⁢

A

k

*

N

f

,

and N f is the number of available fingers;

allocating the number of fingers to each multipath region comprises allocating CurrentAlloc(k)=X k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=0 and increasing a number of surplus fingers SurplusFingers by 4Y k −2X k −2, if 4Y k >=2X k +2, and otherwise allocating Y k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=A k (1−Y k /X k ); and

allocating any surplus fingers to any multipath regions having non-zero residual areas comprises, while the number of surplus fingers SurplusFingers is greater than zero, iteratively:

finding a multipath region j having the largest residual area;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is less than four, reducing the residual area for the multipath region j such that ResidualArea(j)=0 and reiterating;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is greater than or equal to four, increasing the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reducing the number of surplus fingers such that SurplusFingers+=−4, reducing the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterating;

if the multipath region j is allocated at least one finger, increasing the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reducing the number of surplus fingers such that SurplusFingers+=−2, reducing the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterating.

9. An apparatus comprising a RAKE receiver having finger allocation logic for allocating a plurality of fingers among multipath regions of a received signal, wherein the finger allocation logic comprises:

logic for determining a required number of fingers for each multipath region;

logic for determining an allocated number of fingers for each multipath region according to an area-based weighting scheme;

logic for allocating a number of fingers to each multipath region based on the required number of fingers and the allocated number of fingers such that any multipath region that is allocated fewer than its required number of fingers is deemed to have a non-zero residual area;

logic for allocating any surplus fingers to any multipath regions having non-zero residual areas until either no surplus fingers remain or each multipath region is allocated its required number of fingers; and

logic for placing any fingers allocated to each multipath region within the multipath region.

10. The apparatus of claim 9 , wherein the logic for determining an allocated number of fingers for each multipath region according to an area-based weighting scheme comprises:

logic for determining an area under each multipath region;

logic for determining a fractional area for each multipath region based upon the area under each multipath region; and

logic for dividing a plurality of available fingers according to the fractional area of each multipath region in such a way that no multipath region is allocated more than its required number of fingers.

11. The apparatus of claim 10 , wherein the logic for determining the fractional area for a multipath region based upon the area under each multipath region comprises:

logic for determining a sum of all multipath region areas; and

logic for dividing the area under the multipath region by the sum of all multipath region areas.

12. The apparatus of claim 9 , wherein the logic for allocating any surplus fingers comprises:

logic for allocating any surplus fingers based upon the magnitude of the residual area for all multipath regions having non-zero residual areas.

13. The apparatus of claim 9 , wherein the logic for placing any fingers allocated to a multipath region comprises:

logic for placing a finger at a peak of the multipath region, if the multipath region is allocated exactly one finger; and

logic for placing a first finger substantially at a first path of the multipath region, placing a second finger substantially at a last path of the multipath region, and placing any remaining fingers uniformly in a remaining span width, if the multipath region is allocated at least two fingers.

14. The apparatus of claim 13 , wherein:

the first finger is placed at a StartIndex+Δ o ; and

the second finger is placed at a StartIndex+LengthofSpan−1−Δ o , wherein StartIndex is a starting index for the multipath region, LengthofSpan is a length of the multipath region, and AΔ o is a predetermined offset to find the first path on the edges of the multipath region.

15. The apparatus of claim 9 , wherein the logic for placing any fingers allocated to a multipath region comprises:

logic for placing any fingers allocated to the multipath region in such a way that there is at least a predetermined minimum separation between fingers.

16. The apparatus of claim 9 , wherein:

each multipath region k is a contiguous interval characterized by a starting index N k , a length L k , and an area

A

k

=

∑

i

=

0

L

k

-

1

⁢

⁢

F

dp

⁡

(

N

k

+

i

)

,

where F dp (N k +i) denotes a power delay profile function at a time delay of ‘i’ samples from the starting index N k ;

the logic for determining the required number of fingers for each multipath region is operably coupled to determine a required number of fingers X k for each multipath region k such that X k =1 if (L k <C(Δ o ,Δ s )) and otherwise

X k =└[L k −C(Δ o ,Δ s )−1]/Δ s ┘+2,

where └.┘ represents a flooring operation,

C(Δ o ,Δ s )=2Δ o +Δ s −└Δ s /2┘+1,

Δ o is an offset to compensate the starting and falling edges of the RC pulse, and Δ s is the minimum separation between two fingers;

the logic for determining the allocated number of fingers for each multipath region is operably coupled to determine an allocated number of fingers Y k for each multipath region k such that Y k =└SoftY k ┘, where

SoftY

k

=

A

k

∑

k

⁢

⁢

A

k

*

N

f

,

and N f is the number of available fingers;

the logic for allocating the number of fingers to each multipath region is operably coupled to allocate CurrentAlloc(k)=X k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=0 and increase a number of surplus fingers SurplusFingers by 4Y k −2X k −2, if 4Y k >=2X k +2, and otherwise allocate Y k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=A k (1−Y k /X k ); and

the logic for allocating any surplus fingers to any multipath regions having non-zero residual areas is operably coupled to, while the number of surplus fingers SurplusFingers is greater than zero, iteratively:

find a multipath region j having the largest residual area;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is less than four, reduce the residual area for the multipath region j such that ResidualArea(j)=0 and reiterate;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is greater than or equal to four, increase the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reduce the number of surplus fingers such that SurplusFingers+=−4, reduce the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterate;

if the multipath region j is allocated at least one finger, increase the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reduce the number of surplus fingers such that SurplusFingers+=−2, reduce the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterate.

17. An apparatus comprising a digital storage medium having embodied therein a program for allocating a plurality of fingers among multipath regions of a received signal in a RAKE receiver, the program comprising:

logic for determining a required number of fingers for each multipath region;

logic for determining an allocated number of fingers for each multipath region according to an area-based weighting scheme;

logic for allocating a number of fingers to each multipath region based on the required number of fingers and the allocated number of fingers such that any multipath region that is allocated fewer than its required number of fingers is deemed to have a non-zero residual area;

logic for allocating any surplus fingers to any multipath regions having non-zero residual areas until either no surplus fingers remain or each multipath region is allocated its required number of fingers; and

logic for placing any fingers allocated to each multipath region within the multipath region.

18. The apparatus of claim 17 , wherein the logic for determining an allocated number of fingers for each multipath region according to an area-based weighting scheme comprises:

logic for determining an area under each multipath region;

logic for determining a fractional area for each multipath region based upon the area under each multipath region; and

logic for dividing a plurality of available fingers according to the fractional area of each multipath region in such a way that no multipath region is allocated more than its required number of fingers.

19. The apparatus of claim 18 , wherein the logic for determining the fractional area for a multipath region based upon the area under each multipath region comprises:

logic for determining a sum of all multipath region areas; and

logic for dividing the area under the multipath region by the sum of all multipath region areas.

20. The apparatus of claim 17 , wherein the logic for allocating any surplus fingers comprises:

logic for allocating any surplus fingers based upon the magnitude of the residual area for all multipath regions having non-zero residual areas.

21. The apparatus of claim 17 , wherein the logic for placing any fingers allocated to a multipath region comprises:

logic for placing a finger at a peak of the multipath region, if the multipath region is allocated exactly one finger; and

logic for placing a first finger substantially at a first path of the multipath region, placing a second finger substantially at a last path of the multipath region, and placing any remaining fingers uniformly in a remaining span width, if the multipath region is allocated at least two fingers.

22. The apparatus of claim 21 , wherein:

the first finger is placed at a StartIndex+Δ o ; and

the second finger is placed at a StartIndex+LengthofSpan−1−Δ o , wherein StartIndex is a starting index for the multipath region, LengthofSpan is a length of the multipath region, and Δ o is a predetermined offset to find the first path on the edges of the multipath region.

23. The apparatus of claim 17 , wherein the logic for placing any fingers allocated to a multipath region comprises:

logic for placing any fingers allocated to the multipath region in such a way that there is at least a predetermined minimum separation between fingers.

24. The apparatus of claim 17 , wherein:

each multipath region k is a contiguous interval characterized by a starting index N k , a length L k , and an area

A

k

=

∑

i

=

0

L

k

-

1

⁢

⁢

F

dp

⁡

(

N

k

+

i

)

,

where F dp (N k +i) denotes a power delay profile function at a time delay of ‘i’ samples from the starting index N k ;

the logic for determining the required number of fingers for each multipath region is operably coupled to determine a required number of fingers X k for each multipath region k such that X k =1 if (L k <C(Δ o ,Δ s )) and otherwise

X k =└[L k −C (Δ o ,Δ s )−1]/Δ s ┘+2,

where └.┘ represents a flooring operation,

C (Δ o ,Δ s )=2Δ o +Δ s −└Δ s /2┘+1,

Δ o is an offset to compensate the starting and falling edges of the RC pulse, and Δ s is the minimum separation between two fingers;

the logic for determining the allocated number of fingers for each multipath region is operably coupled to determine an allocated number of fingers Y k for each multipath region k such that Y k =└SoftY k ┘, where

SoftY

k

=

A

k

∑

k

⁢

⁢

A

k

*

N

f

,

and N f is the number of available fingers;

the logic for allocating the number of fingers to each multipath region is operably coupled to allocate CurrentAlloc(k)=X k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=0 and increase a number of surplus fingers SurplusFingers by 4Y k −2X k −2, if 4Y k >=2X k +2, and otherwise allocate Y k fingers to the multipath region k such that the multipath region k has a residual area ResidualArea(k)=A k (1−Y k /X k ); and

the logic for allocating any surplus fingers to any multipath regions having non-zero residual areas is operably coupled to, while the number of surplus fingers SurplusFingers is greater than zero, iteratively:

find a multipath region j having the largest residual area;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is less than four, reduce the residual area for the multipath region j such that ResidualArea(j)=0 and reiterate;

if the multipath region j is allocated zero fingers and the number of surplus fingers SurplusFingers is greater than or equal to four, increase the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reduce the number of surplus fingers such that SurplusFingers+=−4, reduce the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterate;

if the multipath region j is allocated at least one finger, increase the finger allocation for the multipath region j such that CurrentAlloc(j)+=1, reduce the number of surplus fingers such that SurplusFingers+=−2, reduce the residual area for the multipath region j such that ResidualArea(j)+=−A k /X k , and reiterate.

25. The apparatus of claim 17 , further comprising a programmable logic device that operates under controlled of the program, wherein the programmable logic device comprises one of:

a microprocessor;

a digital signal processor; and

a field programmable gate array.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF ASSIGNMENT PREVIOUSLY RECORDED ON REEL 020555 FRAME 0419. ASSIGNOR(S) HEREBY CONFIRMS THE DOC DATE: 01/29/2008. Recorded Feb 29, 2008
From: ANALOG DEVICES, INC.
To: MEDIATEK, INC.
Reel/Frame 020584/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2008
From: ANALOG DEVICES, INC.
To: MEDIATEK, INC.
Reel/Frame 020555/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2004
From: SHARMA, ABHAY; YAN, AIGUO; ZVONAR, ZORAN; MATHEW, DEEPAK
To: ANALOG DEVICES, INC.
Reel/Frame 014916/0396 →
Continuity (2)
Provisional Application 6042383100 · Nov 5, 2002
Related Publication 20040139466A1 · Jul 15, 2004