The present invention is related in general to the reception of spread-spectrum signals, and more specifically, to a general-purpose processor implementation of a RAKE receiver.
Code Division Multiple Access (CDMA) is one multiple access technique among the more classical schemes of Frequency Division Multiple Access (FDMA) and Time Division Multiple Access (TDMA). FDMA separates channels by putting them on different frequencies, while TDMA separates them by allocating different time-slots on the same frequency to a sender and receiver. In contrast, users in a CDMA cellular environment simultaneously share the same radio frequency band and can be separated at the receiver end with knowledge of the user""s unique spreading code. This separation or despreading is performed using a RAKE receiver.
One of the main advantages of CDMA systems is the capability of using signals that arrive at the receivers with different time delays. This phenomenon is called multipath. FDMA and TDMA, which are narrowband systems, cannot discriminate between the multipath arrivals, and resort to equalization to mitigate the negative effects of multipath. Due to its wide bandwidth and RAKE receivers, CDMA uses the multipath signals and combines them to make an even stronger signal at the receiver.
The RAKE receiver is necessary for capturing a significant fraction of the received signal power of a spread spectrum signal in a multipath environment, and is essentially a set of, for example, four receivers. One of the receivers (also called xe2x80x9cfingersxe2x80x9d) constantly searches for different multipaths and feeds the information to the remaining fingers. Each finger then demodulates the signal corresponding to a strong multipath. The results are then combined to make the signal stronger. Referring now to FIG. 1, there is illustrated a conventional RAKE receiver 100 for use in a base station, or mobile station. Received signals from an antenna array 102 are all downconverted using an RF/IF converter 104, amplified, and converted to digital form in a bank of analog-to-digital (A/D) converters 106. One RAKE receiver is provided for each active traffic channel, and a selected subset of the sampled antenna signals is presented at the output of the A/Ds 106 to each RAKE receiver 100. The RAKE receiver 100 contains, typically, four correlation receivers 110 and a searcher 112. The searcher 112 also contains one or more correlators. The searcher 112 continuously scans a delay hypothesis window, typically several microseconds in duration, looking for signal energy from the mobile client. Detections are noted, and the correlation receivers 110 are assigned to the strongest four signals via a controller 114 controlling a matrix switch 108. Multiple search correlators may be necessary since the signal components being sought are so weak, and the multipath constantly changes due to location of the mobile unit. The output signals of the respective correlation receivers 110 are then combined using a combiner 116, which combiner outputs the signal to a decoder for decoding. Closed-loop power control maintains the received signal-to-noise ratio (SNR) at a very low value for the combined signal by sending control signals to the mobile unit to boost or lower the signal power. Each of the multipath components has an even lower SNR. Because of the relatively low SNRs, relatively long time integration is necessary for reliable detection. Multiple correlators 110, searching simultaneously, thus may be needed for adequate speed. Increasing spread bandwidth can only result in more complex implementations. For example, increasing the spread bandwidth requires that the correlators 110 operate at higher speeds. The increased speed requires greater silicon area and greater power consumption. In addition, many more correlators 110 are required to adequately process the multipath signals.
The invention disclosed and claimed herein is a method of despreading a spread spectrum signal. A continuous digital data stream of encoded symbol data (also known as the xe2x80x9cspread chip data,xe2x80x9d xe2x80x9cspread data,xe2x80x9d or xe2x80x9cchip dataxe2x80x9d) is received at a data rate. Each symbol data, when received, is stored in a buffer. A digital processing device processes the received and buffered symbol data by generating a plurality of single process instructions at least at the data rate of the digital data stream, which a sequence of single process instructions is operable to generate despread symbol data. The next single process instruction operates on the next frame of symbol data (also known as N chips of data, where N is the spreading factor) in the received digital data stream, and so on for each symbol data of a particular symbol time of data.