Design of RAKE Receiver -...

62
1 Design of RAKE Receiver Dr. Chih-Peng Li (李志鵬)

Transcript of Design of RAKE Receiver -...

  • 1

    Design of RAKE Receiver

    Dr. Chih-Peng Li (李志鵬)

  • 2

    Table of Contents

    Maximal Ratio Combining (MRC)Implementation for Uplink RAKE ReceiverImplementation for Downlink RAKE ReceiverMultipath Searcher (Acquisition or Delay Estimation)RAKE Finger ManagementHardware Functions Partitioning of BasebandSignal Processing

  • 3

    Maximal Ratio Combining

  • 4

    Introduction to RAKE ReceiverTo utilize the advantages of diversity techniques, channel parameters are necessary to be estimated.

    Arrival time of each path, Amplitude, and Phase.

    Maximal Ratio Combiner (MRC):The combiner that achieves the best performance is one in which each output is multiplied by the corresponding complex-valued (conjugate) channel gain.The effect of this multiplication is to compensate for the phaseshift in the channel and to weight the signal by a factor that is proportional to the signal strength.

  • 5

    Maximum Ratio Combining (MRC)

    MRC: Gi=Aie-jθiCoherent Combining

    Channel Estimation

    Best Performance

    G1

    Receiver

    G2 GL

  • 6

    Maximum Ratio Combining (MRC)

    1

    22 2,

    12

    21

    22 2

    ,1

    22

    ,1 1 ,

    Received Envelope:

    Total Noise Power:

    SNR: 2 2

    Since

    L

    L l ll

    L

    n l n ll

    L

    l llL

    L Ln

    l n ll

    L Ll

    l l l n ll l n l

    r G r

    σ G

    G rrSNR

    G

    rG r G

    σ

    σ σ

    σσ

    =

    =

    =

    =

    = =

    = ⋅

    =

    ⋅= =

    ⋅ ⋅ ⋅

    ⎛ ⎞⋅ = ⎜ ⎟⎜ ⎟

    ⎝ ⎠

    ∑ ∑

  • 7

    Maximum Ratio Combining (MRC)

    *

    ,

    *

    ,

    112,

    2

    1

    2,

    2

    1 1

    2

    ,

    2,

    1 1

    2

    ,

    2,

    2

    1

    @ branches all from SNRs of SumSNROutput

    :holdequality With

    21

    21

    :Inequality sChebychev'

    ll

    ln

    llnl

    L

    ll

    L

    l ln

    lL

    llnl

    L

    l

    L

    l ln

    llnl

    L

    L

    l

    L

    l ln

    llnl

    L

    lll

    rG

    rkG

    SNRr

    G

    rGSNR

    rGrG

    ∝=⇒

    =

    ==

    ⋅≤⋅

    ∑∑∑

    ∑ ∑

    ∑ ∑∑

    ==

    =

    = =

    = ==

    σσ

    σσ

    σσ

    σσ

  • 8

    General Block Diagram of the Receiver

    The receiver is built up of four blocks: sub-chip tracking, multi-path searcher and rake finger manager, the rake receiver and thedecoder.

    SRRC

    Transmitter

    Channel

    Sub-chip TimeTracking

    RakeReceiver

    ChannelDecoderRF

    Multi-path Searcher andRake Finger Manager

  • 9

    Implementation of Uplink RAKE Receiver

  • 10

    Example of Uplink Receiver Functional Block

    H(f)* W-D1

    Ci+jCq Cch1

    Integrate & Dump Buffer

    Soft DPDCH

    Cch256,1

    Integrate & Dump Buffer

    Channel Estimator

    Soft DPCCH

    Finger 1

    Soft DPDCH

    Finger 1 Soft

    DPCCH

    Ci+jCq

    Integrate & Dump Buffer

    C256,1

    Integrate & Dump

    Buffer

    Channel Estimator

    Finger N

    Soft DPDCH

    Finger N

    Soft DPCCH

    SIR

    -for Power Control

    W-Dn

    Cch1

    Rake Receiver 1

    Rake Receiver N

    Finger Delay Adjustment

    ::::::

    Σ

    Σ

    Σ

    UplinkTransmitter

  • 11

    RAKE Receiver Architecture

    Slow CEFast CE

    SRRC

    DelayElement

    Delay Estimation(Searcher)

    (Acquisition)Scramble

    CodeData

    OVSF

    MRC

    ChannelEstimation

    ChannelDecoder

    Interpolation

    PilotTable

    SlotNumber

    ControlOVSF

    Frequency Offset

    Delay D

    DelayF

    DelayS

    MRC

    MRC

    PowerControl

  • 12

    Detail of RAKE Receiver1. First, the received signal is delayed by the Delay Element by DE

    chips, which is the same for all RAKE fingers.2. The delay of DE chips has to be larger than the overall multipath

    delay spread.3. The interpolator performs the tracking (fine timing adjustment)

    and reduces the sampling rate down to one sample per chip.4. The scramble code de-scrambles the received signals.5. The OVSF code of control channel reduces the control channel

    from chip rate to symbol rate.6. The OVSF code of data channel reduces the data channel from

    the chip rate to maximal symbol rate of data channel.

  • 13

    Detail of RAKE Receiver7. Frequency offset of the baseband signal is compensated by a

    phase rotation.8. Channel estimation parameters are obtained by measuring pilot

    symbols.9. Due to the different processing requirements for the control

    channel, both fast and slow channel estimation are computed for the DPCCH.

    10. All the channel estimation algorithms introduces certain delay, which needs to be compensated in both the data channel and the control channel.

  • 14

    Implementation IssuesIn processing the data in DPDCH, the TFCI information in one frame of DPCCH is needed before the associated DPDCH can be fully processed.This introduces 10 ms delay before DPDCH can be processed. As a result, a buffer is needed to store the 10 ms data.According to the location of this buffer with respect to the RAKE finger operations, there are chiefly three candidates:

    Buffer in front of RAKE finger operations.Buffer after MRCTwo-stage despreading.

    Data modulation in the uplink direction is BPSK.

  • 15

    Buffer in Front of RAKE Finger Operation

    RAM

    (Bufer:10ms +MultipathDelay)

    MRC

    Interpolation

    DPDCH(1)Despreading

    DPDCH(n)Despreading

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation

    ChannelCompensation

    ChannelCompensation

    ChannelEstimation

    .

    .

    .

    .

    .

    .

    User 1, Finger 1

    Interpolation

    DPDCH(1)Despreading

    DPDCH(n)Despreading

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation

    ChannelCompensation

    ChannelCompensation

    ChannelEstimation

    .

    .

    .

    .

    .

    .

    User 1, Finger L

    .

    .

    .

    TFCIDecoder

    DPDCH(1)

    DPDCH(n)

    .

    .

    .

    TPC, FBI.

  • 16

    Buffer in Front of RAKE Finger Operation

    Approximation of Required Buffer SizeAssumptions:

    3 sectors.2 antennas/sector.5 bits/sample after SRRC.2 samples/chip.

    Buffer size (when neglecting multipath delay) =3 sectors * 2 antennas/sector * 2(I/Q data) * 5 bits/sample* 2 samples/chip * 3840000 chips/sec * 0.01 sec/frame= 4,608,000 bits = 576 KByte.

  • 17

    Buffer after MRC

    RAM

    (Bufer:MultipathDelay)

    MRC

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation ChannelCompensation

    ChannelEstimation

    User 1, Finger 1

    .

    .

    .

    TFCIDecoder

    RAM(Buffer:10ms)

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation ChannelCompensation

    ChannelEstimation

    User 1, Finger L

    DPDCH(1)Despreading

    DPDCH(n)Despreading

    .

    .

    .

    DPDCH(1)

    DPDCH(n)

    TPC, FBI.

  • 18

    Buffer after MRCThe buffer can be located after MRC and this architecture can simplify the despreading operation.This architecture can be achieved with the expense of a faster rate of channel compensation and MRC.

    Note that both channel compensation and MRC have to be operated at chip rate.

    This architecture has the advantage of that the RAKE finger complexity is not increased by multiple DPDCHs.There is only one despreading operation per DPDCH.

    Note that there is one despreading operation per DPDCH and per RAKE finger when buffer is located in front of RAKE finger operation.

    The despreading process operates with real-value only. This reduces the complexity by half.

  • 19

    Buffer after MRCApproximation of Required Buffer Size

    Assumptions:5 bits/sample after the SRRC.All the finger operations and MRC increase each sample by 10 bits.

    Buffer size =15 bits/sample * 3840000 chips/sec * 0.01 sec/frame= 576,000 bits = 72 KByte.

  • 20

    Two-Stage Despreading

    RAM

    (Bufer:MultipathDelay)

    MRC...

    TFCIDecoder

    RAM(Buffer:10ms)

    DPDCHDespreading

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation ChannelCompensation

    ChannelEstimation

    User 1, Finger 1 DPDCHDespreading

    SF=4

    TPC, FBI.

    ChannelCompensation

    DPCCHDespreading/Interpolation

    Interpolation ChannelCompensation

    ChannelEstimation

    User 1, Finger L DPDCHDespreading

    SF=4

    1st stage despreading.

    2nd stagedespreading.

  • 21

    Tow-Stage DespreadingTwo-stage despreading can be adopted in the uplink direction. This architecture exploits the fact that all data channel have acommon root in the OVSF code tree.As a result, the despreading operation from the chip rate to the symbol rate can be split into two stages:

    1st stage: fixed rate despreading with the common root code.2nd stage: variable rate despreading with the residual despreading code.

    The 2nd stage despreading can be applied once TFCI has been decoded.A buffer is required after MRC to store the soft MRC outputs of the DPDCh for 10 ms.

  • 22

    Tow-Stage DespreadingIn case of multi-code transmissions, all the spreading factors of DPDCH are 4. As a consequence, the despreading can be done in one step.Approximation of Required Buffer Size

    Assumptions:5 bits/sample after the SRRC.All the finger operations and MRC increase each sample by 10 bits.Two buffers are needed after MRC since new data comes in while decoding old TFCI bits.

    Buffer size =15 bits/sample * 3840000 chips/sec * 0.01 sec/frame / 4 (SF) * 2 Buffers= 288,000 bits = 36 KByte.

  • 23

    Maximal Ratio Combining (MRC)If exact coherence is achieved, the contribution of a BPSK signal to the output is strictly real and the imaginary component contains noise only.Any MRC for BPSK modulated signal has the basic structure as shown in the figure of the following page titled “Basic MRC”.It is inefficient to implement the basic MRC since L complex multiplications are needed.It is mathematically equivalent to move the real part operation in front of the summing operator into each branch. In this case, only the real part of each complex multiplication needs to be computed as shown in the figure following next page titled “Efficient MRC”.This reduces the overall number of real multiplication by half.

  • 24

    Basic Maximum Ratio CombinigG*1(n)

    G*2(n)

    G*L-1(n)

    G*L(n)

    d1(n)

    d2(n)

    dL-1(n)

    dL(n)

    .

    .

    . Re{•}

  • 25

    Efficient Maximal Ratio Combining (MRC)

    Real Part ofChannel Estimation.

    Imaginary Part ofChannel Estimation.

    DespreadedDPDCH

    Real Part

    Imaginary Part Adder

    Finger 1

    Finger 2

    Finger L

  • 26

    Implementation of Downlink RAKE Receiver

  • 27

    Downlink RAKE ReceiverData modulation in the downlink direction is QPSK.The RAKE fingers have been despread and at this point carry information in QPSK format.

    DespreadRAKE Finger (L)

    DespreadRAKE Finger (2)

    DespreadRAKE Finger (1)

    ••

    ••

    Delay

    ChannelEstimation

    G*i

    Σ

    MRC

  • 28

    Example of Downlink Receiver Functional Block

    H(f)* W – D1

    Finger Delay

    AdjustmentCi - jCq Cchi

    Integrate

    & DumpBuffer

    Finger1 Sort

    DPCHSoft

    DPCH

    Cip - jCqp Cch0

    Integrate

    & DumpBuffer

    Channel

    Estimator Finger 1

    Soft CPICH

    Pilot + Sync

    Word

    Soft

    CPiCH

    W - DN

    Ci - jCq Cchi

    Integrate

    & DumpBuffer

    Cip - jCqp Cch0

    Integrate

    & Dump Buffer

    Channel

    EstimatorFinger N

    Soft

    CPICH

    Finger N

    Soft

    DPCH

    Finger Delay

    Adjustment

    ….

    DownlinkTransmitter

  • 29

    Multipath Searcher(Acquisition or Delay Estimation)

  • 30

    Multipath Searcher for AcquisitionTo maximize the sensitivity of the base station, the energy from all of the paths is combined to form an aggregate signal.Since the receiver has no a-priori knowledge of the possible paths, it must continuously search through all the possible paths.Multi-path searcher searches and detects the multi-paths from the transmitter.These signals once detected, and selected (via the RAKE finger manager), are combined within the RAKE receiver.Typically, acquisition determines the timing offset to within ±1/2n for a over-sampling rate of n.The fine timing correction is achieved through the sub-chip timing tracker.

  • 31

    Searcher RangesIf the coarse synchronization is not provided by the cell search(downlink) or PRACH preamble detection (uplink), the searcher may be required to search a wide range of propagation delays, which have two components:

    The delay associated with the base station coverage: this is related to the maximum cell radius that the base station is designed to support. This delay corresponds, in general, to theshortest propagation path that is detected and is usually referred to as the main path. (Coarse Synchronization)The additional delays that come after the main path. The difference in time between the main path and the last path is usually referred to as the multi-path delay spread.

  • 32

    Acquisition Mechanisms

    The method of searching has the following approaches:Coherent approach:

    The searches are performed on the DPCCH or CPICH, where symbol accumulation is achieved only on the pilot symbols.This method give the best results in terms of false alarm and probability of detection.Rely on a more complicated code generator controlling mechanism since multipath searcher must have additional control logic to ensure that only pilot symbols are accumulated.

  • 33

    Acquisition MechanismsNon-coherent approach:

    This approach uses any of the symbols within the radio frame and this simplifies the timing control mechanism.The performance is much lower that of coherent approaches.

    Semi-coherent (most popular):The pilot symbols are coherently accumulated over a number (I) of time slots. Typically, one time slot coherent accumulation is adopted (I=1).The final acquisition outputs are the results of the non-coherent accumulation of J of I coherently accumulated time slots. Typically, non-coherent accumulation is made within one frame, i.e., 15 time slots (J=15).

  • 34

    Searcher ArchitectureThe mechanism of multipath searching is based on correlating the incoming data samples with a locally generated code sequence. The correlation results indicate the potential multipath locations.There are two approaches for implementing the searcher: sliding correlator or matched filter.Bother approaches perform the same function.Typically, since approximate propagation delay has been estimated before this stage, searcher can concentrate its efforts on the multipath delay spread of the channel. As a result, a serial and parallel matched filter architecture can be adopted.However, in certain systems, the approximate propagation delay may not be known by the receiver. Under such situation, the search has to obtain the coarse synchronization.

  • 35

    Searcher ArchitectureThe searcher is typically implemented as a length N code matched filter that has complex code-coefficient.N usually takes a value of 128 or 256, which corresponds to delay spreads of 5 Km or 10 Km.

    C1CN-1CN

    ● ● ●

    ● ● ●

    ● ● ●

    Length = N •Over-sampling Rate

    Delay LineLength = N •Over-sampling Rate

  • 36

    Example of Semi-coherent Searcher Architecture

    PeakSearch

    I

    Q

    RAKE FingerManagement

    ∑lPilotSymbo#

    1

    SerialParallel

    MFN=256

    256 Chips Delay512 data

    Over-sampling=2

    |•| ∑15TimeSlot

    1

    256 Chips Delay512 data

    SampledData

    ∑lPilotSymbo#

    1

    SerialParallel

    MFN=256

    256 Chips Delay512 data

    Over-sampling=2

    |•| ∑15TimeSlot

    1

    256 Chips Delay512 data

    SampledData

  • 37

    Approximation of Square Root Circuit

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

    0.5

    1

    1.5Approximation of Non-Coherent Detection

    Am

    plitu

    de

    Radian (pi)

    |sin| a=max(|sin|,|cos|)|cos| b=min(|sin|,|cos|) (sin)2+(cos)2 |sin|+|cos| a+b/2 a+(sqrt(2)-1)*b max((a+b/8),(53a+37b)/64)

  • 38

    Peak Search AlgorithmOnce all of the pilot energy has been accumulated semi-coherently, the outputs are usually processed by DSP firmware entities.Example of peak search algorithm (over-sampling rate =2):

    1. The profile of semi-coherently accumulated pilot energy is compared with a threshold. The collection is denoted by S.

    2. Find the maximum value of the peaks in S. Store the peak in set T.3. Remove two peaks that are ½ chip on either side of the peak in 2.4. Repeat steps 2 and 3 until S is empty.5. If the number of peaks in T is greater than the maximum number (L)

    preset by the algorithm, find the maximum L peaks in T.Alternatively, we can select the best N peaks in set T.

    6. The peaks ( min(L,T) ) are processed by the RAKE finger manager.

  • 39

    Uplink Timing of Matched Filter

    At the UE, the uplink DPCCH/DPDCH frame transmission takes place approximately T0 chips after the reception of the first significant path of the corresponding downlink DPCCH/DPDCH frame.T0 is a constant defined to be 1024 chips.At t =0, the UE is x Km away from the base station. This corresponds to 2x Km propagation delay and is shown in the page titled “Uplink Timing of Matched Filter – 1/6”.

    We assume a 256 taps of matched filter.At this moment, the coefficients in the matched filter is still empty. However, the searcher begins to generate the first 256 code coefficients.

  • 40

    Uplink Timing of Matched Filter – 1/6

    Pilot Symbol #1, Path #1

    Pilot Symbol #1, Path #2

    Pilot Symbol #1, Path #3

    Pilot Symbol #2, Path #1

    Pilot Symbol #2, Path #2

    Pilot Symbol #2, Path #3

    t =0

    BS frame boundary + T0 Chips

    Frame boundary at UE.

    Timet =x/ct =2·x/c Matched Filter (N=256)Empty

    10 Km10 Km

    Matched filter begins togenerate code coefficients.

    τ1τ2

  • 41

    Uplink Timing of Matched Filter

    When the searcher starts to generate the code coefficients for the matched filter at rate 1 code coefficient per chip, the signals propagate towards the base station and over-sampled signal samples are stored in the delay line of the matched filter.After the first 256 chips of data (512 samples for over-sampling rate =2) are shift into the delay line of the matched filter, the 256 code coefficients are also generated and are loaded into the filter. This is the moment shown in the page titled “Uplink Timing of Matched Filter – 2/6”.When the first 256 chips of data samples immediately after the frame boundary are shifted into the filter delay line, the matched filter generated no output since code coefficients have not loaded into the filter.

  • 42

    Uplink Timing of Matched Filter

    The filter is thus operated since the first set of code coefficients will not be matched to the received data samples.The first matched filter output, that are stored in the 1st stage of the 256 chips delay for accumulation, are generated on receiving the first sample of the 256th chip of data.This is to ensure the searcher will function properly when the propagation delay equal to zero.In fact, for a matched filter of length 256/128 chips, the search range is slightly less than 10.0/5.0 Km.For a over-sampling rate of 2, the difference is:0.5 [chip] / 3.84 [Mcps] · 3.0e8 [m/sec] / 2 (round trip delay) = 19.53125 meter.

  • 43

    Uplink Timing of Matched Filter – 2/6

    Pilot Symbol #1, Path #1

    Pilot Symbol #1, Path #2

    Pilot Symbol #1, Path #3

    Pilot Symbol #2, Path #1

    Pilot Symbol #2, Path #2

    Pilot Symbol #2, Path #3

    t =256 chipsTime

    x/c2·x/c

    Matched Filter (N=256)256 Code Coefficients #1

    10 Km10 Km

    Pilot Symbol #3, Path #1

    Pilot Symbol #3, Path #2

    Pilot Symbol #3, Path #3

    Matched filter begins togenerate outputs and store in the1st stage of the 256 chips delay.

    τ1τ2

    First output is generated.

  • 44

    Uplink Timing of Matched FilterIn the next 256 chips of duration, the output of the matched filter is accumulated in the first stage of the 256 chips delay.At the same time, the new code coefficients are generated.When the 256 chips duration of outputs (512 samples for over-sampling rate =2) are generated, the new coefficients are loadedinto the filter.Accumulation continues until t = {256·(# Pilot Symbol +1) –(1/Over-sample Rate)} chips.At this time instant, the first stage of coherent detection ends.All the outputs stored in the 1st stage of the 256 chips delay are shifted into the 2nd stage of the 256 chips delay for non-coherent accumulation.

  • 45

    Uplink Timing of Matched Filter – 3/6

    Pilot Symbol #1, Path #1

    Pilot Symbol #1, Path #2

    Pilot Symbol #1, Path #3

    Pilot Symbol #2, Path #1

    Pilot Symbol #2, Path #2

    Pilot Symbol #2, Path #3

    t =512 chipsTime

    x/c2·x/c

    Matched Filter (N=256)256 Code Coefficients #2

    Pilot Symbol #3, Path #1

    Pilot Symbol #3, Path #2

    Pilot Symbol #3, Path #3

    τ1τ2

    τ1τ2 2٠x/c

    Accumulated matched filteroutput stored in the 1st stage

    of the 256 chips delay.

  • 46

    Uplink Timing of Matched Filter – 4/6

    Pilot Symbol #2, Path #1

    Pilot Symbol #2, Path #2

    Pilot Symbol #2, Path #3

    t =768 chipsTime

    x/c2·x/c

    Matched Filter (N=256)256 Code Coefficients #3

    Pilot Symbol #3, Path #1

    Pilot Symbol #3, Path #2

    Pilot Symbol #3, Path #3

    τ1τ2 2٠x/c

    Accumulated matched filteroutput stored in the 1st stage

    of the 256 chips delay.

  • 47

    Uplink Timing of Matched Filter – 5/6

    t =1023.5 chipsTime

    x/c2·x/c

    Matched Filter (N=256)256 Code Coefficients #3

    Pilot Symbol #3, Path #1

    Pilot Symbol #3, Path #2

    Pilot Symbol #3, Path #3

    τ1τ2 2٠x/c

    Accumulated outputs stored in the 1ststage of the 256 chips delay are shiftedto the 2nd stage of the 256 chips delay.

    Shift to the 2nd stage

  • 48

    Uplink Timing of Matched Filter – 6/6

    t =1024 chipsTime

    x/c2·x/c

    Matched Filter (N=256)Empty

    Pilot Symbol #3, Path #1

    Pilot Symbol #3, Path #2

    Pilot Symbol #3, Path #3

    Accumulated outputs stored in the 1ststage of the 256 chips delay are shiftedto the 2nd stage of the 256 chips delay.

  • 49

    RAKE Finger Management

  • 50

    Introduction to RAKE Finger Management

    The multipath searcher tries to detect the valid multipaths and results are further processed by the RAKE finger manager to validate and keep track the multipaths during transmission.The performance of a multipath searcher can be evaluated in terms of detection probability and false alarm. However, the cost of error is unbalanced.The function of RAKE finger management, which performs by the RAKE finger manager (RFM), is to minimize the cost due to errors.Certain reports show that the cost of erroneous addition of an improper multi-path due to false alarm is higher than missing a correct multi-path. (Need to be verified.)

  • 51

    Multipath Verification Processes

    When the searcher has found a set of multipath candidates, these potential fingers have to be further processed to confirm their validity. Typically, this consists of two major steps:

    The multipath confirmation process will be done by the RAKE finger manager. This process is typically implemented by the multipath verification function, which utilizes the information from both the searcher outputs and the channel estimation to assign a RAKE finger to a multipath.In addition, the finger tracking function uses the output of each RAKE finger’s (fast) channel estimation to validate the existence of fingers and decides to drop/add or replace fingers.

  • 52

    Status of RAKE FingersAccording to the multipath verification procedures, there are three states that a finger in a RAKE receiver can be designated:

    Inactive or idle finger: Finger that is not being used.

    Candidate finger: Finger that is under monitoring after being assigned by RAKE finger manager to work on a new multipathpeak. This finger is not being used in MRC.

    Active finger: Finger which is used in MRC.

  • 53

    Principles of RAKE Finger Management 1/2

    After receiving inputs from the multipath searcher, the RAKE finger manager (RFM) compares them with a pre-set threshold to verify the inputs.If the peak of a multipath is above the pre-set threshold, the RFM regards the peak as a candidate multipath and assigns a RAKE finger, if available.If the new multipath found is within ½ chip offset from an active finger, they are to be regarded as an identical multipath.At this moment, the candidate multipath peak is only regarded as a candidate RAKE finger and not a member of the active RAKE finger set yet.The candidate RAKE finger’s (fast) channel estimation metricis compared to an active finger with the lowest (fast) channel estimation metric in the active RAKE finger set.

  • 54

    Principles of RAKE Finger Management 2/2

    The ratio for replacing the RAKE fingers between the two metrics is parameterized as minimum finger substitution ratio.If a candidate RAKE finger channel estimation metric is larger than the active finger with the lowest channel estimation metric by the minimum finger substitution ratio, then RFM waits for another period for further verification of the candidate RAKE finger.The period of a candidate finger verification is parameterized as minimum RAKE hold time [time slots].If all the verification of a candidate RAKE finger pass for the minimum RAKE hold time, the RFM replaces the active RAKE finger which has the lowest channel estimation metric with the candidate RAKE finger.

  • 55

    Channel Estimation MetricThe (fast) channel estimation metric of an active and candidate finger may be obtained from a first order IIR low pass filter, for example, once per time slot.

    Selection of α:The α should be large enough to respond to the channel variation.The α should be small enough to reduce the error due to the instantaneous noise and interference that passes through the channel estimation filter.

    α

    D1-α

    X YY(i)= α·X(i)+(1-α)·Y(i-1)

  • 56

    Operation of RAKE Finger Management

    1. Initialization of RAKE Finger Management: RFM (typically implemented in DSP) initializes the multipath search and RAKE finger verification/tracking process by updating related parameters, which includes the active finger set, candidate finger set, inactive finger set, … etc. Then, searcher starts to search the multipaths and RFM is ready to read searcher output. After receiving multipaths from the searcher, RFM launches the multipath verification process, which is followed by the finger tracking process.

    2. Read Searcher Output: RFM obtains the peaks, together with the associated delays, and compares with the pre-set threshold.

    3. New Multipath Checking: If a new multipath found is

  • 57

    Operation of RAKE Finger Management

    different in time within ½ chip from any existing active finger, then regards both as an identical multipath and does not act on the new multipath.

    4. New Multipath Verification: RFM assigns a RAKE finger to a new multipath if there is an idling RAKE finger available and designate it as a candidate finger. The candidate finger’s channel estimation metric will be tested once per time slot for a Minimum RAKE Hold Time (e.g. 15 time slots). If all the tests are larger than that of an active RAKE finger by a pre-set Minimum RAKE Substitution Ratio (e.g. 3dB), replace the old active finger with a newly verified RAKE finger. The verification has to be done for all the new multipaths.

  • 58

    Operation of RAKE Finger Management

    5. Finger Tracking Function: The RFM checks the output of channel estimation metric of each active RAKE fingers and evaluate whether to keep or drop a RAKE finger from the active finger set. The metric can be tested once per time slot for a pre-set time duration (e.g. 15 time slots). If all the tests fall below a pre-set threshold, the RFM drops the finger. The finger tracking function has to check all the active fingers.

    6. The RAKE finger management function will be done, for example, once per frame (15 time slots).All the parameters mentioned above have to be optimized through simulation and field test.The procedures mentioned above is based on the assumption that the cost of false alarm is much higher than miss detection.

  • 59

    Hardware Functions Partitioning of Baseband Signal Processing

  • 60

    DSP and FPGA PartitioningIn early stage of prototype design, baseband signal processing is usually realized by Digital Signal Processors (DSPs) and Field Programmable Gate Arrays (FPGAs).To fully exploit the unique characteristics of the DSPs and the FPGAs, the digital signal processing algorithms are usually partitioned in such a way that those requiring high speed repetitive operations and simple control are run on the FPGAs, while those requiring intensive computations and more elaborate control are run on the DSPs.Most of the time, the algorithms that run on the DPS are those operate at symbol rate and the algorithms that run on the FPGAsare those operate at chip rate.

  • 61

    Algorithms Run on the DSPsChannel estimation.Maximal ratio combining.Rake finger management.Tracking.SIR measurement.Power control.Interleaving/De-interleaving.Rate matching/de-matching.CRC generation attachment and detection.

  • 62

    Algorithms Run on the FPGAsSquare root raised filtering.Coarse synchronization (acquisition).Spreading/De-spreading.Scrambling/de-scrambling.Channel encoding/decoding.

    Including Viterbi decoding and Turbo decoding.Operated at symbol rate.can also be implemented in DSP.