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.
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
A known receiver for the CDMA signal is shown in
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.
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.
Embodiments of the invention will now be described for the sake of illustration only with reference to the accompanying drawings, in which:
Referring firstly to
SI6 means a signal having one sign bit and 6 information bits. I6 means a signal with 6 information bits. SI5.1 means a signal with one sign bit, 5 information bits and one bit below the decimal point. I2.4 means two information bits and four bits below the decimal point. SI7.5 means one sign bit, seven information bits and 5 bits below the decimal point. SI3 means one sign bit and 4 information bits.
The upper part of
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
y(n)=αy(n−1)+(1−α)x(n)
where, 0<α<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
The lower part of
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.
if(Address==0) Output[l]=(int) (16.0*TARGET/1+0.5)
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
The first normalizer is shown in
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
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
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.
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
a) to 10(c) are in the case of a known power ratio (the first embodiment).
d) to 10(f) are in the case of an unknown power ratio (the second embodiment).
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.
Number | Date | Country | Kind |
---|---|---|---|
200103333-1 | Jun 2001 | SG | national |
Number | Name | Date | Kind |
---|---|---|---|
5041830 | Abe | Aug 1991 | A |
5790705 | Anderson et al. | Aug 1998 | A |
5796757 | Czaja | Aug 1998 | A |
6661835 | Sugimoto et al. | Dec 2003 | B1 |
Number | Date | Country | |
---|---|---|---|
20020181432 A1 | Dec 2002 | US |