Abstract:
A technique is proposed for normalizing the multi-bit output of a RAKE receiver by automatically selecting from it fewer bits which are representative of the data in the CDMA signal. The invention is applicable to a CDMA signal in which the data is transmitted discontinuously and a pilot symbol is inserted into the data sequence and transmitted at a different power level. The proposed technique may be operated either on the basis that the power ratio of the pilot part of the CDMA signal to the data part is known, or alternatively without any knowledge of this power ratio. In both cases the pilot part is used to determine the bit position on which the normalization works, and also the fine adjustment of the data part of the CDMA signal.

Description:
FIELD OF THE INVENTION 
     Methods and devices are presented for normalising the output of a RAKE receiver, that is deriving from the multi-bit output of the RAKE receiver a smaller number of bits (e.g. 4 or 6) representative of the data transmitted in a CDMA. 
     BACKGROUND OF THE INVENTION 
     In a conventional wireless CDMA (code division multiple access) system, data to be transmitted is encoded to add redundant information using a channel code, such as one of the types commonly referred to as convolutional code or turbo code. Subsequently, an interleaver is used to pseudo-randomly interleave the data sequence to combat the known problem of channel fading to the down link channel. A section of the data which is interleaved in this way is called a “frame”. Subsequently the data is subject to a known spread spectrum process. Finally the data is modulated and transmitted. This process is shown as  FIG. 1 . 
     A known receiver for the CDMA signal is shown in  FIG. 2 . The received data is quantized by an AND converter, de-spread with local pseudo-noise (“PN”) code in a RAKE receiver (that is to say a known unit which permits a given receiver to distinguish signals intended for it from signals intended for other receivers; typically, a RAKE receiver includes multiple “fingers, and the RAKE receiver is capable of receiving multiple signal sources and adding them together using respective fingers). The RAKE output data for the whole of a frame to be de-interleaved is stored in memory, and then processed to de-interleave it. The de-interleaved data is then used by a Viterbi or turbo decoder to retrieve the transmitted data. 
     The range of a RAKE output depends on the transmitted signal power strength, the path loss, the fading environment, the spreading gain, the AGC (automatic gain control) and the power control (if any). Therefore, the RAKE receiver will have many bits of output and the valid signal range will vary. However, it is at least highly inconvenient for the ASIC (application specific integrated circuit) to store all the bits of the RAKE output. For this reason, a normaliser is provided for “normalising” the output of the RAKE receiver, by which is meant automatically selecting from the multi-bit output fewer bits which actually contain the desired data. That is, the normaliser aims to reduce the bit width without degrading the performance of the Turbo decoder. 
     SUMMARY OF THE INVENTION 
     The present invention aims provide a new and useful method and apparatus for normalising the output of a RAKE receiver. As explained here in detail, the invention is particularly applicable to a CDMA signal, such as WCDMA, in which the data is transmitted discontinuously and a pilot symbol is inserted into the data sequence and transmitted at a different power level. However, although not explained here in detail, the invention is also applicable in any CDMA signal having a pilot, such as a CDMA signal having a shared pilot channel. 
     In general terms, the present invention proposes that the normalization uses the pilot to dynamically extract a smaller number of bits from the multi-bit output of a RAKE receiver. Since the pilot signal is used for this purpose, the present invention may at least partially overcome any inaccuracy due to the data being in a DTX (discontinuous transmission) mode. 
     This invention may be operated either on the basis that the power ratio of the pilot part of the CDMA signal to the data part is known, or alternatively without any knowledge of this power ratio. In both cases the pilot part is used to determine the bit position for the normalisation, and also the fine adjustment of the data part of the CDMA signal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments of the invention will now be described for the sake of illustration only with reference to the accompanying drawings, in which: 
         FIG. 1  shows as a block diagram the structure of a known system for transmitting CDMA signals; 
         FIG. 2  shows as a block diagram the structure of a known receiver for CDMA signals employing a normaliser for normalising the output of the RAKE receiver; 
         FIG. 3  shows a possible structure of the encoding frame of a CDMA signal transmitted by the transmitter of  FIG. 1 ; 
         FIG. 4  shows a normaliser which is a first embodiment of the present invention; 
         FIG. 5  shows the structure of a filter in the embodiment of  FIG. 4 ; 
         FIG. 6  is a flowchart showing how the embodiment of  FIG. 4  performs updating of the position; 
         FIG. 7  shows the structure of a receiver according to a second embodiment of the present invention; 
         FIG. 8  shows the first normaliser of  FIG. 7 ; 
         FIG. 9  shows the second normaliser of  FIG. 7 ; and 
         FIG. 10 , which consists of  FIGS. 10(   a ) to  10 ( f ), demonstrate the effectiveness of a normaliser according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     Referring firstly to  FIG. 3 , the structure is shown of one frame of the output of the interleaver unit of  FIG. 1 . This is the same structure as the output of the RAKE receiver in  FIG. 2 . The frame consists of x slots. Each slot of the CDMA contains a data part and a Pilot part. The transmission powers of these two components are shown as Tx as the vertical axis of the graph of  FIG. 3 , so that the relative heights ratio A data , A pilot  of the pilot part and data part of the CDMA signal give the power ratio A data /A pilot . 
       FIG. 4  shows the structure of the normaliser which is the first embodiment of the present invention. The first embodiment is preferred in the case that the power ratio of the pilot part and data part of the CDMA signal is known, by measurement of otherwise. The upper part of  FIG. 4  consists of components to deal with the pilot part while the lower part of  FIG. 4  consists of components to deal with the data part which the normaliser of  FIG. 4  normalizes to 4 bits to be stored in the memory. Each of the components is indicated by in  FIG. 4  by a respective block captioned with the function of the component. 
     SI 6  means a signal having one sign bit and 6 information bits. I 6  means a signal with 6 information bits. SI 5 . 1  means a signal with one sign bit, 5 information bits and one bit below the decimal point. I 2 . 4  means two information bits and four bits below the decimal point. SI 7 . 5  means one sign bit, seven information bits and 5 bits below the decimal point. SI 3  means one sign bit and 4 information bits. 
     The upper part of  FIG. 4  receives as input N bits of the PILOT part of the CDMA signal from the RAKE receiver. A multiplier  1  multiplies this by the power ratio so that the pilot part has the same power as the data part. Initially, the variable POSITION is initialised to a pre-set value, although this is subsequently adjusted as explained below. According to the given POSITION the block  3  takes 7 bits of the multi-bit RAKE output by clipping and rounding (also known as “dropping”). The function performed by the unit  3  is here called “Pilot Coarse Adjustment”. The POSITION is the least significant bit (LSB) of output of the unit  3  in  FIG. 4 , which is not the LSB for the input signal of the unit  3 . The POSITION selects an output 6+1 (6 bits above the POSITION and 1 bit sign) bit signal from the input signal which has a wider bit width than 7. In block  5 , the known pilot pattern is used to remove the modulated pilot signal from the output of the Pilot Coarse Adjustment. This is done with a multiplication. 
     The resultant pilot signal is used by unit  7  to obtain a mean value of the signal amplitude. Although the transmitted CDMA signal is power-controlled, the received CDMA signal is still affected by fading and fluctuation. A bigger signal means a bigger instantaneous SIR (signal-to-interference ratio) of the signal and a smaller signal means a smaller instantaneous SIR of the signal. The errors occur at the smaller signal with more probability, and the number of bits of the input signal to the Viterbi or Turbo decoder may not provide the whole dynamic range for such a fluctuating signal. Accordingly the normalizer makes more relatively minor modifications to small signals and performs much more clipping on bigger signals. In some other cases such as perfect power control, slow fading and a pure AWGN environment, there are smaller fluctuations of the signal amplitude and the difference of amplitude between bigger signals and smaller signals is insignificant. The mean of the smaller signals is then close to the mean of all the signals. In order to cover these two cases, the present invention proposes using the smaller signals as the reference of the signal amplitude. 
     The data in one Turbo (or convolutional) encoding frame is de-interleaved by the channel interleaver and for a turbo decoder the data is also interleaved or de-interleaved by an internal interleaver inside the turbo code. In order to get the good performance, all the data should be normalized by the same “coarse adjustment” and the “fine adjustment”. Therefore, the adjusting duration—that is the interval between changes in the value of POSITION and the interval between changes in the output of the fine adjustment table—should be the maximum of the channel interleaver size and decoding frame. 
     For a WCDMA system, there are up to eight (8) encoding frames per channel interleaver. In each encoding frame, there are 15 slots consisting of data part and pilot part. The mean measurement in a WCDMA system is performed as follows: 
     1. For each encoding frame, we measure the mean value of pilot signal for the first eight slots, labelled Slot  0 , Slot  1 , . . ., Slot  7  and also measure the mean value of the pilot signal for the last eight slots, labelled Slot  7 , Slot  8 , . . . , Slot  14 , thus two measurements are taken. 
     2. We repeat the above two measurements for the other 7 frames and finally get 16 measurements. 
     3. We choose the minimum of these 16 measurements as the mean value output from unit  7 . 
     The mean value is smoothed by an IIR (Infinite Impulse Response) filter  9 , which has the structure shown in  FIG. 5 . Since there is no buffer for the full length of the RAKE output, the mean measurement and the normalization process are simultaneously performed. The mean measurement cannot be used for the frame at which it is being measured. The amplitude of the signal may vary frame by frame. Therefore, the invention proposes using the IIR filter  9  to smooth the mean measurement, according to a formula.
 
 y ( n )=α y ( n− 1)+(1−α) x ( n )
 
where, 0&lt;α&lt;1.0. “n” labels sets of 8 frames, so x(n) only changes once every 8 frames. The smoothing factor α is chosen to be 0.625.
 
     The output of the IIR filter  9  is used as a signal amplitude reference by the updater block  11  to perform Pilot Coarse Adjustment in unit  3  and “Data Coarse Adjustment” (defined below) in unit  13 , and (as explained below) by the look-up table  15  which produces an output for the “Data Fine Adjustment” (defined below). 
     The updater block  11  decides if the POSITION should be increased, reduced by 1 or held at the present value. The adjustment step is preferably only 1 bit. The block  11  decides which of the three options (increasing or decreasing POSITION by 1 bit, or keeping the current position) to take by comparing the mean value from the IIR filter  9  with the two pre-set thresholds, named “LOW_Threshold” and “HI_Threshold”. Once the position is changed, the measured mean value stored in the registers of the IIR  9  should be doubled or halved accordingly. It is worth noting that all the adjustment is preferably aligned on the edge of the channel interleaving frame, so that all data in one turbo code frame is adjusted by the same weight. The flowchart of the adjustment performed by block  11  is given in  FIG. 6 . 
     The lower part of  FIG. 4  describes the normalization process of the data part of the RAKE output. Firstly, “Data Coarse Adjustment” is performed by unit  13 , thereby taking 7 bits by clipping and rounding according to the same POSITION as that used by unit  3 . 
     The Data Coarse Adjustment is followed by Data Fine Adjustment using the multiplier  17  which adjusts the signal according to the current signal amplitude. Specifically, to ensure that the mean absolute value of the output 4 bits is a fixed “target” value, e.g, the half of the full range, we use the measured mean value to normalize the data part. In principle this could be done by dividing the output of the block  13  by the output of block  9  and multiplying it by the target value. However, to avoid the division this this implies, a look-up-table  15  is used to generate the fine adjustment value input, and sends it to a multiplier  17 . 
     The output of the lookup table for any possible input (i.e. any table address) may be generated by the following C code.
     For (Address=0;Address&lt;63;Address++)   {   

     if(Address==0) Output[l]=(int) (16.0*TARGET/1+0.5)
     Output[Address] =(int)(1 6.0*TARGET/Address+0.5);   if(Output [Address]&gt;63) Output[Address]=63;   }   

     After “coarse” and “fine” adjustments, the number of bits of the data signal will is tailored to 4 by the last block  19  which applies clipping and rounding. Specifically, the output of block  19  is the 4 bits from the 6th bit to 9th bit of the 13 bits output by the multiplier  17  indexed from 0th. 
     The resultant signal with 4 bits will be stored into memory. After channel de-interleaving, the data can be used by the Viterbi or turbo decoder. 
     We now turn to a second embodiment of the invention illustrated in  FIG. 7 , which is preferred in the case that the power ratio is unknown. Here, we assume the power ratio may vary from 0 dB to 6 dB. As shown in  FIG. 7 , this normaliser has a structure comprising a first normalizer which normalises the RAKE output to 6 bits, and a memory which stores these 6 bits. After channel de-interleaving (and optionally other processes) the second embodiment uses a second normalizer to convert the 6 bits data to 4 bits. The 4 bits are then transmitted to a Turbo decoder (or Viterbi decoder). All the processes are independent of the power ratio. 
     The first normalizer is shown in  FIG. 8 , and is quite similar to the normalizer shown in  FIG. 4 . For this reason corresponding portions are given the same reference numerals and are not described in detail again. Compared with the normalizer of  FIG. 4  which converts the input data to 4 bits, normalizer of  FIG. 8  has the following differences: 
     1. There is no Amplitude Conversion Block  1  which uses the power ratio to make the pilot have the same amplitude as the data part. 
     2 The DATA_POSITION is 1 bit lower than Pilot POSITION. 
     3 The Data Coarse Adjustment is to take 8 bits instead of 7 bits. 
     4. The Data Output part has an output of 6 bits instead of 4 bits. 
     The intention of this variation is to use a wider output bit width than in the previous method. As we have chosen 6 bits as the output, we extended the bit width of the calculation to decide the output bits. From a performance point of view, 6 bits of output are suitable, though the memory size has to be large. We assumed that there is some relationship between the known fixed or same power ratio, and the 4 bits or 6 bits (wider or higher performance), and used a 6 to 4 bits converter after the de-interleaver. 
     The second normalizer, which converts from 6 bits to 4 bits, is illustrated in  FIG. 9 . It comprises a mean calculation block  21  which calculates the absolute mean value of the data in one frame, a unit  25  for providing a delay, an adjustment block  23  which outputs a value (the “fine adjustment coefficient”) to a multiplier  27  which accordingly adjusts the 6 bit data from the unit  25 , and an output block  29 . 
     The mean calculation block  21  measures the absolute value of the data in one turbo code (or convolutional code) frame. Due to the fact all the data are stored in the memory, the measurement value can be applied to the current frame, which is different from the first normalizer of  FIG. 8 . 
     This adjustment block  23  is constituted by a look-up-table which is used to get the fine adjustment coefficient. The lookup table can be obtained by the following C code.
     For (Address=0;Address&lt;31;Address++)   {   if(Address==0) Output[l]=(int) (16.0*TARGET/1+0.5)   Output[Address]=(int)(16.0*TARGET/,Address+0.5);   If(Output [Address]&gt;63) Output[Address]=63;   }   

     The output part  29  outputs 4 bits which are the 6th bit to 9th bit of the 12 bits input to it indexed from 0th. Clipping (limitation) and rounding (dropping) are applied in this block. 
     In order to investigate the performance the invention achieves, we simulated the BER (Bit Error Rate) performance of turbo code with SubMap decoding under the fading environment as well as AWGN environment. The simulation results are as shown in  FIGS. 10(   a ) to ( f ), where Eb/No (energy per information bit/noise) corresponds to the signal to noise ratio. 
       FIGS. 10(   a ) to  10 ( c ) are in the case of a known power ratio (the first embodiment).  FIG. 10(   a ) is the BER performance in the case of F=378 (where F is the frame length, in this case the Turbo frame length) and rate ⅓ in a fading environment.  FIG. 10(   b ) is the BER performance for F=6138 and rate ⅓ in a fading environment.  FIG. 10(   c ) is the BER performance in a AWGN (additive white Gaussian noise) channel. 
       FIGS. 10(   d ) to  10 ( f ) are in the case of an unknown power ratio (the second embodiment).  FIG. 10(   d ) is the BER performance in the case of F=378 and rate ⅓ in a fading environment.  FIG. 10(   e ) is the BER performance for F=6138 and rate ⅓ in a fading environment.  FIG. 10(   f ) is the BER performance in a AWGN (additive white Gaussian noise) channel. 
     All these figures compare an embodiment of the present invention against a notional receiver using a floating point calculation. These results show that a normaliser according to an embodiment of the present invention can perform well in both the AWGN and the fading environments. The difference in performance between the present normaliser and the floating point simulation is almost zero.