An FFT-based CDMA rake receiver system and method

Abstract: The present invention provides a CDMA RAKE receiver that computes a data detection using Fast Fourier Transform (FFT) matched filters. Signals received are processed in frequency domain by the RAKE receiver. The RAKE receiver includes a pilot signal spreading code matched filter, a data signal spreading code matched filter and a channel matched filter. The pilot signal spreading code matched filter removes a spreading code of the pilot signal. The data signal spreading code matched filter removes a multiple access spreading code of the data signal. A channel matched filter estimates the channel frequency response and combine the received data signal from different paths before a decision is made. For increasing the CDMA system capacity, the RAKE receiver uses a interference cancellation method. A downlink receiver at a mobile station estimates the interference of a pilot signal and subtracts the pilot interference from the received signal before data detection. The uplink receivers at a base station use a multi-stage parallel interference cancellation process for removing multiple access interference from other users.

Description: Field of the Invention The present invention relates generally to Code Division Multiple Access (CDMA) communications and, more particularly, to a RAKE receiver for interference cancellation of CDMA signals. Background of the Invention Wireless cellular communications around the world are moving toward CDMA systems in the third generation approaches. A CDMA system has the most efficient usage of the limited radio spectrum. It has been proven that a CDMA system ideally provides a large channel capacity gain over other accesses methods such as Frequency Division Multiple Access (FDMA) and Time Division Multiple Access (TDMA). In general, a CDMA system has to use a RAKE receiver to combine the received signal energy form different paths to combat the effect of multipath fading. A RAKE receiver implements a form of path diversity by gathering the signal energy from different paths and by optimally combing all the multipath signals together. The path diversity function provides a robust communication channel so that when one path fades, communication is still possible through a non-fading path. A CDMA RAKE receiver detects the multipath signals using either a matched filter method or a correlation method. Conventionally, a RAKE receiver in a CDMA system uses a spreading code matched filter to despread a multiple access code and a transversal filter for channel impulse response matching. The spreading code matched filter can be implemented at IF band using a SAW filter or at baseband using a digital matched filter. After code despreading, a transversal filter which is implemented at baseband is used to combine the received signal energy form different paths. The drawback of the SAW filter approach is that a SAW filter cannot be easily integrated with the baseband transversal filter in an IC. As IC technology progresses rapidly, the digital spreading code matched filter approach is a preferred choice. Although the current IC technology can provide large computational power, it is still hard to implement a transversal filter based RAKE receiver in IC, especially when the length of the multiple access code is large. An alternative method to implement a RAKE receiver is to use a bank of correlators. Each correlator is used to detect a received signal path separately. The number of the correlators in the correlator bank is typically three or four. Therefore, this RAKE receiver structure needs to search for three or four stronger paths in the received signal. Both the above two RAKE receiver implementations need a sounding receiver to estimate the multipath channel impulse response. A RAKE receiver needs to know the delay time, the carrier phase shift, and the strength of the main paths. Moreover, the correlator bank implementation needs extra computations to select the main paths. One method to increase the CDMA system capacity is to use a parallel interference cancellation (PIC), for example, as described in Dariush Divsalar and Marvin K. Simon, "Improved CDMA performance using parallel interference cancellation," IEEE MILCOM, pp. 911-917, Oct. 1994. Although the CDMA system capacity as described in this paper can be increased, their receiver is applicable to an Additive White Gaussian Noise (AWGN) channel only and is unsuitable for a multipath fading channel. Other PIC methods for a multipath fading channel have also been proposed, such as in Matti Latva-aho, Markku Juntti and Markku Heikkilä, "Parallel Interference Cancellation Receiver for DS-CDMA Systems in Fading Channels," IEEE PIMRC, pp. 559 -564, Sept. 1997. However, these methods adapt a time domain signal processing approach to cancel the multiple access interference and, therefore, become complicated. Summary of the Invention The present invention overcomes the foregoing limitations by providing a CDMA RAKE receiver that computes a detection in the frequency domain by using Fast Fourier Transform (FFT) matched filters as described in the appended claims. The receiver is implemented in both downlink and uplink communications when the received signal contains both data and pilot signals. In both downlink and uplink receivers the signal detection process operates in the frequency domain. The received signal is expediently processed in frequency domain by spreading code matched filters, and a channel matched filter prior to making a decision. Spreading code matched filters are used to remove the spreading code of a pilot signal and a data signal. A channel matched filter is used to combine the received signal from different paths before a decision is made. The channel matched filter contains a channel frequency response estimation unit which is used to compute the coefficient of the channel matched filter. After code despreading the pilof signal is used to compute the channel frequency response estimation. There are two types of methods for channel frequency response estimation. One uses the pilot signal after code despreading for the channel frequency response estimation directly. The other one transforms the pilot signal after code despreading into the time-domain channel impulse response estimation and then reserves the main paths of the channel impulse response estimation. After the main paths are reserved, the channel impulse response estimation is transformed to the channel frequency response estimation. Interference cancellation techniques are used to increase the CDMA system capacity. In a downlink receiver, we estimate the pilot interference. Then, the estimated pilot interference is subtracted from the received signal in frequency domain for pilot interference cancellation. In an uplink receiver, the method utilizes multi-stage parallel interference cancellation. Such multi-stage parallel interference cancellation can be used in a fast fading channel because at each stage, interference signal estimation can be obtained from both the channel frequency response estimation and a tentative decision of each user at the previous stage. Brief Description of the Drawings The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: FIGURES 1A and 1B are general architectural diagrams of a CDMA RAKE system for a downlink and uplink receiver, respectively; FIGURE 2A is a block diagram of a downlink RAKE receiver with optional reserving main paths and data signal reconstruction; FIGURE 2B is a block diagram of an alternate downlink RAKE receiver; FIGURE 3A is a block diagram of an uplink RAKE receiver with optional reserving main paths; FIGURE 3B is a data detection flowgraph of the uplink RAKE receiver for the receiver shown in FIGURE 3A; FIGURES 4A and 4B are block diagrams illustrating different pilot signal estimation units performed in the downlink RAKE receivers shown in FIGURES 2A and 2B; FIGURE 5 is a block diagram of data signal reconstruction optionally performed in the downlink RAKE receiver shown in FIGURE 2A and 2B; and FIGURE 6 is a block diagram of reserve main paths optionally performed in the RAKE receivers shown in FIGURES 2A, 2B and 3A. Detailed Description of the Preferred Embodiment The FFT based CDMA RAKE receiver is designed for a direct sequence spread spectrum system (DSSS). The transmitted signal of this DSSS contains a data signal and a pilot signal. A data signal is modulated by using either binary phase shift keying (BPSK) or quadrature phase shift keying (QPSK) and multiplied with a multiple access spreading code (a data signal spreading code). A pilot signal is unmodulated and multiplied with a pilot signal spreading code. Then, the data signal and the pilot signal are combined into a transmitted signal. Here the multiple access code of this DSSS and the pilot signal spreading code of this DSSS are equal-length short codes. That is, the period of a multiple access code or the period of a pilot signal spreading code is the same as the period of a transmitted symbol. FIGURES 1A and 1B are architectural diagrams of downlink and uplink RAKE receiver systems 20 and 40 provided by the present invention. The downlink RAKE system 20 includes an antenna 22, a RF front-end 24, an analog-to-digital (AD) converter 26, a fast Fourier transform unit (FFT) 28, and a EFT-based CDMA RAKE receiver 30. The uplink RAKE receiver system 40 includes the same components as the downlink RAKE receiver system 20 and in addition includes an FFT-based CDMA RAKE receiver 50 for each user. A radio frequency (RF) signal is received by the antenna 22 and 42. The RF signal from the antenna enters the RF front-end 24 and 44 and converts the RF signal into an equivalent baseband complex signal (complex envelope) with a real I(t) and imaginary Q(t) component. The analog-to-digital (AD) converter 26 or 46, respectively, samples the I(t) and Q(t) components at a sampling rate of 1/Tc (or an integral multiple) to generate discrete time signals I[n] and Q[n], respectively, where Tc denotes the chip period for a spreading code. The discrete time signals I[n] and Q[n] compose an equivalent baseband discrete time complex signal r[n], where r(n] = I[n]+jQ[n]. The signal r[n] is transmitted to the FFT transform unit 28 or 48, respectively, which computes an N-points FFT of the r[n], denoted by the symbol R[k], where N is the length of the pilot and data signal spreading code (or its integral multiple). The N-points FFT computation is synchronized with received symbol time. The signal processing is then performed in the frequency domain. The signal R[k] is transmitted to the FFT-based CDMA RAKE receiver(s) 30 and 50. FIGURE 2A is a block diagram of a downlink RAKE receiver 30 with optional reserving main paths and data signal reconstruction. The downlink RAKE receiver 30 includes a pilot signal spreading code matched filter 62, a pilot interference cancellation unit 64, a data signal spreading code matched filter 66, a channel matched filter 68, and a decision unit 70. The signal R[k] is transmitted from the FFT unit 28 to the pilot signal spreading code matched filter 62. The pilot signal spreading code matched filter 62 removes (despreads) the pilot signal spreading code and includes a multiplier 72, a complex conjugate unit 74, and a unit 76 for storing the FIT of the pilot signal spreading code c p [n]. The FFT of c p [n] is C p [k], which can be stored in a ROM within the unit 76. The complex conjugate unit 74 computes the complex conjugate of the C p [k] to produce C * / p [k]. The product of R[k] and C * / p[k] produced by the multiplier 72 removes the pilot signal spreading code to produce R[k]C * / p[k]. The R[k] is also transmitted to the pilot interference cancellation unit 64. The pilot interference cancellation unit 64 includes a pilot signal estimation unit 80 and an adder 82. The pilot signal estimation unit 80 estimates the pilot interference signal [k] and is described in more detail in FIGURES 4A and 4B below. The adder 82 subtracts [k] from the R[k] signal to cancel the pilot interference to produce R1[k]. A data signal reconstruction component 84 is an optional component that is coupled to the pilot estimation unit 80 for removing data signal effect and is described in more detail below in FIGURE 5. The data signal spreading code matched filter 66 operates similarly to the pilot signal spreading code matched filter 62 but removes (despreads) the data signal spreading code from R1[k] received from the pilot interference cancellation unit 64. The data signal spreading code matched filter 66 includes a multiplier 88, a complex conjugate unit 90, and a storage unit 92. The storage unit 92 stores the FFT of the data signal spreading code c d [n] which is C d [k] and can be stored in a ROM. The complex conjugate unit 90 computes the complex conjugate of the C d [k] to produce C * / d [k]. The multiplier 88 multiplies the R1[k] with C * / d[k] to produce R1[k]C * / d[k]. The channel matched filter 68 combines the received data signal power from different paths before a decision is made. The channel matched filter 68 contains a channel frequency response estimation unit 94, a multiplier 96, and a block sum unit 98. The channel frequency response estimation unit 94 includes a complex conjugate unit 100, a delay unit 102, a block-by-block average unit 104, and an optional reserve main paths unit 106. The signal R[k]C * / p[k] from the pilot signal spreading code matched filter 62 is transmitted to the channel frequency response estimation unit 94. The R[k]C * / p[k] is delayed at the delay unit 102 for one spreading code period. Then, average unit 104 computes a weighted block-by-block average of the delayed version of the R[k]C * / p[k]. to generate a channel frequency response estimation [k], where the block period is one spreading code period. The complex conjugate unit 100 computes the complex conjugate of the [k] to produce [k]. The multiplier 96 multiplies the R1[k]C * / d[k] from the data signal spreading code matched filter 66 with [k] to produce R1[k]C * / d[k] [k]. The block sum unit 98 computes the total sum of the R1[k]C * / d[k] [k] within one spreading code period, which is denoted by Σ R 1[ k ] C * / d [ k ] [ k ]. The decision unit 70 receives Σ R 1[ k ] C * / d [ k ] [ k ] from the channel matched filter 68 and makes a data decision. If the data modulation of the data signal is BPSK, the decision unit determines whether the real part of the Σ R 1[ k ] C * / d [ k ] [ k ] is greater or less than 0. If the data modulation of the data signal is QPSK, the decision unit determines whether the real part of the ΣR 1[ k ] C * / d [ k ] [ k ] and the imaginary part of the Σ R 1[ k ] C * / d [ k ] [ k ] are greater or less than 0. FIGURE 2B is a block diagram of an alternate downlink RAKE receiver 108 with optional reserving main paths. In this embodiment, pilot signal estimation unit 80 is also coupled to multiplier 72. When pilot signal estimation unit 80 is coupled in this manner, the delay unit 102 and the average unit 104 are no longer necessary in the channel frequency response estimation unit 94, because, as will be described later, the pilot signal estimation unit 80 already includes these components. FIGURE 3A is a block diagram of an uplink RAKE receiver with optional reserve main paths. The uplink RAKE receiver. as shown in FIGURE 1B, can detect L number of users at the same time. Each user has the same type of the uplink CDMA RAKE receiver 50. That is, the L users share the same units from the antenna 42 to the FFT units 48, and then R[k] is transmitted to the L uplink CDMA receivers 50 for the L users detection. The uplink receiver 50 is implemented using a multi-stage parallel interference cancellation method to increase the system capacity. The multi-stage interference cancellation method is an iterative process. At each stage, the reconstructed interference signals generated by the uplink receivers 50 of other users at the previous stage of operation is subtracted from R[k] for each user. Then, the signal remaining after interference cancellation is used for data detection. After data detection, the reconstructed interference signal is generated at each users' uplink receiver and provided to the other users' uplink receivers for the next stage detection process. As shown in FIGURE 3A, the uplink receiver 50 includes a multi-user interference cancellation unit 110, a data signal spreading code matched filter 112, a channel matched filter 114, a decision unit 116, an interference signal estimation unit 118, and a pilot signal spreading code matched filter 120. Without loss of generality, the following will describe the operation of the uplink receiver for a first user, user 1 or n=1. The multi-user interference cancellation unit 110 removes the reconstructed interference signals from other users from the signal R[k] by using a first adder 122 and a second adder 124 to generate the signal remaining after multi-user interference cancellation which is denoted by R1 j [k]. The index i of R1 i [k] is the i'th stage of data defection of the present received symbol. The first adder 122 combines the reconstructed interference signals from other users to generate the total reconstructed interference signal represented by where In j,i-1 [k] is the reconstructed interference signal generated by the uplink receiver of the j'th user at the i-1 stage of data detection. Furthermore, all of the reconstructed interference signals (In j, 0 [k]=0, j=1 ... L) are set to 0 at the first stage of data decision (i=1). After gathering the reconstructed interference signals generated from the uplink receivers of other users, the second adder 124 subtracts the signal from the signal R[k] to produce a signal R1 i [k]. The signal R1 i [k] is represented by the following equation: At the i'th stage of data detection of the present received symbol, the R1 i [k] is transmitted through the data signal spreading code matched filter 112, and a channel matched filter 114. The data signal spreading code matched filter 112 removes (despreads) the data signal spreading code to produce R 1 i [ k ] C * / d [ k ]. The data signal spreading code matched filter 112 is described in more detail above with respect to FIGURE 2A. The signal R 1 i [ k ] C * / d [ k ] from the data signal spreading code matched filter 112 is transmitted to the channel matched filter 114. When i=M, M is total number of stages, switch 126 closes, thereby allowing the pilot signal spreading code matched filter 120 to produce R 1 M [ k ] C * / p [ k ] and send it to the channel matched filter 114. The channel matched filter 114 includes a channel frequency response estimation unit 128, a multiplier 130, and a block sum unit 132. The channel frequency response estimation unit 128 includes a delay unit 136, an average unit 138, an optional reserve main paths unit 140, and a complex conjugate unit 142. The channel frequency response estimation [ k ], produced by average unit 138 from the output of the delay unit 136, is sent to the complex conjugate unit 142. When i=M, the output of the pilot signal spreading code matched filter 120 is sent to the delay unit 136. The delay unit 136 delays its received signal until the beginning of the next symbol processing. The complex conjugate unit 142 computes the complex conjugate of the [ k ] to produce [ k ]. The multiplier 130 multiplies the R 1 i [ k ] C * / d [ k ] from the data signal spreading code matched filter 112 with [k] from the complex conjugate unit 142 to produce the R 1 i [ k ] C * / d [ k ] [ k ]. Again, the block sum unit 132 computes the total sum of the R 1 i [ k ] C * / d [ k ] [ k ] within one spreading code period, which is denoted by the symbol Σ R 1 i [ k ] C * / d [ k ] [ k ]. The decision unit 116 receives the block sum from the channel matched filter 114 and makes a data decision. If the data modulation of the data signal is BFSK, the decision unit determines whether the real part of the Σ R 1 i [ k ] C * / d [ k ] [ k ] is greater or less than 0 and generates a tentative decision d 1,i of the present received symbol. If the data modulation of the data signal is QPSK, the decision unit determines whether the real part of the Σ R 1 i [ k ] C * / d [ k ] [ k ] and the imaginary part of the Σ R 1 i [ k ] C * / d [ k ] [ k ] is greater or less than 0 and generates a tentative decision d 1,i . In the QPSK example, the generated tentative decision d 1,i is a complex signal. At the i'th stage of data detection for the present received symbol, the signal [k] from the channel frequency response estimation unit 128 and the tentative decision d 1,i of the present symbol from the decision unit 116 are transmitted to an interference signal estimation unit 118 for producing the reconstructed interference signal. The interference signal estimation unit 118 is used to reconstruct the transmitted symbol of the user, which is the multiple access interference of user 1 to be used by the other users' uplink receivers. The reconstructed interference signal of user 1 is transmitted to the other users' uplink receivers for multi-user interference cancellation. The interference signal estimation unit 118 includes a first multiplier 150, an adder 152, a second multiplier 154, and a normalization unit 155. The first multiplier 150 multiplies the FFT of the data signal spreading code C d [k] with the signal d 1,i from the decision unit 116 to generate the data modulated data signal spreading code C d [k]d 1,i . The adder 152 combines the FFT of the pilot signal spreading code with the signal C d [k]d 1,i to generate C p [ k ] + C d [ k ] · d 1, i .. The second multiplier 154 multiplies the C p [ k ] + C d [ k ]· d 1, i from the adder 152 with the [ k ] from the channel frequency response estimation unit 128 to produce ( C p [ k ]+ C d [ k ]· d 1, i )· [ k ]. Since the channel frequency response estimation [ k ] is weighted by the C p [ k ] 2 due to the pilot signal spreading code matched filter 120, the normalization unit 155 is used to remove the weighting factor C p [ k ] 2 . The normalization unit 155 normalizes the output of the second multiplier 154 by C p [ k ] 2 to generate the reconstructed interference signal denoted by the In 1,i [k]. The signal In 1,i [k] is represented by the following equation: The uplink RAKE receiver 50 does M stages of data detection for each received symbol, that is, after M times of data detection, the uplink receiver will process the next symbol for data detection in a similar way. At the M'th stage of data detection of the present received symbol (the last time of data detection of the present received symbol), the switch 126 closes and the signal R1 M [k] is transmitted from the multi-user interference cancellation unit 110 to the pilot signal spreading code matched filter 120. The pilot signal spreading code matched filter 120 removes (despreads) the pilot signal spreading code and produces a R M [ k ] C * / p [ k ] signal. The signal R M [ k ] C * / p [ k ] is transmitted to the channel frequency response estimation unit 128 within the channel matched filter 114 for channel frequency response estimation. FIGURE 3B is a non-user specific data detection flowgraph (use user n as an example) of the uplink receiver shown in FIGURE 3A. At step 160, for each received symbol, the uplink receiver 50 initializes i = 0 and sets all of the reconstructed interference signals from other users to 0 (In j,0 [k]=0, j=1 ... L). At step 162, the index i of data detection stage is incremented by one, denoted by the equation i = i + 1. At step 164, the receiver 50 gets or receives the reconstructed interference signals In j,i-1 [k] generated from other users. At the first stage of data detection, the uplink receiver of user n does not receive the reconstructed interference signal (In j,0 [k]) from other users. The uplink receiver of user n sets the reconstructed interference signal (In j,0 [k]) to 0 at the first stage of data detection of the present received symbol. After the first stage of data detection of the present received symbol, the uplink receiver of the user n receives the reconstructed interference signals from other users which are generated at the previous stage of data detection. At step 166, the reconstructed interference signals from other users are subtracted from R[k] as stated in the following equation: At step 168, R1 i [k] is multiplied with the complex conjugate of the FFT of data signal spreading code to generate R 1 i [ k ] C * / d [ k ]. At step 170, the output of the step 168 is matched to the channel frequency response estimation to generate Σ R 1 i [ k ] C * / d [ k ] [ k ]. At step 172, a tentative decision d n,i is made for the present received symbol. If at decision step 174 the i'th data detection stage equals the last stage of data detection M, the tentative decision is d n,M . Otherwise, at step 176, the reconstructed interference signal of user n at the i'th stage of data detection is computed and then sent to the uplink receivers of the other users, where the reconstructed interference signal of the users n is represented by the equation The data detection process is then looped back to the step 162 where the index i is incremented by one for the next stage data detection of the present received symbol. FIGURE 4A illustrates a pilot signal estimation unit 180 for low speed users. The received R[k] signal is delayed at a delay unit 182 for one spreading code period. Since the pilot signal is fixed, that is, it is unmodulated, a simple block-by-block average of the R[k] estimates the pilot interference. An average unit 184 then computes a weighted block-by-block average of the R[k] signal to generate the pilot interference [k], where the block period is one spreading code period. This setup is effective in a low speed system, because the averaging can be performed over a long period of time. FIGURE 4B illustrates a pilot signal estimation unit 186 for high speed users. A summer 188 is included between the delay unit and the average unit. The summer 188 removes data signal component from the delayed signal. The data signal component is reconstructed by the data signal reconstruction unit 84 described in FIGURE 5 below. Since the average length of the signal is not large enough with respect to high speed users, the reconstructed data signal component must be removed for pilot signal estimation to avoid "data signal cancellation." As shown in FIGURE 5, the data signal reconstruction unit 84 includes a first and second multiplier 190 and 192 and a normalization unit 194 for reconstructing the data signal using a decision feedback method. The first multiplier 190 multiplies the data detection output of the previous received syrnbol d with the FFT of the data signal spreading code C d [k] to generate d · C d [k] . The second multiplier 192 multiplies d·C d [k] with the channel frequency response estimation [k] that is then normalized by normalization unit 194 to generate the reconstructed data signal component of the previous received symbol, As shown in FIGURE 6, the reserve main paths unit 106 includes an Inverse Fast Fourier Transform (IFFT) unit 200, a search peak unit 202, a selecting unit 204, and a FFT unit 206. The IFFT unit 200 receives the signal from the pilot signal spreading code matched filter 62 or the average unit 104 or the average unit 138, see FIGURES 2A, 2B and 3A, respectively, and computes the IFFT, thereby generating the channel impulse response estimation denoted by the symbol [n]. The search peak unit 202 receives [n] from the IFFT unit 200 and searches or determines the peak amplitude of [n]. Then, the select path unit 204 selects signals with high amplitudes from [n] and discards the remaining signals that have low amplitudes by setting the low amplitude signals to zero. For example, a high amplitude signal is typically a signal with an amplitude which is greater than 10dB below the peak value of [n] while a low amplitude signal is typically a signal with a relatively smaller amplitude. The selection of high amplitude signals generates a modified channel impulse response estimation signal 1[n] containing only signals on the main paths. The FFT unit 206 calculates the FFT transformation of the 1[n] from the selecting unit 204 to generate a channel frequency response estimation [k]. The [k] provides the coefficient of the channel matched filter 68 and 114. The reserve main path unit 106 is not required, but does provide more reliable channel estimation.

Claims: A downlink receiver (30; 108), comprising: a pilot interference cancellation unit (64) for subtracting pilot signal interference from the FFT of a received baseband signal of direct sequence spread spectrum type; a data signal spreading code matched filter (66) for removing data signal spreading code from the output of the pilot interference cancellation unit (64); a pilot signal spreading code matched filter (62) for removing pilot signal spreading code from the FFT of the received baseband signal; a channel matched filter (68) for generating a channel frequency response estimation based on the output of the pilot signal spreading code matched filter (62), generating the product of the output of the data signal spreading code matched filter (66) and the complex conjugate of the channel frequency response estimation, and calculating the block sum of the product within one spreading code period; and a decision unit (70) for deciding the data value from the generated block sum based on a previously selected modulation type. The downlink receiver (30; 108) of Claim 1, wherein the pilot interference cancellation unit (64) comprises: a pilot signal estimation unit (80; 180; 186) for estimating the pilot signal component from the FFT of the received baseband signal; and a combiner (82) for subtracting the estimated pilot signal component from the FFT of the received baseband signal. The downlink receiver (30; 108) of Claim 2, wherein the pilot signal estimation . unit (180; 186) comprises: a delay unit (182) for delaying the FFT of the received baseband signal by one spreading code period; and an averaging unit (184) for performing a weighted block-by-block average of the delayed FFT of the received baseband signal. The downlink receiver (30; 108) of Claim 2, wherein the pilot signal estimation unit (186) comprises: a delay unit (182) for delaying the FFT of the received baseband signal by one spreading code period; a data signal reconstruction unit (84) for reconstructing the data signal component based on the concept of data decision feedback; a pilot signal estimation combiner (188) for subtracting the reconstructed data signal component from the delayed FFT of the received baseband signal; and an averaging unit (184) for performing a weighted block-by-block average of the result of the pilot signal estimation combiner. The downlink receiver (30; 108) of any of Claims 1 to 4, wherein the data signal spreading code matched filter (66) comprises: a storage unit (92) for storing the FFT of a data signal spreading code; a complex conjugate unit (90) for computing the complex conjugate of the FFT of the data signal spreading code; and a multiplier (88) for multiplying the output of the pilot interference cancellation unit (64) with the output of the complex conjugate unit (90). The downlink receiver (30; 108) of any of Claims 1 to 5, wherein the pilot signal spreading code matched filter (62) comprises: a storage unit (76) for storing the FFT of a pilot signal spreading code; a complex conjugate unit (74) for computing the complex conjugate of the FFT of the pilot signal spreading code; and a multiplier (72) for multiplying the FFT of the received baseband signal with the output of the complex conjugate unit (74). The downlink receiver (30; 108) of any of Claims 1 to 6, wherein the channel matched filter (68) comprises a channel frequency response estimation unit (94) for generating the channel frequency response estimation based on the output of the pilot signal spreading code matched filter (62), said channel frequency response estimation unit (94) comprising: a delay unit (102) for delaying the output of the pilot signal spreading code matched filter (62) by one spreading code period; an averaging unit (104) for performing a weighted block-by-block average of the delayed output of the pilot signal spreading code matched filter (62); and a complex conjugate unit (100) for computing the complex conjugate of the weighted block-by-block average of the delayed output of the pilot signal spreading code matched filter (62). The downlink receiver (30; 108) of Claim 7, wherein the channel frequency response estimation unit (94) comprises a reserve main-path unit (106) to reserve main paths, said reserve main-path unit (106) comprising: an inverse FFT unit (200) for computing an inverse FFT of the weighted block-by-block average of the delayed output of the pilot signal spreading code matched filter (62) to generate a channel impulse response estimation; a searching unit (202) for finding peak amplitudes from the inverse FFT; a selecting unit (204) for generating a main-path reserved channel impulse response estimation based on the found peak amplitudes; and an FFT unit (206) for computing the FFT. of the generated main-path reserved channel impulse response estimation. The downlink receiver (30; 108) of Claim 7, wherein the channel matched filter (68) further comprises: a multiplier (96) for multiplying the output of the data signal spreading code matched filter with the complex conjugate of the channel frequency response estimation; and a summer (98) for calculating a block sum of the output of the multiplier within one spreading code period. A method for downlink receiving, said method comprising: subtracting pilot signal interference from the FFT of a received baseband signal of direct sequence spread spectrum type; removing a data signal spreading code from the FFT of a received baseband signal after the pilot signal interference subtraction; removing a pilot signal spreading code from the FFT of the received baseband signal; generating a channel frequency response estimation from the FFT of the received baseband signal after removing the pilot signal spreading code; generating the product of the complex conjugate of the channel frequency response estimation and the FFT of the received base band signal after pilot signal interference subtraction and removing the data signal spreading code; calculating the block sum of the product within one spreading code period; and deciding the data value from the summed value based on a previously selected modulation type. The method of Claim 10, wherein subtracting pilot signal interference from the FFT of a received baseband signal comprises: estimating the pilot signal component from the FFT of the received baseband signal; and subtracting the estimated pilot signal component from the FFT of the received baseband signal. The method of Claim 11, wherein estimating the pilot signal component comprises: delaying the FFT of the received baseband signal by one spreading code period; and performing a weighted block-by-block average of the delayed FFT of the received baseband signal. The method of Claim 11, wherein estimating the pilot signal component comprises: reconstructing the data signal component from a previously received symbol; delaying the FFT of the received baseband signal by one spreading code period; subtracting the reconstructed data signal component from the delayed FFT of the received baseband signal; and performing a weighted block-by-block average of the delayed FFT of the received baseband signal after the subtraction of the reconstructed data signal component. The method of any of Claims 10 to 13, wherein removing the data siginal spreading code from the FFT of the received baseband signal after the pilot signal interference subtraction comprises: generating the FFT of a data signal spreading code; computing the complex conjugate of the FFT of the data signal spreading code; and multiplying the computed complex conjugate with the FFT of a received baseband signal after the pilot signal interference subtraction. The method of any of Claims 10 to 14, wherein removing the pilot signal spreading code from the FFT of the received baseband signal comprises: generating the FFT of a pilot signal spreading code; computing the complex conjugate of the FFT of the pilot signal spreading code; and multiplying the FFT of the received baseband signal with the computed complex conjugate. The method of any of Claims 10 to 15, wherein generating the channel frequency response estimation comprises: delaying the FFT of the received baseband signal by one spreading code period after removing the pilot signal spreading code; performing a weighted block-by-block average of the delayed FFT of the received baseband signal after removing the pilot signal spreading code; and computing the complex conjugate of the weighted block-by-block average. The method of Claim 16, wherein generating the channel frequency response estimation further comprises reserving main paths, and reserving main paths comprises: computing an inverse FFT of the weighted block-by-block average of the delayed FFT of the received baseband signal after removing the pilot signal spreading code to generate a channel impulse response estimation; finding the peak amplitudes from the computed inverse FFT; generating a main-path reserved channel impulse response estimation based on the found peak amplitudes; and computing the FFT of the generated main-path reserved channel impulse response estimation. The method of any of Claims 10 to 17, wherein summing the product of the complex conjugate of the channel frequency response estimation and the FFT of the received baseband signal within one spreading code period after pilot signal interference subtraction and removing the data signal spreading code further comprises: multiplying the complex conjugate of the channel frequency response estimation with the FFT of the received baseband signal after pilot signal subtraction and removing the data signal spreading code; and performing a block sum of the product within one spreading code period. An uplink receiver (50) for iterative multi-stage data detection of received symbols, comprising: a multi-user interference cancellation unit (110) for subtracting estimated interference signals of other users at a previous stage of the iterative multi-stage data detection from a FFT of a received baseband signal of direct sequence spread spectrum type; a data signal spreading code matched filter (112) for removing a data signal spreading code from the FFT of a received baseband signal after estimated interference signals subtraction; a pilot signal spreading code matched filter (120) for removing a pilot signal spreading code from the FFT of the received baseband signal after estimated interference signals substraction; a switch (126) connected between the multi-user interference cancellation unit (110) and the pilot signal spreading code matched filter (120) that is operable to be closed when the last stage of the iterative data detection of the present received symbol is reached; a channel matched filter (114) for generating a channel frequency response estimation based on the output of the pilot signal spreading code matched filter (120), for generating the product of the output of the data signal spreading code matched filter (112) and the complex conjugate of the channel frequency response estimation, and for calculating the block sum of the product within one spreading code period; a decision unit (116) for deciding a tentative data value and a final data value from the generated block sum based on a previously selected modulation type; and an interference signal estimation unit (118) for generating an estimated interference signal for interference cancellation by other users based on the channel frequency response estimation, the FFTs of the pilot and data signal spreading codes, and the decided tentative data value. The uplink receiver (50) of Claim 19, wherein the multi-user interference cancellation unit (110) comprises: a first adder (122) for summing the estimated interference signals from other receivers; and a second adder (124) for subtracting the summed estimated interference signals from the FFT of the received baseband signal. The uplink receiver (50) of Claim 19 or 20, wherein the data signal spreading code matched filter (112) comprises: a storage unit for storing the FFT of a data signal spreading code; a complex conjugate unit for computing the complex conjugate of the FFT of the data signal spreading code; and a multiplier for multiplying the output of the mufti-user interference cancellation unit (110) with the output of the complex conjugate unit. The uplink receiver (50) of any of Claims 19 to 21, wherein the pilot signal spreading code matched filter (120) comprises: a storage unit for storing the FFT of a pilot signal spreading code; a complex conjugate unit for computing the complex conjugate of the FFT of the pilot signal spreading code; and a multiplier for multiplying the output of the multi-user interference cancellation unit (110) at the last stage of data detection with the complex conjugate of the FFT of the pilot signal spreading code. The uplink receiver (50) of any of Claims 19 to 22, wherein the channel matched filter (114) comprises a channel frequency response estimation unit (128) for generating the channel frequency response estimation based on the output of the pilot signal spreading code matched filter (120), said channel frequency response estimation unit (128) comprising: a delay unit (136) for delaying the output of the pilot signal spreading code matched filter (120) by one spreading code period; an averaging unit (138) for performing a weighted block-by-block average of the delayed output of the pilot signal spreading code matched filter (120); and a complex conjugate unit (142) for computing the complex conjugate of the weighted block-by-block average of the delayed output of the pilot signal spreading code matched fitter (120). The uplink receiver (50) of Claim 23, wherein the channel frequency response estimation unit (128) comprises a reserve main-path unit (140) to reserve main paths, said reserve main-path unit (140) comprising: an inverse FFT unit (200) for computing an inverse FFT of the weighted block-by-block average of the delayed output of the pilot signal spreading code matched filter (120) to generate a channel impulse response estimation; a searching unit (202) for finding peak amplitudes of the inverse FFT; a selecting unit (204) for generating a main-path reserved channel impulse response estimation based on the found peak amplitudes; and a FFT unit (206) for computing the FFT of the generated main-path reserved channel impulse response estimation. The uplink receiver (50) of Claim 23, wherein the channel matched fitter (114) further comprises: a multiplier (130) for multiplying the output of the data signal spreading code matched filter with the complex conjugate of the channel frequency response estimation; and a summer (132) for calculating a block sum of the output of the multiplier within one spreading code period. The uplink receiver (50) of Claim 19, wherein the interference signal estimation unit (118) comprises: a first multiplier (150) for multiplying the FFT of data signal spreading code with the tentative data decision; an adder (152) for summing the output of the first multiplier with the FFT of the pilot signal spreading code: a second multiplier (154) for multiplying the channel frequency response estimation with the result of the adder (152); and a nomnallsation unit (155) for normalising the output of the second multiplier (154) by the square norm of the FFT of the pilot signal spreading code.

Inventors: HUANG CHIA-CHI, HUANG YUNG-LIANG, WANG SHIN-IUAN, HUANG, CHIA-CHI, HUANG, YUNG-LIANG, WANG, SHIN-IUAN
Applicants: IND TECH RES INST, INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE
Application year: 1999
Main classification: H04B1
IPC codes: H04B1