HK1112334A - Method and apparatus for canceling pilot interference in a wireless communication system - Google Patents
Method and apparatus for canceling pilot interference in a wireless communication system Download PDFInfo
- Publication number
- HK1112334A HK1112334A HK08101148.1A HK08101148A HK1112334A HK 1112334 A HK1112334 A HK 1112334A HK 08101148 A HK08101148 A HK 08101148A HK 1112334 A HK1112334 A HK 1112334A
- Authority
- HK
- Hong Kong
- Prior art keywords
- signal
- pilot
- channel estimate
- instance
- estimated
- Prior art date
Links
Description
Priority of earlier filing date under claim 35U.S.C. § 119
Priority of the invention of U.S. provisional application No. 60/584,527 entitled "Method and apparatus for screening Pilot Interference in a Wireless Communication System", filed on 6/30/2004, assigned to the assignee and hereby expressly incorporated herein by reference.
Technical Field
The present disclosure relates generally to data communication, and more specifically to techniques for canceling interference due to pilots in a wireless communication system (e.g., CDMA).
Background
Wireless communication systems are widely deployed to provide various types of communication such as voice, packet data, and so on. These systems may be based on Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), or some other multiple access technique. CDMA systems may provide certain advantages over other types of systems, including increased system capacity. A CDMA system IS typically designed to implement one or more standards, such as the IS-95, CDMA2000, IS-856, W-CDMA, and TS-CDMA standards, all of which are well known in the art.
In some wireless (e.g., CDMA) communication systems, a pilot may be transmitted from a transmitter unit (e.g., a terminal) to a receiver unit (e.g., a base station) to assist the receiver unit in performing a number of functions. For example, pilots may be used at the receiver unit for synchronization with the timing and frequency of the transmitter unit, estimation of channel response and communication channel quality, coherent demodulation of data transmissions, and so on. The pilot is typically generated based on a known data pattern (e.g., an all-zero sequence) and using a known signal processing pattern (e.g., channelized with a particular channelization code and spread with a known spreading sequence).
On the reverse link in a cdma2000 system, the spreading sequence for each terminal is generated based on (1) a complex pseudo-random noise (PN) sequence that is common to all terminals and (2) a scrambling sequence that is terminal-specific. In this way, pilots from different terminals may be identified by their different spreading sequences. On the forward link in cdma2000 and IS-95 systems, each base station IS assigned a specific offset of the PN sequence. In this way, pilots from different base stations may be identified by their different assigned PN offsets.
At the receiver unit, a rake receiver is typically used to recover the pilot, signaling, and traffic data transmitted from all transmitter units that have established communication with the receiver unit. A signal transmitted from a particular transmitter unit may be received at the receiver unit via multiple signal paths, and each received signal instance (or multipath) of sufficient strength may be individually demodulated by the rake receiver. Each such multipath is processed in a complementary manner to that performed at the transmitter unit to recover the data and pilot received via the multipath. The amplitude and phase of the recovered pilot are determined by and represent the channel response for the multipath. Pilots are typically used for coherent demodulation of various types of data transmitted with the pilot, which is also distorted by the channel response. For each transmitter unit, the pilots for multiple multipaths of the transmitter unit are also used to combine the demodulated symbols taken from these multipaths to obtain combined symbols of improved quality.
On the reverse link, the pilot from each transmitting terminal interferes with the signals from all other terminals. For each terminal, the aggregate interference due to the pilots transmitted by all other terminals may be a significant proportion of the total interference experienced by the terminal. This pilot interference may degrade performance (e.g., higher packet error rates) and also reduce reverse link capacity.
Accordingly, there is a need for techniques to cancel interference due to pilots in a wireless (e.g., CDMA) communication system.
Disclosure of Invention
Aspects of the present invention provide techniques for estimating and canceling pilot interference in a wireless (e.g., CDMA) communication system. The received signal typically includes multiple signal instances (i.e., multipaths). For each multipath to be demodulated (i.e., each desired multipath), the pilots in all multipaths are interference to the data in the desired multipath. If the pilot is generated based on a known data pattern (e.g., an all-zero sequence) and channelized with a known channelization code (e.g., a zero walsh code), the pilot in the interfering multipath can be simply estimated as a spreading sequence whose phase corresponds to the multipath's time of arrival at the receiver unit. The pilot interference from each interfering multipath (which may be estimated based on the pilot) may be estimated based on the spreading sequence and the estimate of the channel response of that multipath. The total pilot interference due to multiple interfering multipaths may be extracted and subtracted from the received signal to provide a pilot-canceled signal with the pilot interference removed.
In a particular embodiment, a method is provided for canceling pilot interference at a receiver unit (e.g., a base station) in a wireless (e.g., cdma2000) communication system. According to the method, a received signal composed of a plurality of signal instances, each of which includes a pilot, is initially processed to provide data samples. The data samples are then processed to derive estimates of the pilot interference due to each of one or more (interfering) signal instances, and the estimates are also combined to derive the total pilot interference. The total pilot interference is then subtracted from the data samples to provide pilot-canceled data samples, and the data samples are further processed to obtain demodulated data for each of at least one (desired) signal instance in the received signal.
The pilot interference due to each interfering signal instance may be estimated as follows: (1) spreading the data samples with a spreading sequence of signal instances, (2) channelizing the spread samples with a pilot channelization code to provide pilot symbols, (3) filtering the pilot symbols to provide an estimated channel response of the signal instances, and (4) multiplying the spreading sequence of signal samples with the estimated channel response to provide an estimated pilot interference. Data demodulation for each desired multipath may be performed as follows: (1) despreading the pilot-canceled data samples with a spreading sequence for the signal instance, (2) channelizing the despread samples with a data channelization code to provide data symbols, and (3) demodulating the data symbols to provide demodulated data for the signal instance. To improve performance, pilot estimation and cancellation may be performed at a sampling rate higher than the PN chip rate.
Another system and method for pilot interference cancellation may include: determining channel estimates and noise estimates for the multipath, selecting cancellation factors based on the channel estimates and noise estimates for the multipath, multiplying the channel estimates by the selected cancellation factors, multiplying the product of the channel estimates and cancellation factors by the convolution of a pre-computed transmit pulse and a receive filter, performing convolution of a spread pilot signal (e.g., a PN sequence) and a weighted filter (i.e., the product of the channel estimates, cancellation factors, and pre-computed convolution) to reconstruct pilot samples, accumulating the reconstructed pilot samples from the multiple rake finger processors and subtracting the accumulated reconstructed pilot samples from the data samples to perform data demodulation. The order of these processes may vary.
Various aspects, embodiments, and features of the invention are described in detail below.
Drawings
The features, nature, and advantages of the present invention will become apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
FIG. 1 is a block diagram of a wireless communication system;
FIG. 2 is a simplified block diagram of one embodiment of a base station and a terminal;
fig. 3 is a block diagram of one embodiment of a modulator for the reverse link in cdma 2000;
fig. 4 is a block diagram of one embodiment of a rake receiver;
fig. 5 is a block diagram of one particular embodiment of a finger processor within a rake receiver capable of estimating and canceling pilot interference in addition to performing data demodulation;
FIGS. 6A and 6B are diagrams that graphically illustrate processing of data samples to derive an estimate of pilot interference, in accordance with one embodiment;
FIG. 7 is a flow diagram of one embodiment of a process to obtain total pilot interference for multiple multipaths;
FIG. 8 is a flow diagram for one embodiment of a process to demodulate data for multiple multipaths with pilot interference cancellation;
fig. 9 is a block diagram of another embodiment of a sample buffer and finger processor within a rake receiver, such as the rake receiver of fig. 4;
fig. 10 is an example of a look-up table that may be used by the finger processor of fig. 9;
fig. 11 shows an example of a time snapshot of two finger processors, such as the finger processor of fig. 9;
FIG. 12A is a flow diagram of another example of a process for obtaining accumulated pilot interference for a plurality of multipaths;
FIG. 12B is a flow diagram of yet another embodiment of a process for obtaining accumulated pilot interference for a plurality of multipaths;
fig. 13A is a block diagram of a receiver with multiple antennas and a demodulator with multiple interference accumulation buffers;
fig. 13B is a block diagram of a receiver with multiple antennas and a demodulator with a single interference accumulation buffer; and
fig. 14 shows an example of the convolution of the transmit pulse provided by the transmit filter of fig. 3 and the receive filter of fig. 2.
Detailed Description
Signals transmitted from a terminal may arrive at the base station via one or more signal paths. These signal paths may include straight line paths (e.g., signal path 110a) and meander line paths (e.g., signal path 110 b). A polyline path is created when the transmitted signal is reflected off a reflection source and reaches the base station via a path other than a line-of-sight path. The reflection source is typically an artifact in the environment in which the terminal is operating (e.g., a building, a tree, or some other structure). The signal received at the base station by each antenna may thus comprise multiple signal instances (or multipaths) from one or more terminals.
In the system 100, a system controller 102, which is also referred to as a Base Station Controller (BSC), is connected to the base stations 104, provides coordination and control for the base stations connected to it, and also controls the routing of calls to the terminals 106 via the connected base stations. The system controller 102 may also be connected to a Public Switched Telephone Network (PSTN) via a Mobile Switching Center (MSC) and to a packet data network via a Packet Data Serving Node (PDSN), which are not shown in fig. 1. System 100 may be designed to support one or more CDMA standards, such as IS-95, CDMA2000, CDMA 20001 xEV-DV, CDMA 20001 xEV-DO (IS-856), WCDMA, TD-SCDMA, TS-CDMA, or some other CDMA standard, or a combination thereof.
Aspects and embodiments of the present disclosure may be applied to a forward link and a reverse link in various wireless communication systems. For simplicity, pilot interference cancellation techniques for the reverse link in cdma2000 systems are specifically described.
Fig. 2 is a simplified block diagram of one embodiment of a base station 104 and a terminal 106. On the reverse link, at terminal 106, a Transmit (TX) data processor 214 receives various types of "traffic," such as user-specific data, messages, etc., from a data source 212. TX data processor 214 then formats and codes the different types of traffic based on one or more coding schemes to provide coded data. Each coding scheme may include any combination of Cyclic Redundancy Check (CRC), convolutional, Turbo, block, and other coding, or no coding at all. Interleaving is typically applied when error correcting codes are used to combat fading. Other coding schemes may include automatic repeat request (ARQ), hybrid ARQ, and incremental redundancy repeat techniques. Typically, different types of traffic are encoded using different coding schemes. A Modulator (MOD)216 then receives pilot data and coded data from TX data processor 214 and also processes the received data to generate modulated data.
Fig. 3 is a block diagram of one embodiment of a modulator 216a that may be used for modulator 216 in fig. 2. For the reverse link in cdma2000, the processing by modulator 216a includes: the corresponding Walsh code, C, is used by multiplier 312chxData for each of a plurality of code channels (e.g., traffic, synchronization, paging, and pilot channels) is overlaid to channelize user-specific data (packet data), messages (control data), and pilot data onto their respective code channels. The channelized data for each code channel may be applied by unit 314 with a corresponding gain, GiScaled to control the relative transmit power of the code channels. The scaled data for all code channels of the in-phase (I) path are then aggregated by summer 316a to provide I-channel data, and the scaled data for all code channels of the quadrature (Q) path are aggregated by summer 316b to provide Q-channel data.
Fig. 3 also illustrates one embodiment of a spreading sequence generator 320 for the reverse link in cdma 2000. Within generator 320, a long code generator 322 receives a long code mask assigned to the terminal and generates a long pseudo-random noise (PN) sequence with a phase determined by the long code mask. The long PN sequence is then multiplied by the I-channel PN sequence by multiplier 326a to generate an I-spread sequence. The long PN sequence is also delayed by delay element 324, multiplied by the Q-channel PN sequence by multiplier 326b, decimated by one out of two by element 328, and applied with a walsh code (C) by multiplier 330sPlus-) is overlaid and also spread with an I spreading sequence to generate a Q spreading sequence. The I-channel and Q-channel PN sequences form complex short PN sequences used by all terminals. The I and Q spreading sequences form a terminal-specific complex spreading sequence, Sk。
Within modulator 216a, the sequence (S) is spread with I and QkI+jSkQ) Through complex multiplication operations performed by multiplier 340, toI-channel data and Q-channel data (D)chI+jDchQ) Performing expansion to generate I expanded data and Q expanded data (D)spI+jDspQ). The complex despreading operation can be expressed as follows:
DspI+jDspQ=(DchI+jDchQ)·(SkI+jSkQ),
=(DchISkI-DchQSkQ)+j(DchISkQ+DchQSkI) Equation (1)
The I and Q spread data comprise modulated data provided by modulator 216 a.
The modulated data is then provided to a transmitter (TMTR)218a and conditioned. Emitter 218a is one embodiment of emitter 218 in fig. 2. The signal conditioning process includes filtering the I and Q spread data with filters 352a and 352b, respectively, and using cos (ω) by multipliers 354a and 354bct) and sin (ω)ct) up-converting the filtered I and Q data, respectively. The I and Q components from multipliers 354a and 354b are then summed by summer 356 and further applied by multiplier 358 with gain G0Amplification is performed to generate a reverse link modulated signal.
Returning to fig. 2 and referring thereto, the reverse link modulated signal is then transmitted via an antenna 220 over a wireless communication link to one or more base stations.
At base station 104, the reverse link modulated signals from the multiple terminals are received by each of one or more antennas 250. Multiple antennas 250 may be used to provide spatial diversity against deleterious path effects such as fading. For example, for a base station supporting three sectors, two antennas may be used for each sector, and the base station may include six antennas. So that any number of antennas may be employed at the base station.
Each received signal is provided to a respective receiver (RCVR)252 that conditions (e.g., filters, amplifies, downconverts) and digitizes the received signal to provide data samples of the received signal. Each received signal may include one or more signal instances (i.e., multipaths) for each of a plurality of terminals.
A demodulator (DEMOD)254 then receives and processes the data samples for all received signals to provide recovered symbols. For cdma2000, the processing by demodulator 254 to recover the data transmitted from a particular terminal includes: (1) despreading the data samples with the same spreading sequence as used in spreading the data at the terminal, (2) channelizing the despread samples to extract or channelize the received data and pilot onto their respective code channels, and (3) coherently demodulating the channelized data with the recovered pilot to provide demodulated data. Demodulator 254 may implement a rake receiver that is capable of processing multiple signal instances for each of multiple terminals as described below.
A Receive (RX) data processor 256 then receives and decodes the demodulated data for each terminal to recover the user-specific data and messages transmitted by the terminals on the reverse link. The processing by demodulator 254 and RX data processor 256 is complementary to that performed by modulator 216 and TX data processor 214, respectively, at the terminal.
Fig. 4 is a block diagram of one embodiment of a rake receiver 254a that is capable of receiving and demodulating reverse link modulated signals from multiple terminals 106. Rake receiver 254a includes one or more (L) sample buffers 408, one or more (M) finger processors 410, a searcher 412, and a symbol combiner 420. The embodiment in fig. 4 shows all finger processors 410 connected to the same symbol combiner 420. In some configurations, there may be a large number of finger processors 410, such as 256 finger processors.
Due to the multipath environment, the reverse link modulated signals transmitted from each terminal 106 may reach base station 104 via multiple signal paths (as shown in FIG. 1), and the received signal for each base station antenna typically includes signals from multiple terminalsA combination of different instances of the reverse link modulated signal for each terminal in the set. Each signal instance (or multipath) in the received signal is typically associated with a particular amplitude, phase, and time of arrival (i.e., a time delay or time offset related to the CDMA system time). If at the base station the difference between the arrival times of the multipaths is more than one PN chip, then each received signal, y, of the corresponding receiver 252 at the inputl(t), which can be expressed as:
img id="idf0001" file="A20058002675000211.GIF" wi="292" he="44" img-content="drawing" img-format="GIF"/equation (2)
Wherein
xj(t) is the jth reverse link modulated signal transmitted by the jth terminal;
is the ith multipath at the 1 st antenna relative to the jth reverse link modulated signal, xj(t) time of arrival of the time transmitted;
pi,j,l(t) denotes a channel gain and a phase of an ith multipath of a jth terminal at the 1 st antenna and is attenuatedA function of the subtraction process;
is the sum of all reverse link modulated signals in the 1 st received signal;
is the sum of all multipaths of each reverse link modulated signal in the 1 st received signal; and
n (t) represents the true value channel noise at RF plus internal receiver noise.
Each receiver 252 receives a respective received signal yl(t) amplifies and downconverts and also filters the signal with a receive filter, which is typically matched to the transmit filter used at the terminal (e.g., filter 352), to provide a conditioned signal. Each receiver unit 252 then digitizes the conditioned signal to provide a respective data stream of data samples, which is then provided to a respective sample buffer 408.
Each sample buffer 408 stores received data samples and also provides the correct data samples at the appropriate time to the appropriate processing unit (e.g., finger processor 410 and/or searcher 412). In one design, each buffer 408 provides data samples to an assigned set of finger processors to process multipath in the received signal associated with the buffer. In another design, multiple buffers 408 may provide data samples to a particular finger processor with the ability to handle multiple multipaths in a time-multiplexed manner (e.g., in a time-multiplexed manner). The sample buffers 408 a-4081 may also be implemented as a single buffer of appropriate size and speed.
The searcher 412 is used to search for powerful multipaths in the received signal and to provide an indication of the strength and timing of each discovered multipath that meets a set of criteria. Searching for multipath for a particular terminal is typically performed by correlating the data samples of each received signal with a spreading sequence for the terminal that is locally generated at various chip or sub-chip offsets (or phases). Due to the pseudo-random nature of the spreading sequence, the correlation of the data samples with the spreading sequence should be low except when the phase of the locally generated spreading sequence is aligned in time with the phase of the multipath (in which case the value of the correlation is high).
Modulating signal x for each reverse linkj(t), the searcher 412 may provide one or more time offsets t for a set of one or more multipaths found for the reverse link modulated signal (possibly along with the signal strength of each discovered multipath)i,j,lA collection of (a). Time offset, t, provided by searcher 412i,j,lIs relative to base station timing or CDMA system time and is offset from the time shown in equation (2)In connection with this, the present invention is,relative to the time of signal transmission.
The searcher 412 may be designed with one or more searcher units, each of which may be designed to search for multipath over a respective search window. Each search window includes a range of spreading sequence phases to be searched. The searcher units may be run in parallel to speed up the search operation. Additionally or alternatively, the searcher 412 may run at a high clock rate to speed up the search operation. Searchers and searches are described in more detail in U.S. patent nos. 5,805,648, 5,781,543, 5,764,687 and 5,644,591.
Each finger processor 410 may then be assigned to process a respective set of one or more multipaths of interest (e.g., multipaths of sufficient strength as determined by controller 260 based on the signal strength information provided by searcher 412). Then, for each assigned multipath, each finger processor410 receives the following: (1) data samples of a received signal including specified multipaths, (2) time offsets t of the specified multipathsi,j,lOr with an offset t from the timei,j,lSpreading sequence S of corresponding phasesi,j,l(which may be generated by spreading sequence generator 414), and (3) the channelization code (e.g., walsh code) of the code channel to be recovered. Each finger processor 410 then processes the received data samples and provides demodulated data for each designated multipath. The processing by finger processor 410 is described in more detail below.
A symbol combiner 420 receives and combines the demodulated data (i.e., demodulated symbols) for each terminal. In particular, the symbol combiner 420 receives demodulated symbols for all designated multipaths for each terminal and, depending on the design of the finger processor, may align (or deskew) the symbols in time to account for differences in the time offsets for the designated multipaths. Symbol combiner 420 then combines the time-aligned demodulated symbols for each terminal to provide recovered symbols for the terminal. Multiple symbol combiners may be provided to combine symbols for multiple terminals simultaneously. The recovered symbols for each terminal are then provided to an RX data processor 256 and decoded.
The processing of multipath may be performed based on various demodulator designs. In a first demodulator design, a finger processor is assigned to process multiple multipaths in the received signal. For this design, the data samples from the sample buffer may be processed in "segments" (segments) that cover a particular duration (i.e., a particular number of PN chips) and start at some defined time boundary. In a second demodulator design, multiple finger processors are assigned to process multiple multipaths in the received signal. Various aspects and embodiments are now described for a first demodulator design.
Pilot interference cancellation may also be performed based on various schemes. In a first pilot interference cancellation scheme based on a first demodulator design, the channel response of a particular multipath is estimated based on a segment of data samples, and then the estimated channel response is used to derive an estimate of the pilot interference due to that multipath of the same segment. This scheme may provide improved pilot interference cancellation. However, this scheme also causes additional processing delays in the multipath data demodulation because the segments of the data samples are first processed to estimate and cancel the pilot interference before the data demodulation can proceed onto the same segment.
In a second pilot interference cancellation scheme, also designed based on the first demodulation, the channel response of a particular multipath is estimated based on the segments of the data samples, and then the estimated channel response is used to derive an estimate of the pilot interference due to that multipath of the next segment. Using this scheme may reduce (or possibly remove) the additional processing delay in data demodulation due to the estimation and cancellation of pilot interference. However, since the link conditions may change continuously over time, the time delay between the current and next segments should be kept short enough so that the channel response estimate for the current segment is still accurate in the next segment. For clarity, pilot interference estimation and cancellation for the second scheme is described below.
Fig. 5 is a block diagram of a particular embodiment of a finger processor 410x, the finger processor 410x being capable of estimating and canceling pilot interference in addition to performing data demodulation. Finger processor 410x may be used to represent each finger processor 410 in rake receiver 254a shown in fig. 4. In the following description, fig. 5 shows processing elements, and fig. 6A and 6B graphically show timing of estimation and cancellation of pilot interference.
Finger processor 410x is assigned to demodulate one or more "desired" multipaths in a particular received signal. Sample buffer 408x stores data samples of the received signal including multipaths assigned to finger processor 410 x. Buffer 408x then provides the appropriate data samples (in fragments) to the finger processors as they need them. In the embodiment shown in fig. 5, finger processor 410x includes a resampler 522, a pilot estimator 520 (or channel estimator), a summer 542, a data demodulation unit 550, and a pilot interference estimator 530.
For each desired multipath to be demodulated by finger processor 410x, the data in all other multipaths and the pilot in all multipaths in the same received signal contribute to the interference for that multipath. Because the pilot is generated based on a known data pattern (e.g., typically an all-zero sequence) and processed in a known manner, the pilot in the "interfering" multipath can be estimated and removed from the desired multipath to improve the signal quality of the data component in the desired multipath. Finger processor 410x is capable of estimating and canceling pilot interference due to multiple multipaths found in the received signal, including the pilot of the desired multipath, as described below.
In one embodiment, pilot interference estimation and cancellation and data demodulation are performed in "bursts". For each burst (i.e., each processing cycle), a particular number of segments of the PN chip's data samples are processed to estimate the pilot interference due to a particular multipath. In a particular embodiment, each segment includes data samples for one symbol period, which may be 64 PN chips for cdma 2000. However, other segment sizes (e.g., data symbols for other durations) may also be used, and this is within the scope of the present disclosure. As described below, data demodulation may be performed in parallel with pilot interference estimation in a pipelined manner to increase throughput and may reduce overall processing time.
To obtain an estimate of the pilot interference due to the mth multipath (where m is (i, j, l) and is the symbol representing the ith multipath of the jth reverse link modulated signal found in the 1 st received signal), a fraction of the data samples are initially provided from buffer 408x to resampler 522 within finger processor 410 x. The resampler 522 may then perform decimation (decimation), interpolation, or a combination thereof to provide decimated data samples at the chip rate and with the correct "good-gain" time phase.
Fig. 6A graphically illustrates one embodiment of resampling performed by resampler 522. The received signal is typically oversampled (oversampled) at a sampling rate that is a multiple (e.g., 2, 4, or 8) of the chip rate to provide higher time resolution. The data samples are stored to a sample buffer 408x, which sample buffer 408x provides a segment of (e.g., 512) data samples for each processing cycle at a later time. Resampler 522 then "resamples" the data samples received from buffer 408x to provide samples at the chip rate and with the correct time phase.
As shown in fig. 6A, if the received signal is sufficiently oversampled (e.g., at 8 times the chip rate), resampling the m-multipaths may be performed by providing, for example, every 8 data samples received from the buffer, where the selected data samples are those data samples closest to the time instant at which the peak of the mth multipath is aligned. The mth multipath is typically the multipath designated for data demodulation, and the time offset t of the multipathmMay be determined and provided by searcher 412. However, pilot interference due to multipaths not designated for data demodulation can also be estimated and eliminated, as long as the time offset of each such multipath is known. Time offset t per multipathmCan be viewed as including an integer portion of the symbol period and a fractional portion of the symbol period (i.e., t) relative to base station timing or CDMA system timem=tfull,m+tfrac,m) Where the symbol period is determined by the length of the channelization code (e.g., 64 PN chips for cdma 2000). Fractional part t of time offsetfrac,mMay be used to select particular segments of the data samples to provide to the resampler 522 and for decimation. In the example shown in FIG. 6A, the fractional part of the time offset of the mth multipath is tfrac,mA segment 622 of data samples is provided by buffer 408x, and the decimated data samples provided by resampler 522 are represented by the shaded boxes, 5.
For some other receiver designs in which the received signal is not sufficiently oversampled, interpolation and decimation may alternatively or additionally be performed to obtain new samples that are time phase correct, as is well known in the art.
Within pilot estimator 520, a despreader 524 receives the decimated data samples and the (complex conjugate) spreading sequence Sm *(k) With a time offset t from the mth multipath whose pilot interference is to be estimatedmThe corresponding phase. The spreading sequence S may be provided by a spreading sequence generator 414m *(k) In that respect For the reverse link in cdma2000, spreading sequence S may be generated as shown by spreading sequence generator 320 in FIG. 3m *(k) In that respect And as shown in fig. 6A, a spreading sequence S having the same length and the same time phase as the data sample segmentsm *(k) Is used to despread (i.e., spread the sequence S)m *(k) Aligned in time with the decimated data samples).
Despreader 524 (which may be implemented as a complex multiplier, such as multiplier 340 shown in fig. 3) uses spreading sequence Sm *(k) The decimated data samples are despread and despread samples are provided. The pilot channelizer 526 then multiplies the despread samples by the channelization code C for the pilot at the terminalpilot,m(e.g., zero walsh codes for cdma 2000). The decovered pilot samples are then accumulated over a particular accumulation time interval to provide pilot symbols. The accumulation time interval is typically several integer multiples of the pilot channelization code length. If the pilot data is covered with a channelization code of zero (as in cdma2000), then the pilot data is associated with a channelization code Cpilot,mMay be omitted and the pilot channelizer 526 simply performs accumulation of the despread samples from the despreader 524. In a particular embodiment, one pilot symbol is provided for each segment, which is one symbol period in size.
The pilot symbols from the pilot channelizer 526 are then provided to a pilot filter 528 and filtered based on a particular low pass filter response to remove noise. The pilot filter 528 may be implemented as a Finite Impulse Response (FIR) filter, an Infinite Impulse Response (IIR) filter, or some other filteringA waver structure. Pilot filter 528 provides pilot estimate Pm(k) Which indicates the channel response (i.e., gain and phase a) of the mth multipathm·ejθm). Thus each pilot estimate Pm(k) Is a complex value. The pilot estimates are provided at a sufficient rate so that significant changes in the channel response of the multipath can be captured and reported. In a particular embodiment, one pilot estimate is provided for each segment of one symbol in size.
The pilot interference estimator 530 then estimates the pilot interference due to the mth multipath of the next segment. To estimate the pilot interference, the pilot data and pilot channelization code C for the mth multipathpilot,mIs provided to a pilot channelizer 532, which pilot channelizes the pilot data with a pilot channelization code to provide channelized pilot data. Spreader 534 then receives and spreads sequence SmThe channelized pilot data is spread (k + N) to generate spread pilot data (i.e., processed pilot data). Spreading sequence Sm(k + N) has a time offset t from the mth interfering multipathmThe corresponding phase and is also advanced by the next segment of N PN chips as shown in fig. 6A. If the pilot data is an all-zero sequence and the pilot channelization code is also an all-zero sequence (as in cdma2000), the pilot channelizer 532 and spreader 534 may be omitted and the spread pilot data is simply the spreading sequence Sm(k+N)。
Multiplier 536 then receives the spread pilot data from pilot filter 528 and multiplies it by pilot estimate Pm(k) To provide an estimate I of the pilot interference due to the mth multipath of the next segmentpilot,m(k + N). Because the pilot estimates Pm(k) Is derived from the current segment and is used to derive an estimated pilot interference for the next segment, so a prediction technique can be used to derive a pilot prediction for the next segment based on the pilot estimates. These pilots may then be used to predict the estimated pilot interference for the next segment.
In one embodiment, multiplier 536 may be configured to multiplySample rate (e.g., 8 times chip rate) and the time phase of the mth multipath is used to provide the estimated pilot interference due to the mth multipath. This enables the estimated pilot interference of all multipaths (which have different time offsets that are typically not aligned with the PN chip time boundary) to be accumulated with a higher time resolution. Then, the estimated pilot interference I of the mth multipathpilot,m(k + N) (which includes the same number of interference samples as the data sample segments) is provided to interference accumulator 538. As shown in fig. 6A, the interference sample of the mth multipath is stored in the accumulator at a position determined by the fractional part of the time offset of the multipath.
The above process may be iterated multiple times in one iteration or processing cycle of each interfering multi-path whose pilot interference is to be estimated and cancelled from the desired multi-path in order to obtain the total pilot interference for all multi-paths in a given received signal. Pilot interference cancellation for multipath is typically performed via the same antenna, not via multiple antennas, because channel estimation from one antenna is typically not applicable to the other antennas. If the same finger processor hardware is used for multiple iterations, processing may be performed in bursts, each burst being performed on a respective segment of the data sample determined by the fractional part time offset of the multipath.
Before the first iteration, the accumulator 538 is cleared or reset. For each iteration, the estimated pilot interference I due to the current multipathpilot,mAccumulated with the accumulated pilot interference of all previously processed multipaths. However, as shown in FIG. 6A, the estimated pilot interference Ipilot,mIs accumulated with the samples in a particular segment of accumulator 538, as determined by the current multipath time offset. After all interfering multipaths have been processed, the accumulated pilot interference in accumulator 538 includes the total pilot interference I due to all processed multipathspilot。
FIG. 6A also illustrates one embodiment of an accumulator 538. When finger processor 410x executes the mth plurality of current segmentsData demodulation of the path (using the total pilot interference I obtained earlier and stored in one section of accumulator 538)pilot(k) Time), pilot interference I due to mth multipath of the next segment may be estimated and accumulated in another sector of the accumulatorpilot,m(k+N)。
The pilot of the mth multipath is the interference to all multipaths in the received signal, including the mth multipath itself. For a demodulator design in which multiple finger processors are designated to process a certain number of multipaths in a received signal for a given terminal, estimated pilot interference due to the mth multipath may be provided by one finger processor to another finger processor designated to process other multipaths in the same received signal.
For a demodulator that recovers the data on the mth multipath, the data samples of the segment are provided from buffer 408x to resampler 522. Resampler 522 then resamples the received data samples to provide decimated data samples at the chip rate and with the correct time phase for the multipath. The decimated data samples are processed as described above to provide pilot estimates Pm(k)。
Correspondingly, the total pilot interference I of the same segmentpilot(k) Is provided from accumulator 538 to resampler 540. Resampler 540 similarly resamples the received interference samples to provide decimated interference samples at the chip rate and with the correct time phase for the mth multipath. Summer 542 then receives and subtracts the decimated interference samples from the decimated data samples to provide pilot-canceled data samples.
Within data demodulation unit 550, despreader 544 receives the pilot-canceled data samples and spreads the sequence S with a (complex conjugate)m *(k) Which is despread to provide despread samples. Spreading sequence Sm *(k) With a time offset t from the mth multipathmThe corresponding phase. The data channelizer 546 then multiplies the despread samples for use at the fingerChannelisation code C of code channel recovered by processorch,m. Then, in channelization code Cch,mAccumulates the channelized data samples over a length to provide data symbols.
A data demodulator 548 then receives the data symbols and estimates P using the pilotm(k) Demodulates it to provide demodulated symbols (i.e., demodulated data) for the mth multipath, which is then provided to symbol combiner 420. Data demodulation and symbol combining may be accomplished as described in the aforementioned U.S. patent No. 5,764,687. The' 687 patent describes BPSK data demodulation for IS-95 by performing a dot product between despread data and filtered pilot. Demodulation of QPSK modulation used in CDMA2000 and W-CDMA is an extension of the techniques described in the' 687 patent. That is, rather than using a dot product, both dot and cross products are used to recover the in-phase and quadrature data streams.
As mentioned above, the data demodulation of the mth multipath may be performed in parallel with the pilot interference estimation and in a pipelined manner. When the despreader 544 and the data channelizer 546 are processing the pilot-canceled data samples for the current segment (using spreading sequence S)m *(k) And a channelization code Cch,m) To provide the mth multipath data symbol, despreader 524 and pilot channelizer 526 may process the same data sample (using spreading sequence S) of the current segmentm *(k) And a pilot channelization code Cpilot,m) To provide pilot symbols for the multipath. The pilot filter 528 filters the pilot symbols to provide a pilot estimate P of the multipathm(k) In that respect The pilot interference estimator 530 then obtains an estimated pilot interference I due to the multipath of the subsequent segmentpilot,m(k + N) as described above. In this way, the total pilot interference I obtained from the previous segment is usedpilot(k) While data demodulation is performed for the current segment, the pilot interference for the next segment is estimated and stored to another segment of the accumulator for use in the next segment.
In one embodiment, the pilot for a particular multipath being demodulated is estimated based on the "raw" received data samples (from sample buffer 408x) as described above, rather than the data samples (from accumulator 538) from which the pilot was canceled. In another embodiment, if the total pilot interference includes some or all of the interfering pilots in addition to the pilot of the multipath being demodulated (i.e., the pilot of the multipath being demodulated is included in the data samples of the other canceled pilots), the pilot may be estimated based on the data samples of the canceled pilots. This alternative embodiment may provide improved channel response estimates for the multipath being demodulated and is particularly advantageous in reverse links where pilot estimation is typically the limiting factor in dealing with weak multipath. The same "other pilot-canceled" data samples used for pilot estimation may also be processed to recover the multipath data, with the advantage of a finger processor structure that performs both pilot estimation and data demodulation in parallel on the same stream of data samples. The same approach may be used to estimate the channel response for a particular interfering multipath (i.e., the estimated channel response may be based on the original data samples or "other pilot-canceled" data samples having the interfering pilot, except for the pilot for that particular multipath, removed).
Fig. 6A and 6B are diagrams illustrating processing of data samples to obtain an estimate of pilot interference, according to one embodiment. In the example shown in fig. 6A and 6B, the received signal includes three multipaths that are offset by time t1、t2And t3And (4) associating. The received signal is digitized at a sampling rate of 8 times the chip rate to provide data samples, which are stored to a sample buffer. These multipaths may or may not be sampled at their peaks.
In the example shown in fig. 6A and 6B, each segment includes 512 data samples for a symbol period of 64 PN chips. The pilot interference is estimated for each of the three multipaths and for each symbol period. The symbol timing of each multipath is determined by the fractional part of the multipath's time offset. If the fractional portions of the time offsets of the multipaths are different (typically, this is the case), the symbol timing of these multipaths will be different and will be associated with different data sample segments. In one embodiment, the multipaths are processed in an order based on their fractional parts of the time offset, with the multipath with the smallest fractional part of the time offset being processed first and the multipath with the largest fractional part of the time offset being processed last. This processing order ensures that the total pilot interference can be obtained and valid for each multipath as it is processed.
In FIG. 6A, the fractional part t for the time offsetfrac,mThe resampler 522 receives the data samples 5 to 516 from the sample buffer 408 and provides the data samples 5, 13, 21, 509 to the despreader 524 for the nth symbol period of the mth multipath of 5, which are indicated by the shaded boxes. Accordingly, despreader 524 receives signals having phases corresponding to the same time offset tmSpreading sequence S ofm *(k) And despreads the decimated data samples with the spreading sequence. The pilot estimate P is then derived based on the despread samples for that segment, as described abovem(k)。
To obtain the estimated pilot interference due to the mth multipath, spreader 534 receives spreading sequence S corresponding to the next segmentm(k + N) and spread the channelized pilot data. The spread pilot data is then passed to multiplier 536 (by a spreading sequence, S)m(k + N), extended) multiplied by the pilot estimate P derived from the current segmentm(k) To provide an estimated pilot interference I for the next segmentpilot,m(k + N). Estimated pilot interference Ipilot,m(k + N), which includes interference samples 517 through 1028, are accumulated with samples at the same indices 517 through 1028 in interference accumulator 538, as shown in FIG. 6A. In this way, the fractional part of the time offset of the mth multipath in the total pilot interference is calculated.
For data demodulation of the mth multipath for the nth symbol period, the same fraction of interfering samples 5 through 516 are provided from accumulator 538 to resampler 540. The resampler 540 then provides the interfering samples 5, 13, 20, 509 (which are also represented by the shaded boxes) corresponding to the same indexed data samples provided by the resampler 522 to the adder 542. Data demodulation of the pilot-canceled data samples is then performed as described above. Each multipath may be handled in the same manner. However, since each multipath may be associated with a different time offset, different decimated data and interference samples may be operated on.
Fig. 6B shows three data sample segments, decimated data samples, and three spreading sequences used to derive the estimated pilot interference due to three multipaths.
In another demodulator design, pilot interference estimation/cancellation and data demodulation may be performed in real-time (e.g., as data samples are received) if sufficient processing power is provided. For example, M finger processors may be assigned to process M multipaths in the received signal in parallel. For each symbol period, each finger processor may derive a pilot estimate for that symbol period and then use the pilot estimate to derive an estimated pilot interference for the next symbol period due to the assigned multipath of that finger processor. A summer then sums the estimated pilot interference from all M finger processors (taking into account their respective time offsets) and stores the total pilot interference for the next symbol period in an interference accumulator.
The total pilot interference may then be subtracted from the data samples as they are received for the next symbol period, and the same pilot-canceled data samples may be provided to all M finger processors for data demodulation. (these finger processors are also provided with received data samples that are not used to derive the pilot estimates) in this way, data demodulation can be performed on the pilot-canceled data in real time, and possibly the sample buffer can be eliminated. For a scheme that uses pilot estimation to derive an estimated pilot interference for the same segment (rather than the next segment), data samples (e.g., for one symbol period) may be temporarily stored while the total pilot interference is derived.
For demodulator designs that process the same data samples multiple times (e.g., where one finger processor is designated to process a certain number of multipaths), the sample buffer may be designed and operated in a manner that ensures that data samples are not inadvertently lost. In one embodiment, the sample buffer is designed to receive incoming data samples while providing stored data samples to the finger processor(s). This can be achieved by implementing the sample buffer in the following way: so that stored data samples can be read out of one part of the buffer while new data samples can be written to another part of the buffer. The sample buffer may be implemented as a double buffer or multiple buffers, a multi-port buffer, a circular buffer, or some other buffer design. The interference accumulator may be implemented in a manner similar to a sample buffer (e.g., a circular buffer).
For the above demodulator design, to avoid overwriting of samples still being processed, the sample buffer capacity may be chosen to be at least twice as large as the time required to obtain the total pilot interference for all M multipaths (the relationship between time and buffer capacity is defined by the sample rate). If a different data sample segment can be used for each of the M multipaths, the sample buffer size can be selected to be at least (2N) of each received signal assigned to the sample bufferos) Multiple, where N is the duration of the data samples used to obtain the estimated pilot interference for one multipath, and NasIs the oversampling factor of the data samples (which is defined as the ratio of the sample rate to the chip rate). In the example above, a fraction of one symbol period (e.g., N ═ 64 PN chips) is processed for each multipath, and for this example, a buffer of two symbol periods will be able to provide a fraction of one symbol period for each multipath's data samples, regardless of the fractional portion of its time offset. And, if the oversampling rate is NosThe minimum size of the buffer is (2 · N ═ 8os2 · 64 · 8 ═ 1024) data samples.
Similarly, the capacity of the interference accumulator may be selected to be at least (3 · Nos). The extra symbol period of the interference accumulator (i.e., 3 · N instead of 2 · N) is due to the estimated pilot interference being derived from the next segment.
As mentioned above, the estimated pilot interference resulting from one data sample segment may be cancelled from a subsequent data sample segment. For a mobile terminal, the communication link often changes, and thus the channel response of each multipath also often changes. Therefore, there is a need to reduce the delay between data samples from which pilot interference is estimated and data samples from which the estimated pilot interference is cancelled. The delay may be 2 · N chips.
By choosing a sufficiently small value for N, the channel response of each multipath should remain relatively constant over a period of 2 · N chips. However, the value of N should be chosen large enough to enable an accurate estimation of the channel response of each multipath to be processed.
Fig. 7 is a flow diagram of a process 700 to obtain total pilot interference for a number of multipaths, according to one embodiment. Process 700 may be implemented by a finger processor as shown in fig. 5.
Initially, an accumulator for accumulating the estimated pilot interference is cleared at step 712. Then, at step 714, interfering multipaths that have not yet been processed are selected. Typically, the pilot interference for each multipath designated for data demodulation is estimated. However, pilot interference due to unspecified multipath may also be estimated. In general, any number of interfering multipaths can be handled, and these are those multipaths that will estimate and accumulate pilot interference to obtain total pilot interference.
The data samples of the received signal with the selected multipath are then processed at step 716 to derive an estimate of the channel response of the selected multipath. The channel response may be estimated based on the pilots in the selected multipaths, as described above. For cdma2000, the process entails (1) despreading the data samples with a spreading sequence for the multipath (i.e., with the correct phase corresponding to the time offset for the multipath), (2) channelizing the despread data samples to provide pilot symbols (e.g., multiplying the despread samples by a pilot channelization code and accumulating the channelized data samples over the pilot channelization code length), and (3) filtering the pilot symbols to obtain pilot estimates indicative of the channel response for the selected multipath. Estimation of channel response using other techniques may also be implemented and is within the scope of the present disclosure.
The pilot interference due to the selected multipath is then estimated at step 718. The pilot interference may be estimated by generating processed pilot data and multiplying the data by the estimated channel response obtained in step 716. If the pilot data is a sequence of all zeros and the pilot channelization code is also all zeros, the processed pilot data is simply the spreading sequence of the selected multipath. Typically, the processed pilot data is pilot data after all signal processing at the transmitter unit but before filtering and upconversion (e.g., data at the output of modulator 216a in fig. 3 for the reverse link in cdma 2000).
The estimated pilot interference for the selected multipath is then accumulated with the previously processed estimated pilot interference for the multipath in an interference accumulator, step 720. As mentioned above, the time phase of the multipath is observed during the performance of steps 716, 718, and 720.
Then, at step 722, it is determined whether all interfering multipaths have been processed. If the answer is no, then the process returns to step 714 where another interfering multipath is selected for processing. Otherwise, the contents of the accumulator represent the total pilot interference due to all processed multipaths, which may be processed in step 724. The process then terminates.
The pilot interference estimation in fig. 7 can be performed on all multipaths using one or more finger processors in a time division multiplexed manner. Alternatively, a number of finger processors may be used to perform pilot interference estimation for multiple multipaths in parallel. In this case, pilot interference estimation and cancellation and data demodulation may be performed in real-time (e.g., with minimal or no buffering to receive data samples, as described above) if the hardware has sufficient capacity.
Fig. 8 is a flow diagram of a process 800 for data demodulation of a number of multipaths using pilot interference cancellation, according to one embodiment. Process 800 may also be performed by a finger processor as shown in fig. 5.
Initially, at step 812, the total pilot interference of interest due to all multipaths is obtained. Step 812 may be implemented using process 700 shown in fig. 7. Then, in step 814, a particular multipath for data demodulation is selected. In one embodiment, the total pilot interference is initially cancelled from the selected multipath at step 816, as described above. This may be accomplished by subtracting interference samples of the total pilot interference (which is stored in an accumulator) from the data samples of the received signal that include the selected multipath.
Data demodulation is then performed on the pilot-canceled signal in a conventional manner. For cdma2000, this entails (1) despreading the data samples for which the pilot is removed, (2) channelizing the despread data to provide data symbols, and (3) demodulating the data symbols with pilot estimates. The demodulated symbols of the selected multipath (i.e., the demodulated data) are then combined with the demodulated symbols of other multipaths of the same transmitter unit (e.g., the terminal). Demodulated symbols for multipaths in multiple received symbols may also be combined (e.g., if receive diversity is employed). The symbol combining may be implemented by a symbol combiner shown in fig. 4.
Then, in step 822, it is determined whether all of the designated multipaths have been demodulated. If the answer is no, the process returns to step 814 and another multipath is selected for data demodulation. Otherwise, the process terminates.
As mentioned above, data demodulation may be performed for all designated multipaths in a given transmitter unit using one or more finger processors in a time-multiplexed manner. Alternatively, a number of finger processors may be used to perform data demodulation for all designated multipaths in parallel.
Returning to fig. 4 and 5 and referring thereto, the searcher 412 may be designed and operated to search for new multipaths based on the pilot-canceled data samples (rather than the originally received data samples from the buffer 408). This may provide improved search performance because pilot interference from some or all of the known multipaths may have been removed, as previously described.
Alternate rake receiver and finger processor embodiments
Fig. 9 is a block diagram of another embodiment of a sample buffer 908 and finger processor 900 within a rake receiver, which may be similar in some respects to the rake receiver 254a of fig. 4 described above. The rake receiver may include a large number of individual finger processors 900, such as 256 or 512 finger processors 900, to handle several multipaths. Alternatively, the rake receiver may include a single high speed processor to process multiple multipaths in a time-division manner, similar to the function of the finger processors 900. One embodiment of the sample buffer 908 may be a circular Random Access Memory (RAM) that stores segments of data samples at a sample rate of x2 ("chipx 2"). Chip rate equal to 1/TCWherein T isCIs the chip duration. For example, the chip rate may be 1.2 MHz. Other chip rates may also be used.
Finger processor 900 may be used for a CDMA 20001 xEV-DO system or other systems. Finger processor 900 includes a channel estimator 902, a data demodulation unit 904, and a pilot interference estimator 906. Channel estimator 902 includes despreader 910, pilot de-channelizer 912, and pilot filter 914. The data demodulation unit 904 includes a despreader 918, a data de-channelizer 920, and a data demodulator 922. The pilot interference estimator 906 includes a cancellation factor calculation unit 924, multipliers 926 and 932, a reconstruction filter table 938, a pilot reconstruction filtering module 930, a pilot interference accumulation module 928, a pilot channelizer 934, and a spreader 936.
Channel estimator 902 in fig. 9 may operate in a similar manner to pilot estimator 520 described above with reference to fig. 5, with some exceptions described below. Similarly, data demodulation unit 904 in fig. 9 may operate in a similar manner to data demodulation unit 550 described above with reference to fig. 5, with some exceptions described below.
Despreaders 910, 918 receive the complex conjugate spread sequence P from spread sequence generator 414 (FIG. 4)m *For example, as described above as S with FIG. 5m *(k) The PN sequence of (1). In one embodiment, the despreaders 910, 918 first offset the time t from multipathmData samples of the enabled segment of the sample buffer 908 are multiplied (despread) by the spreading sequence Pm *The despread data samples are then resampled. In another embodiment, the despreaders 910, 918 first align the time offsets t from multipathmThe data samples of the segment of the enabled sample buffer 908 are resampled and the resampled data samples are then multiplied by the spreading sequence Pm *。
The despreaders 910, 918 of fig. 9 may include resamplers or interpolators that resample, upsample, sum, decimate, or interpolate the data samples from the sample buffer 908 to achieve a desired rate. The type of resampling depends on the rate of signal samples stored in the receive sample buffer 908. For example, despreader 910 may upsample samples from sample buffer 908 at a maximum resolution of chipx2 to finger time offset (e.g., a rate of chipx 8). Despreader 910 may decimate the chipx8 samples to chipx1 for output to pilot de-channelizer 912.
In general, different components of finger processor 900 may use different rates, such as chipx1, chipx2, chipx4, and chipx 8. Higher rates, such as chipx8, may improve the performance and accuracy of the sampling. Lower rates, such as chipx2, may be less accurate, but may improve efficiency by reducing computational complexity and reducing processing time.
The pilot de-channelizer 912(a) receives the despread data samples and the pilot channelization code C from the despreader 910pilot,mAnd (b) outputting the de-channelized pilot symbols. Similarly, data de-channelizer 920(a) receives the despread data samples and data channelization code C from summer 916data,mAnd (b) outputting a de-channelized data symbol pilot filter
The pilot filter 914 obtains at least two values, hmAnd NtThe two values may be in various forms, such as hm/NtAnd | hm|2/NtAnd output from pilot filter 914. h ismIs a channel estimate for a particular multipath assigned to finger processor 900. Channel estimation hmMay correspond to channel coefficients (amplitude, phase and delay or time offset). Pilot filter 914 may use one or more segments, e.g., current segment "n" and/or past or future segments, to provide channel estimate hm. In one embodiment, pilot filter 914 uses four to six segments to derive the channel estimate. Alternatively, pilot filter 914 may use one or more segments to provide future channel estimates, i.e., predictions of the channel estimates. The pilot interference estimator 906 will use the channel estimate hmFor pilot reconstruction, as described below. Channel estimate h output by pilot filter 914 to multiplier 926mMay be complex with I and Q components.
NtIs the variance of the noise plus the interference term found by the finger processor 900. If the channel estimate hmIs high, the channel is noisy. Data demodulator 922 uses hm/NtTo demodulate the data. The elimination factor calculation unit 924 uses | hm|2/Nt. Pilot filter 914 may include a phase rotator or a phase corrector.
Calculating an elimination factor
The interference cancellation by the multiple finger processors 900 may increase the capacity of the multiple access channel if the receiver has the desired channel state information. In practice, the channel of each user is time-varying, and estimating reliable channel state information can be a complex problem. The pilot for each user should be removed from the received signal by using actual or reliable pilot-based channel estimation. Using unreliable channel estimates may result in over-cancellation of the data samples. Cancellation factor calculation unit 924 reduces or prevents cancellation in the event that channel estimator 902 detects unreliable noisy pilot-based channel estimates. In this way, the cancellation factor calculation unit 924 minimizes the residual energy (noise) after pilot interference cancellation.
For example, the three finger processors 900 may process the same received signal with different offsets and detect different SNRs or channel estimates. If a finger processor detects a particularly noisy channel, it may be desirable to reduce (scale down) the contribution of the finger processor's reconstructed pilot to interference cancellation.
If N is present1(variance of noise plus interference term found by the finger processor 900) is high and pilot signal strength | hm|2Very low, then the channel estimate hmMay be unreliable. The cancellation factor calculation unit 924 may select a low cancellation factor amSuch as 0, 0.1, 0.2, 0.5, etc. This reduces the magnitude of the noisy channel estimates used by the finger processor 900 to reconstruct the pilot samples.
If N is presenttIs very low and the pilot signal strength | hm|2Very high, then the channel estimate hmMay be reliable and the cancellation factor calculation unit 924 may select a high cancellation factor alphamSuch as 0.8, 0.9, 1.0, etc. If N is presenttIs high and the pilot signal strength | hm|2Is also high, then the channel estimate hmMay be slightlyReliably, and the cancellation factor calculation unit 924 may select a medium cancellation factor αmSuch as 0.5, 0.6, 0.7, 0.8, etc. Cancellation factor alphamThe value of (d) may depend on how pilot demodulation is performed and how signal estimates are obtained. In some cases, the cancellation factor α may be reducedmGreater than one is selected. For example, the phase of the channel may not be aligned correctly during pilot demodulation, which causes energy to be cancelled. The channel has an underestimated signal amplitude or a biased channel estimate. Thus, a cancellation factor a greater than one is selected and usedmSome correction of the channel estimate will be added back. The following equation may be optimal for a channel that is constant over a segment with gaussian noise.
In one embodiment, cancellation factor calculation unit 924 uses | h from pilot filter 914m|2/NtTo calculate the cancellation factor alpha according to the following equationm:
αm=[(|hm|2/Nt)N]/[1+(|hm|2/Nt)N]
Wherein | hm|2/NtCan be reacted with Ecp/NtIn proportion, EcpIs the energy per chip, N, estimated by channel estimator 902tIs noise (E)cp/NtRepresenting the signal-to-noise ratio) and N is the average length of the channel estimates. N denotes for estimating hmAnd NtA certain number of samples. N may be a segment length, such as 512, 1024 or 2048 chips.
In another embodiment, cancellation factor calculation unit 924 uses | h from pilot filter 914m|2/NtTo select the optimal cancellation factor alpha from a look-up table (LUT)m. The look-up table includes hm|2/NtAnd corresponds to a predetermined cancellation factor alpham。
FIG. 10 is | hm|2/NtAnd a predetermined cancellation factor alphamAn example of a look-up table of (c). The table uses X ═ 2048 (| h)m|2/Nt) Where X is saturated (saturated) and rounded to 4 bits to provide a number between 0 and 15 in the left column. The right column contains a predetermined cancellation factor α derived from the following equationm:
αm=N[|hm|2/Nt]/[1+(N)|hm|2/Nt]
If other equations are used or if other than | h is usedm|2/NtThe size of the table may change if more information is used to calculate the cancellation factor.
The first multiplier 926 uses the calculated or selected cancellation factor a from the cancellation factor calculation unit 924mTo multiply (i.e., scale) the channel estimate hmTo provide weighted channel coefficients for each segment.
Pilot reconstruction filtering
If the time delay or offset t of the multipath received signalmIs the chip duration TCIs multiplied by an integer multiple of chip duration TCIs fractional part (i.e., less than one chip duration T)C) Chip internal interference (ICI) may occur. The finger processor 900 performs reconstruction filtering to calculate the pulse shape of the transmitter 218 (fig. 3). FIG. 14 shows an example of φ (t)1400, which is an estimated (pre-computed) transmit pulse φ from the transmit filters 352a, 352b of FIG. 3 in the time domainTX(t) and the receive filter function φ of the receiver 252 (described above)RX(t) convolution of the two. In particular, the reconstruction filter table 938, the second multiplier 932, and the pilot reconstruction filter module 930 of fig. 9 calculate a plurality of sinusoidal half-cycles, e.g., 1402, 1404A, 1404B, 1406A, 1406B (i.e., a plurality of taps), of the estimated transmit burst rather than just the center sinusoidal half-cycle of the estimated transmit burst, e.g., the center sinusoidal half-cycle of the estimated transmit burst1402 (i.e., the center tap or peak). The filtering performed by finger processor 900 provides more reliable reconstructed pilot samples. Regardless of the shape of the transmit burst and the receive filter and reconstruction filtering, the reconstructed pilot signal does not accurately reflect the pilot contribution to the received samples.
In one embodiment, pilot reconstruction filtering module 930 includes a polyphase finite impulse response Filter (FIR) that combines decimation from chipx8 through chipx2, for example, and filtering in a single process. The polyphase filter may be given one phase, the filter function is decimated according to the given phase, and then filtering is performed. For example, the polyphase filter may use the above decimated-by-8 convolution with 8 different possible phases. Time offset t input to filter table 938mThe filter coefficients corresponding to one of 8 different possible phases are selected. Multiplier 932 multiplies the filter coefficients (according to the selected phase) with the channel estimation and cancellation factors. The reconstruction filtering module 930 filters (performs convolution) the spread pilot signal from the spreader 936 with the filter coefficients, the channel estimate and the cancellation factor at chipx 8. If the convolution has 64 samples (8 groups of 8 samples each), after decimation by 8, the reconstruction filtering module 930 is an 8-tap filter and filters only 8 samples. This embodiment may reduce the complexity of the pilot interference estimator 906.
The reconstruction filter table 938 stores a set of pre-computed filter coefficients that represent the estimated transmit pulse phiTX(t) (from transmit filters 352a, 352b of FIG. 3) and receive filter φ of receiver 252 in FIG. 2RX(t) (e.g., a low pass filter). Transmit pulse phi used by transmit filters 352a, 352b of terminal 106TX(t) may be known or estimated by finger processor 900 at base station 104. Transmit pulse phiTX(t) may be defined by the mobile phone manufacturer or a standard such as IS-95, CDMA2000, etc. Receiving filter function phiRX(t) ideally may be the Matched Filter (MF) of transmit filter 352 in FIG. 3, but it is not possible for the actual receive filter to matchThe transmit filter 352 is perfectly matched. The receive filter function phi may be set when manufacturing the base station receiverRX(t)。
In one configuration, the convolution is sampled at the highest sampling rate (maximum resolution of finger time offsets) in the finger processor 900, e.g., chipx8, such that the filter table 938 includes a plurality of filter tables, e.g., 8 filter tables, where the ith filter table corresponds to the chip-level sampling of the initial chipx8 autocorrelation function phi at time offset i, where i is 0, 1, 2. Each filter table may have 2M +1 tap entries and each entry may have 16 bits. In one embodiment, M is selected to be greater than or equal to two to reduce performance loss (if M is 2, then 2M +1 is 5). The filter table may specify chip times of 5-13 chipx1 (where M is 2-6, 2M +1 is 5-13), or 33-97 chipx8 times (where M is 2-6, 2M (8) +1 is 33-97). In one embodiment, multiple finger processors 900 may use the same filter table 938.
In one embodiment, the second multiplier 932 of each finger processor 900 may be offset by the correct time tmTwo such filter tables (designated for finger processor 900) are accessed to reconstruct chipx2 pilot samples, one table for even samples and one table for odd samples. A second multiplier 932 provides the scaled channel estimate h for each segment from the first multiplier 926mThe coefficients are multiplied by each filter tap (pre-calculated filter coefficient) of the two selected filter tables. The second multiplier 932 outputs each segment filter tap coefficient (e.g., in chipx2) to the pilot reconstruction filtering module 930.
In one embodiment, if the output of the pilot reconstruction filtering module 930 provides samples at chipx2, a separate resampler may not be needed in the pilot interference estimator 906. The reconstruction filtering module 930 may change the chip rate to the sample rate.
The pilot channelizer 934 and spreader 936 in fig. 9 can be the same as the pilot channelizer 532 and spreader 53 in fig. 54 operate in a similar manner, except that extender 936 in fig. 9 receives the extended sequence p for the current segment "nm. In contrast, as described in conjunction with fig. 5 and 6A above, spreader 534 in fig. 5 receives the spread sequence S of the next segmentm(k + N). The spreader 936 in FIG. 9 receives the spread sequence p for the current segment "nmAnd provides the spread pilot signal (e.g., complex PN sequence chips) for the current segment "n" instead of the next segment "n + 1". Thus, finger processor 900 of fig. 9 reconstructs the pilot interference for the current segment "n". There may be a short delay between the reconstruction of the current segment "n" from the multiple finger processors and the accumulated pilot interference, the accumulated reconstructed pilot interference for the current segment "n" is subtracted from the data samples for the current segment "n". This approach (canceling the accumulated reconstructed pilot interference for the current segment "n" of data samples from the current segment "n") may provide more reliable/accurate pilot interference cancellation, particularly for channels that vary rapidly over time.
The pilot channelizer 934 may receive a complex channelization code with I and Q components. Spreader 936 may receive a complex PN sequence with four possible values +/-1 or +/-i. The pilot channelizer 934 and spreader 936 may generate additional chips on each side of the current segment "n" to assist in the filtering by the pilot reconstruction filtering module 930.
The pilot reconstruction filtering module 930 performs the actual filtering, i.e., performs the convolution of the product of the filter table coefficients phi (t), the cancellation factor, and the channel estimate with the spread pilot signal (e.g., PN sequence) from the spreader 936. For example, the pilot reconstruction filtering module 930 may include two 5-tap filters, a 9-tap filter, or a 13-tap filter of chipx 1. Each filter may have 2M +1 taps. The filtering provided by the pilot reconstruction filtering block 930 may reduce the impact of ICI (interference within the chips).
The pilot reconstruction filtering module 930 may reconstruct a segment of the user time-aligned pilot signal at chipx2 resolution and provide chipx2 pilot samples. In another embodiment, pilot reconstructionThe filtering module 930 filters the PN sequence oversampled with chipx8 and the resamplers (between the pilot reconstruction filtering module 930 and the buffer 928) extract the chipx8 samples from the pilot reconstruction filtering module 930 into chipx2 with a given phase, i.e. from 0 to 7 (depending on the offset t) depending on the offset tm) The sampling is started. The samples are then stored in a buffer 928.
The pilot reconstruction filtering module 930 outputs the reconstructed pilot interference signal(n) pilot samples comprising estimates of multipath assigned to the finger processor 900. The pilot reconstruction filtering module 930 may include a phase derotator or phase corrector, particularly if the despreader 910 includes a phase rotator that compensates for frequency offset.
Pilot interference accumulation buffer
The pilot interference accumulation buffer 928 stores and accumulates the reconstructed pilots from the pilot reconstruction filtering module 930 at the correct time offset. For example, pilot interference accumulation buffer 928 may be a cyclic Random Access Memory (RAM). In one configuration, there may be a separate pilot interference accumulation buffer 928 for storing and accumulating reconstructed pilot samples with different time offsets from multiple pilot reconstruction filtering modules 930 of multiple finger processors 900. A single interference accumulation buffer may use less memory and other resources than embodiments with multiple interference accumulation buffers in multiple finger processors.
Pilot interference accumulation buffer 928 may have the same resolution as sample buffer 908. For example, pilot interference accumulation buffer 928 may operate at chipx2 resolution, i.e., at a 2x chip rate. If each segment is 512 chips in length, pilot interference accumulation buffer 928 may store at least 2 segments, i.e., 512 chips/segment x2 samples/chip — 1024 pilot samples, which are generated from pilot reconstruction filtering module 930. Pilot interference accumulation buffer 928 of at least 2 segments in length may store overlapping portions of previous pilot samples. Pilot interference accumulation buffer 928 may be implemented in other sizes. Other sample rates may be used for pilot interference accumulation buffer 928, such as 3/2 or 4/3x chip rate.
After finger processor 900 completes reconstructing the pilot, interference accumulation buffer 928 contains the entire pilot interference estimate. A summer 916 in each finger processor 900 then subtracts the contents of the interference accumulation buffer sample-wise (sample-wise) from the received signal (from sample buffer 908) to provide data samples without pilots to data demodulation element 904 (from interference accumulation buffer 928).
The complexity reduction using a separate interference accumulation buffer can be achieved by making the reconstructed pilot independent of the multipath (user) arrival time. For example, the reconstructed pilot may be generated chipx2 and time aligned with the system. In this way, the reconstructed pilot can be independent of multipath (user) arrival times. The reconstructed pilot provided by the interference accumulation buffer 928 may be directly subtracted from the received signal provided by the sample buffer 908 based on system time, e.g., via burst subtraction, without regard to finger or user time, i.e., without resampling. This eliminates the need for a resampler, such as resampler 540 in finger processor 410 in fig. 5.
Time snapshot (Snapshot)
Fig. 11 shows an example of a time snapshot of two finger processors 900 (fig. 9), the two finger processors 900 having different multipath time offsets t1And t2. The second finger processor has a shorter time offset than the first finger processor. As shown by lines 1112 and 1114, the two finger processors perform pilot demodulation, pilot reconstruction, and data demodulation for the segment sequences "n-1", "n-2", and "n-3", while receiver 252 (FIG. 4) writes the next segment "n + 1" into sample buffer 908 (FIG. 9) with the receiver (Rx) write pointer. Bottom line 1116 in FIG. 11 represents real-time segments "n-5", "n-4", "n-3", "n-2",n-1 "," n +1 ", etc. Segment "n" represents the current segment. The fragment "n-1" represents the previous fragment. The fragment "n + 1" represents the next fragment. Each "segment" may have a time of, for example, 512 chips. Each "chip" may correspond to, for example, 100 processor clock cycles.
When the receiver 252 (fig. 4) begins writing the next segment "n + 1" into the sample buffer 908, one or more previous segments, e.g., "n-1" and "n", are stored in the sample buffer 908 (by previous write operations) and are available for processing by both finger processors. The time delay offset t of each finger processor shifts the start and end data samples to the right for pilot demodulation of segment "n-1", as shown in fig. 11. Thus, when segment "n + 1" is written to the sample buffer 908, the first and second finger processors demodulate the pilot of segment "n-1" with some data samples from segment "n-1" and some data samples from segment "n". In this embodiment, the first and second finger processors may not be able to demodulate the pilot of segment "n" when writing segment "n + 1" to the sample buffer 908, since both finger processors would need data samples from segment "n" and segment "n + 1" (due to the finger processors' time offset t)1And t2Caused) while the segment "n + 1" has not yet been written to the sample buffer 908.
Fig. 11 shows a small delay of data demodulation because the pilot of the current segment "n" is reconstructed and cancelled, unlike the estimated pilot interference of the next segment "n + 1" described above with reference to fig. 5. More accurate channel estimation and better Pilot Interference Cancellation (PIC) gain can be achieved using the finger processor of the time line of fig. 11.
Fig. 12A is a flow chart summarizing the pilot interference process described above in connection with fig. 9-11 for deriving and accumulating multiple multipaths. In block 1200, a plurality of finger processors 900 obtain channel signal strength estimates and noise estimates. In block 1202, the finger processor 900(a) selects a cancellation factor based on the channel signal strength estimate and the noise estimate and (b) multiplies the channel estimate by the selected cancellation factor. In block 1204, the finger processor 900 multiplies the product of the channel estimate and the selected cancellation factor by a reconstruction filter table 930. In block 1206, the finger processor 900 performs reconstruction filtering to generate pilot samples. In block 1208, a single accumulation buffer 928 stores reconstructed pilot samples from multiple finger processors 900, e.g., in chipx8 or chipx 2. In block 1210, the accumulated reconstructed pilot samples are subtracted from the data samples of the plurality of finger processors to perform data demodulation.
Fig. 12B is a flow diagram of another embodiment of a process for accumulating pilot interference for a number of multipaths, wherein filtering and pilot interference accumulation are switched in sequence as compared to fig. 12A. In block 1250, the plurality of finger processors 900 obtain channel signal strength estimates and noise estimates. In block 1252, the finger processor 900(a) selects a cancellation factor based on the channel signal strength estimate and the noise estimate and (b) multiplies the channel estimate by the selected cancellation factor. In block 1254, the finger processor 900 reconstructs the pilot samples using the product of the channel estimate and the selected cancellation factor. In block 1256, a single accumulation buffer 928 stores the reconstructed pilot samples from the multiple finger processors 900, e.g., in chipx8 or chipx 2. In block 1258, a separate reconstruction filter module filters the pilot samples from accumulation buffer 928 by. 1260, the accumulated reconstructed pilot samples are subtracted from the data samples from the multiple finger processors to perform data demodulation.
In fig. 12B, filtering is performed after accumulating reconstructed pilot interference samples from multiple finger processors 900 and before subtracting pilot interference from the data samples. Each finger processor 900 will not necessarily perform filtering. This may reduce the complexity of each finger processor 900.
Equation of
Actual total pilot interference of received Reverse Link (RL) signalsInterference signalThe (complex value) can be expressed as:
img id="idf0009" file="A20058002675000432.GIF" wi="334" he="42" img-content="drawing" img-format="GIF"/
where n represents a segment of the received signal (e.g., the sample rate of n may be chip rate x 2);
k is the total number of users or terminals contributing to the segment n of the received signal;
l is the total number of multipaths contributing to the segment n of the received signal;
i refers to a time index;
is the estimated complex channel coefficient of the 1 st path of the kth user;
complex PN sequence p and pilot channel code C equal to kth userpilotThe product of (a); since the pilot channelization code C is used in some CDMA systems, such as CDAM2000pilotIs a string 1, soIs equal to the complex PN sequence p of the kth user;
phi is the transmit pulse phiTX(from filters 352a, 352b in FIG. 3) and receiver filter φRXConvolution of (receiver 252 in fig. 2) (fig. 14), e.g., a low pass filter; as described above, in one embodiment, the convolution may be chipx8 resolution;
Tsis the sampling period;
n is the number of samples per chip; and
τl kis the path delay of the 1 st path of the kth user.
A rake receiver with multiple M finger processors 900 (fig. 9) may obtain an overall reconstructed pilot interference signal (also referred to as a pilot interference "replica" or "estimate") as:
img id="idf0013" file="A20058002675000444.GIF" wi="318" he="42" img-content="drawing" img-format="GIF"/
where M is the total number of finger processors processing multipath;
is the estimated complex channel coefficient of the mth finger processor;
is the complex PN sequence used by the mth finger processor; and
is the estimated path delay of the mth finger.
Total reconstructed pilot interference signalCan be expressed as a single reconstructed pilot interference signal obtained by each finger processor 900And (3) the sum:
img id="idf0019" file="A200580026750004410.GIF" wi="121" he="42" img-content="drawing" img-format="GIF"/
each reconstructed pilot interference signal obtained by the finger processor 900 may be represented as:
img id="idf0020" file="A200580026750004411.GIF" wi="307" he="39" img-content="drawing" img-format="GIF"/
if the estimated complex channel coefficients are assumedConstant over a segment, the above equation can be written as:
img id="idf0022" file="A20058002675000451.GIF" wi="288" he="39" img-content="drawing" img-format="GIF"/
img id="idf0023" file="A20058002675000452.GIF" wi="87" he="28" img-content="drawing" img-format="GIF"/
whereinIs the reconstructed MF (matched filter) sample of the complex number of the mth finger. Estimated complex channel coefficientsMay be provided by multiplier 926 of fig. 9, and(n) may be provided by multiplier 932, pilot channelizer 934, spreader 936, and pilot reconstruction filtering module 930 in fig. 9.
In other embodiments, the order shown in FIG. 9 may be changed. A variation of the process shown in FIG. 9 may process the pulse shapes of φ (t) and the I and QPN sequences p to generate I and Q reconstructed samples(n) of (a). Then using complex channel estimationMultiplying the I and Q components by the I reconstructed sample(n) of (a). Similarly, using complex channel estimationMultiplying the I and Q components of (a) by the Q reconstructed samples(n) of (a). Then, for I and Q(n) the sampling performs an arbitrary phase rotation. Then, the selected cancellation factor α can be usedmMultiplied by I and Q(n) samples and accumulates in accumulation buffer 928. In this way, the cancellation factor α may be applied after filtering (for the output of the filtering module 930) rather than before filtering (FIG. 9)m。
Multiple antennas
Fig. 13A is a block diagram of a receiver 252 (fig. 2) with multiple antennas 250A-250L, e.g., 12 antennas, and a demodulator 254 with multiple interference accumulation buffers 928A-928L (fig. 9), e.g., 12 interference accumulation buffers. Each interference accumulation buffer 928 stores the reconstructed pilots for a different antenna 250.
Fig. 13B is a block diagram of a receiver 252 (fig. 2) with multiple antennas 250A-250L, e.g., 12 antennas, and a demodulator 254 with a separate interference accumulation buffer 928, the interference accumulation buffer 928 storing reconstructed pilots for some or all of the antennas 250A-250L. In this embodiment, the finger processor 900 reconstructs all pilot interference for one antenna 250 and stores the pilot interference in the interference accumulation buffer 928. Finger processor 900 then reconstructs all pilots for the other antenna by shifting the PN sequence (and may have some additional processing) and stores the pilot interference in interference accumulation buffer 928. The finger processor 900 continues processing until all pilots from some or all of the antennas 250 are reconstructed and stored in the interference accumulation buffer 928. The reconstructed pilots are aligned to system time and stored in a separate interference accumulation buffer 928. This embodiment may reduce memory requirements by a factor of 6-12 by using a separate interference accumulation buffer 928.
The pilot interference cancellation techniques described herein may provide significant improvements in performance. As described above, the pilot-to-total channel interference I transmitted by each terminal on the reverse linkoContribution mode and background noise NoThe same is true. The pilots transmitted from all terminals may represent a major portion of the total interference level seen by all terminals and the base station. Which results in a low signal-to-total noise and interference ratio (SNR) for each individual terminal. In fact, in a cdma2000 system operating at near capacity (which supports pilots on the reverse link), it can be estimated that about half of the interference seen at the base station may be due to pilots from the transmitting terminals. The cancellation or reduction of multi-terminal or multi-path pilot interference may improve the SNR for each individual terminal, which may allow each terminal to transmit at a lower power level and still achieve the desired decoding performance. As such, Pilot Interference Cancellation (PIC) increases reverse link capacity, which allows higher data rates (e.g., 30% -35% increase in data rate) from existing terminals, or allows more terminals or users (e.g., 10% -15% increase in users) to be added to a wireless communication system (e.g., a base station service area).
The techniques for estimating and canceling pilot interference described herein may be applied in various wireless communication systems that transmit pilot along with data. For example, the techniques may be used for various CDMA systems (e.g., IS-95, CDMA2000, CDMA 20001 xEV-DV, CDMA 20001 xEV-DO, WCDMA, TD-SCDMA, TS-CDMA, etc.), Personal Communication Services (PCS) systems (e.g., ANSI J-STD-008), and other wireless communication systems. The techniques described herein may be used to estimate and cancel pilot interference where multiple instances (multipaths) of each of one or more transmitted signals are received and processed (e.g., by a rake receiver or some other demodulator), as well as where multiple transmitted signals are received and processed.
Aspects and embodiments of the reverse link in cdma2000 have been described for simplicity. The pilot interference cancellation techniques described herein may also be used for the forward link from the base station to the terminal. The processing by the demodulator is determined based on the particular CDMA standard and inventive technique being supported for the forward link or reverse link. For example, "despreading" with spreading sequences in IS-95 and CDMA2000 IS equivalent to "descrambling" with scrambling sequences in W-CDMA, and channelization with Walsh codes or quasi-orthogonal functions (QOFs) in IS-95 and CDMA2000 IS equivalent to "despreading" with OVSF codes in W-CDMA. Typically, the processing performed by the demodulator at the receiver is complementary to the processing performed by the modulator at the transmitter unit.
For the forward link, the techniques described herein may also be used to approximately cancel other pilots in addition to, or possibly in lieu of, possible transmissions of "common" pilots to all terminals in the cell. For example, cdma2000 supports "transmit diversity" pilots and "auxiliary" pilots. These other pilots may utilize different walsh codes (i.e., different channelization codes, which may be quasi-orthogonal functions). The pilots may also use different data patterns. To process any of these pilots, the despread samples are recovered with the same walsh code used to channelize the pilot at the base station and are also correlated (i.e., multiplied and accumulated) with the same pilot data pattern used for the pilot at the base station. Transmit diversity pilots and/or auxiliary pilots in addition to the common pilot may be estimated and cancelled.
Similarly, W-CDMA supports a number of different pilot channels. First, a common pilot channel (CPICH) may be transmitted on a primary base station antenna. Second, a diversity CPICH may be generated based on the non-zero pilot data and transmitted on a diversity antenna of the base station. Third, one or more secondary CPICHs may be transmitted in a defined portion of the cell, and each secondary CPICH is generated using a non-zero channelization code. Fourth, the base station may also transmit a dedicated pilot to a particular user using the same channelization code as the user's data channel. In this case, the pilot symbols are time division multiplexed with the data symbols for that user. Thus, those skilled in the art will appreciate that the techniques described herein may be used to process all of the above different types of pilot channels, as well as other pilot channels that may also be transmitted in a wireless communication system.
Demodulator 254 (fig. 2) and other processing units that may be used to implement aspects and embodiments may be implemented in hardware, software, firmware, or combinations thereof. For a hardware design, the demodulator (including data demodulation units and elements for pilot interference estimation and cancellation, such as a pilot estimator and a pilot interference estimator) and may be implemented in one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Field Programmable Gate Arrays (FPGAs), processors, microprocessors, controllers, micro-controllers, Programmable Logic Devices (PLDs), other electronic units, or any combination thereof.
For a software implementation, the elements used for pilot interference estimation and cancellation and data demodulation may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit (e.g., memory 262 in fig. 2) and executed by a processor (e.g., controller 260). The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.
The elements used to implement pilot interference estimation and cancellation as described herein may be incorporated in a receiver unit or demodulator, which may also be incorporated in a terminal (e.g., handset, handheld unit, stand-alone unit, etc.), base station, or some other communication device or unit. The receiver unit or demodulator may be implemented with one or more integrated circuits.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (56)
1. A receiver unit configured to receive a wireless signal comprising at least first and second signal instances, each signal instance comprising data and a pilot signal, the receiver unit comprising:
a processor configured to:
determining a first channel estimate for the first signal instance;
estimating a first pilot for the first signal instance using the first channel estimate and an extended pilot signal associated with the first signal instance;
determining a second channel estimate for the second signal instance; and
estimating a second pilot for the second signal instance using the second channel estimate and an extended pilot signal associated with the second signal instance; and
a buffer configured to accumulate the estimated first and second pilots, the processor configured to subtract the accumulated estimated first and second pilots from the received signal to estimate a received signal with cancelled pilots, the processor configured to use the estimated received signal with cancelled pilots to demodulate data of the first signal instance.
2. The receiver unit of claim 1, wherein the wireless signal comprises a Code Division Multiple Access (CDMA) signal.
3. The receiver unit of claim 1, configured to receive the first and second signal instances from first and second remote terminals, respectively.
4. The receiver unit of claim 1, wherein the first and second signal instances are multipath components of a signal from a remote terminal.
5. The receiver unit of claim 1, wherein the buffer is further configured to accumulate (a) first pilots estimated from a first estimated time offset of the first signal instance and (b) second pilots estimated from a second estimated time offset of the second signal instance.
6. The receiver unit of claim 1, further comprising a sample buffer configured to store the wireless signal at a sample rate equal to a multiple of a chip rate of the wireless signal.
7. The receiver unit of claim 6, wherein a sampling rate of the sample buffer is equal to a sampling rate of the buffer accumulating the estimated pilot.
8. The receiver unit of claim 1, wherein each spread pilot signal comprises a pilot signal spread with a Pseudorandom Noise (PN) sequence.
9. The receiver unit of claim 1, wherein the first channel estimate, the extended pilot signal associated with the first signal instance, and the first estimated pilot correspond to a segment of the received signal that includes data samples for a time segment of the received signal.
10. The receiver unit of claim 1, wherein the processor is further configured to:
determining a first noise estimate for the first signal instance;
deriving a cancellation factor α based on the first channel estimate and the first noise estimate;
multiplying the first channel estimate by the cancellation factor to produce a weighted channel estimate; and
estimating the first pilot of the first signal instance using the weighted channel estimate and the spread pilot signal associated with the first signal instance.
11. The receiver unit of claim 10, wherein the cancellation factor α is derived from:
img id="icf0001" file="A2005800267500003C1.GIF" wi="165" he="73" img-content="drawing" img-format="GIF"/
where h is the first channel estimate, NtIs the first noise estimate, and N is h and N used to estimate the first signal instancetThe number of samples of (a).
12. The receiver unit of claim 10, wherein the cancellation factor ranges from 0 to 1.0.
13. The receiver unit of claim 10, wherein the cancellation factor ranges from 0 to a value greater than 1.0.
14. The receiver unit of claim 10, further comprising a look-up table having sets of channel estimates and noise estimates corresponding to cancellation factors.
15. The receiver unit of claim 1, wherein the processor is further configured to:
multiplying the first channel estimate by a convolution of a transmit pulse and a receive filter function; and
performing a convolution on (a) the extended pilot signal associated with the first signal instance and (b) a product of a convolution of the transmit burst and the receive filter function and the first channel estimate to estimate the first pilot of the first signal instance.
16. The receiver unit of claim 15, wherein the transmit pulse is defined using a Code Division Multiple Access (CDMA) standard.
17. The receiver unit of claim 15, wherein the processor is configured to downsample a rate of at least one of (a) and (b) to match a rate of the buffer: (a) convolution of the transmit pulse and the receive filter function, and (b) convolution of (i) and (ii): (i) an extended pilot signal associated with the first signal instance and (ii) a product of a convolution of the transmit pulse and the receive filter function and the first channel estimate.
18. The receiver unit of claim 15, wherein the processor is configured to upsample a rate of at least one of (a) and (b) to match a rate of the buffer: (a) convolution of a predetermined transmit pulse with the receive filter function, and (b) convolution of (i) and (ii): (i) the extended pilot signal associated with the first signal instance and (ii) a product of a convolution of the predetermined transmit pulse and the receive filter function and the first channel estimate.
19. The receiver unit of claim 15, wherein the processor is configured to:
decimating samples of the convolution of the predetermined transmit pulse and the receive filter function according to a phase associated with an estimated time offset of the first signal instance;
multiplying the first channel estimate by the decimated samples of the convolution of the predetermined transmit pulse and the receive filter function; and
performing a convolution of the extended pilot signal associated with the first signal instance and a product of the first channel estimate and the decimated samples to estimate the first pilot of the first signal instance.
20. The receiver unit of claim 15, further comprising a polyphase finite impulse response Filter (FIR) configured to:
decimating samples of the convolution of the predetermined transmit pulse and the receive filter function according to a phase associated with an estimated time offset of the first signal instance;
multiplying the first channel estimate by the decimated samples of the convolution of the predetermined transmit pulse and the receive filter function; and
performing a convolution of the extended pilot signal associated with the first signal instance and a product of the first channel estimate and the decimated samples to estimate the first pilot of the first signal instance.
21. The receiver unit of claim 15, further comprising a filter table of predetermined filter coefficients corresponding to a plurality of different phases, the processor configured to select a phase and a corresponding filter coefficient based on the estimated time offset of the first signal instance.
22. The receiver unit of claim 1, wherein the processor is further configured to filter the estimated received signal with the cancelled pilot by a convolution of a predetermined transmit pulse and a receive filter function.
23. The receiver unit of claim 1, wherein the processor is configured to determine the first channel estimate and estimate the first pilot of the first signal instance using the first channel estimate and an extended pilot signal associated with the first signal instance, and to simultaneously determine the second channel estimate and estimate the second pilot of the second signal instance using the second channel estimate and an extended pilot signal associated with the second signal instance.
24. The receiver unit of claim 1, wherein the processor is configured to estimate pilots for multiple signal instances in a time division multiplexed manner.
25. A communication system, comprising:
a base station configured to receive a wireless signal including at least first and second signal instances, each signal instance including data and a pilot signal, the base station comprising:
a processor configured to:
determining a first channel estimate for the first signal instance;
estimating a first pilot for the first signal instance using the first channel estimate and an extended pilot signal associated with the first signal instance;
determining a second channel estimate for the second signal instance; and
estimating a second pilot for the second signal instance using the second channel estimate and an extended pilot signal associated with the second signal instance; and
a memory configured to accumulate the estimated first and second pilots, the processor configured to subtract the accumulated estimated first and second pilots from the received signal to estimate a received signal with cancelled pilots, the processor configured to use the estimated received signal with cancelled pilots to demodulate data of the first signal instance.
26. The communication system of claim 25, wherein the processor is further configured to:
multiplying the first channel estimate by a convolution of a predetermined transmit pulse and a receive filter function; and
performing a convolution on (a) an extended pilot signal associated with the first signal instance and (b) a product of a convolution of the predetermined transmit pulse and the receive filter function and the first channel estimate to estimate the first pilot of the first signal instance.
27. The communication system of claim 25, wherein the base station comprises a plurality of antennas and a plurality of buffers in the memory, each buffer configured to accumulate an estimated pilot for the signal instance received by one of the plurality of antennas.
28. The communication system of claim 25, wherein the base station includes a plurality of antennas, the memory having a separate buffer configured to accumulate estimated pilots of the signal instances received by the plurality of antennas.
29. The communication system of claim 25, wherein the base station comprises X antennas and Y buffers in the memory, X being greater than Y, wherein at least one buffer is configured to accumulate estimated pilots for signal instances received by two or more antennas.
30. A receiver unit, comprising:
means for receiving a wireless signal comprising at least first and second signal instances, each signal instance comprising data and a pilot signal;
means for determining a first channel estimate for the first signal instance;
means for obtaining a product of a convolution of a predetermined transmit pulse with a receive filter function and the first channel estimate;
means for estimating a first pilot of the first signal instance using a product of the first channel estimate and the convolution;
means for determining a second channel estimate for the second signal instance;
means for obtaining a product of the convolution of the predetermined transmit pulse with the receive filter function and the second channel estimate;
means for estimating a second pilot for the second signal instance using a product of the second channel estimate and the convolution;
means for accumulating the estimated first and second pilots; and
means for subtracting the accumulated estimated first and second pilots from the received signal to obtain an estimated received signal with cancelled pilots.
31. A method, comprising:
receiving a wireless signal comprising at least first and second signal instances, each signal instance comprising data and a pilot signal;
determining a first channel estimate for the first signal instance;
obtaining a product of a convolution of a predetermined transmit pulse and a receive filter function and the first channel estimate;
estimating a first pilot of the first signal instance using a product of the first channel estimate and the convolution;
determining a second channel estimate for the second signal instance;
obtaining a product of the convolution of the predetermined transmit pulse with the receive filter function and the second channel estimate;
estimating a second pilot for the second signal instance using a product of the second channel estimate and the convolution;
accumulating the estimated first and second pilots; and
subtracting the accumulated estimated first and second pilots from the received signal to obtain an estimated received signal with cancelled pilots.
32. The method of claim 31, wherein receiving the wireless signal comprises receiving the first and second signal instances from first and second terminals.
33. The method of claim 31, wherein each signal instance has an estimated time offset due to a transmission path of the signal instance.
34. The method of claim 31, wherein the wireless signal comprises a Code Division Multiple Access (CDMA) signal.
35. The method of claim 31, wherein the wireless signal is transmitted from a terminal to a base station.
36. The method of claim 31, wherein the wireless signal is transmitted from a base station to a terminal.
37. The method of claim 31, further comprising buffering the received wireless signal at a sampling rate equal to a multiple of a chip rate.
38. The method of claim 31, wherein determining the first channel estimate for the first signal instance comprises:
despreading samples of the received signal with a spreading sequence associated with the first signal instance to provide despread samples;
de-channelizing the despread samples with a pilot channelization code to provide pilot symbols; and
filtering the pilot symbols to provide the first channel estimate.
39. The method of claim 31, wherein the step of determining the first channel estimate for the first signal instance uses a first segment of data samples from the received signal, the first estimated pilot corresponding to the first segment of data samples.
40. The method of claim 39, wherein the first segment comprises data samples for a time segment of the received signal.
41. The method of claim 31, further comprising:
determining a noise estimate for the first signal instance;
deriving a cancellation factor based on the first channel estimate and a noise estimate of the first signal instance;
multiplying the first channel estimate by the cancellation factor to produce a weighted channel estimate; and
estimating the first pilot of the first signal instance using the weighted channel estimate and an extended pilot signal associated with the first signal instance.
42. The method of claim 41, wherein the cancellation factor α is derived using the following equation:
img id="icf0002" file="A2005800267500009C1.GIF" wi="162" he="73" img-content="drawing" img-format="GIF"/
where h is the first channel estimate, NtIs the noise estimate, and N is h and N used to estimate the first signal instancetThe number of samples of (a).
43. The method of claim 31, further comprising:
decimating samples of the convolution of the predetermined transmit pulse and the receive filter function according to a phase associated with an estimated time offset of the first signal instance;
multiplying the first channel estimate by the decimated samples of the convolution of the predetermined transmit pulse and the receive filter function; and
performing a convolution of the first channel estimate with a product of the decimated samples and an extended pilot signal to estimate the first pilot of the first signal instance.
44. The method of claim 31, further comprising:
selecting a phase based on the estimated time offset of the first signal instance;
retrieving predetermined filter coefficients using the selected phase, the predetermined filter coefficients corresponding to a convolution of the predetermined transmit pulse and the receive filter function; and
multiplying the first channel estimate by the retrieved filter coefficients.
45. The method of claim 31, wherein the step of estimating the first pilot of the first signal instance using the product of the first channel estimate and the convolution comprises performing a convolution of (a) the product of the channel estimate and the convolution, and (b) an extended pilot signal associated with the first signal instance.
46. The method of claim 45, wherein the first channel estimate, the extended pilot signal associated with the first signal instance, and the first estimated pilot correspond to a first segment of the received signal, the first segment including data samples for a time segment of the received signal.
47. The method of claim 45, wherein a phase of the spread pilot signal associated with the first signal instance corresponds to a time of arrival of the first signal instance.
48. The method of claim 31, further comprising demodulating data of the first signal instance using the estimated received signal of the canceled pilot.
49. The method of claim 48, wherein demodulating the data of the first signal instance using the estimated receive signal with the cancelled pilot comprises:
despreading samples of the estimated received signal with the first signal instance to provide despread samples;
de-channelizing the despread samples with a data channelization code to provide data symbols; and
demodulating the data symbols with the first channel estimate for the first signal instance to provide demodulated data for the first signal instance.
50. The method of claim 31, wherein determining the first channel estimate, obtaining a product of the first channel estimate and the convolution, and using the product to estimate the first pilot for the first signal instance occurs substantially simultaneously with determining the second channel estimate, obtaining a product of the second channel estimate and the convolution, and using the product to estimate the second pilot for the second signal instance.
51. The method of claim 31 wherein said determining said first channel estimate, deriving a product of said first channel estimate and said convolution, and using said product to estimate said first pilot for said first signal instance, and determining said second channel estimate, deriving a product of said second channel estimate and said convolution, and using said product to estimate said second pilot for said second signal instance occur in a time multiplexed manner.
52. The method of claim 31, wherein accumulating the estimated first and second pilots comprises accumulating (a) first pilots estimated from a first estimated time offset of the first signal instance and (b) second pilots estimated from a second estimated time offset of the second signal instance.
53. The method of claim 31, wherein accumulating the estimated first and second pilots occurs at a predetermined sampling rate equal to a sampling rate of the received signal.
54. The method of claim 53, wherein the sampling rate is a multiple of a chip rate.
55. A method, comprising:
receiving a wireless signal comprising at least first and second signal instances, each signal instance comprising data and a pilot signal;
determining a first channel estimate for the first signal instance;
estimating a first pilot of the first signal instance using the first channel estimate;
determining a second channel estimate for the second signal instance;
estimating a second pilot for the second signal instance using the second channel estimate;
accumulating the estimated first and second pilots;
filtering the accumulated estimated first and second pilots with a convolution of a predetermined transmit pulse and a receive filter function; and
subtracting the filtered accumulated estimated first and second pilots from the received signal to obtain an estimated received signal with cancelled pilots.
56. A method, comprising:
receiving a wireless signal comprising at least first and second signal instances, each signal instance comprising data and a pilot signal;
processing (a) a convolution of a predetermined transmit pulse and receive filter function and (b) an extended pilot signal associated with the first signal instance to generate reconstructed pilot samples for the first signal instance;
determining a first channel estimate for the first signal instance;
multiplying the reconstructed pilot samples by the first channel estimate to obtain a first pilot estimate for the first signal instance;
processing (a) the convolution of the predetermined transmit pulse and receive filter function and (b) the extended pilot signal associated with the second signal instance to generate reconstructed pilot samples for the second signal instance;
determining a second channel estimate for the second signal instance;
multiplying the reconstructed pilot samples of the second signal instance by the second channel estimate to obtain a second pilot estimate of the second signal instance;
accumulating the first and second pilot estimates; and
subtracting the accumulated first and second pilot estimates from the received signal to obtain an estimated received signal with the pilot removed.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/584,527 | 2004-06-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1112334A true HK1112334A (en) | 2008-08-29 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8644264B2 (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| JP4383850B2 (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| JP4659828B2 (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| US6570909B1 (en) | Interference suppression in a CDMA receiver | |
| US20050013350A1 (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| EP1305892B1 (en) | Method and apparatus for multipath parameter estimation in spread-spectrum communications systems | |
| EP1105977B1 (en) | Adaptive receiver for multipath propagation in a cdma communication system | |
| KR100263801B1 (en) | Pilot interference cancellation for a coherent wireless code division multiple access receiver | |
| EP1305890B1 (en) | Multipath parameter estimation in spread-spectrum communications systems | |
| EP1305891B1 (en) | Method and apparatus for multipath signal compensation in spread-spectrum communications systems | |
| US6009089A (en) | Pilot interference cancellation for a coherent wireless code division multiple access receiver | |
| US6363106B1 (en) | Method and apparatus for despreading OQPSK spread signals | |
| KR20030040547A (en) | Method and apparatus for canceling pilot interference in a cdma communication system | |
| KR100901669B1 (en) | Method and apparatus for canceling pilot interference in wireless communication system | |
| HK1112334A (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| JP2000216703A (en) | Error estimation apparatus for direct-sequence reception data and direct-sequence reception apparatus | |
| US20030235237A1 (en) | Spread-spectrum channel searcher and method for accelerating searching in a CDMA receiver | |
| HK1106630A (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| JPH10308690A (en) | Interference cancellation receiver | |
| HK1067251B (en) | Method and apparatus for canceling pilot interference in a wireless communication system | |
| HK1067251A1 (en) | Method and apparatus for canceling pilot interference in a wireless communication system |