Figure 6 shows the block diagram of a receiver that uses WCDMA physical layer technology. We focus on the receiver rather than the transmitter, since the latter has a much lower computational complexity than the former.
At the output of the A/D converter, the signal is first filtered using a Root-Raised Cosine (RRC) filter that reduces inter-symbol interference. Subsequently, the signal is fed to a rake receiver and a searcher. Due to the possibility of multi-path propagation, the rake receiver has a number of fingers called correlators that individually process several multi-path components. In each of these fingers, the signal is unspread by multiplying it by a unique PN code used by the transmitter. This operation separates the desired data signal from interfering signals. The outputs from different correlators are then combined to achieve improved reliability and performance. Depending on the number of multi-path components, the number of correlators varies between two and six. The searcher provides an estimate of the number of multi-paths and their relative delays. The rake receiver uses this information to control the number of correlators and the delay between them. Finally, the signal is passed through a turbo decoder for error correction. Turbo coding is used in 3G wireless cellular systems because of its outstanding error correction capabilities.
All of these algorithms are dominated by inner loops of low to moderate complexity that are applied to real time data streams. The loop bodies tend to have a high degree of parallelism and have operations such as complex-correlation arithmetic that could benefit from processor specialization. The simple regular data-flow and real-time requirements make this system a good candidate for acceleration using customized stream processors.