METHOD AND APPARATUS FOR DERIVING
A CHANNEL IMPULSE RESPONSE ESTIMATE
FORA WIRELESS CHANNEL
[0001] The present application claims priority to provisional U.S. Application Serial No. 60/737,454, entitled "LMMSE Based Methods for Improvement of Channel Impulse Response Estimates in a WCDMA Downlink," filed November 15, 2005, assigned to the assignee hereof and incorporated herein by reference.
BACKGROUND
I. Field
[0002] The present disclosure relates generally to communication, and more specifically to techniques for deriving a channel estimate for a wireless channel.
II. Background
[0003] In a wireless communication system, a transmitter typically processes (e.g., encodes, interleaves, and symbol maps) traffic data to generate data symbols, which arc modulation symbols for data. For a coherent system, the transmitter multiplexes pilot symbols with the data symbols, processes the multiplexed data and pilot symbols to generate a radio frequency (RF) signal, and transmits this RF signal via a wireless channel. The wireless channel distorts the transmitted RF signal with a channel response and further degrades the signal with noise and interference. [0004] A receiver receives the transmitted RF signal and processes the received RF signal to obtain input samples. For coherent data detection, the receiver estimates the response of the wireless channel based on the received pilot and derives a channel estimate. The receiver then performs data detection (e.g., equalization) on the input samples with the channel estimate to obtain symbol estimates, which are estimates of the data symbols transmitted by the transmitter. The receiver then processes (e.g., demodulates, deinterleaves, and decodes) the symbol estimates to obtain decoded data. [0005] The quality of the channel estimate may have a large impact on data detection performance and may affect the quality of the symbol estimates as well as the reliability of the decoded data. There is therefore a need in the art for techniques to derive a high quality channel estimate in a wireless communication system.
SUMMARY
[0006] Techniques for deriving a channel impulse response estimate (CIRE) having improved quality are described herein. A CIRE is an estimate of a time-domain response of a communication channel. A CIRE may be given by a set of channel taps . |0007] In one aspect, a CIRE is derived by scaling channel taps, e.g., based on a point-wise linear minimum mean square error (LMMSE) technique. An initial CIRE is derived based on a received pilot, e.g., in the time domain by despreading input samples with a pilot sequence. The initial CIRE may be filtered to obtain a filtered CIRE. A first CIRE with multiple channel taps is derived based on the initial CIRE or the filtered CIRE. The channel taps in the first CIRE are scaled with multiple scaling factors to obtain a second CIRE. For point-wise LMMSE scaling, the energy of each channel tap in the first CIRE is estimated. The noise energy for the channel taps in the first CIRE is also estimated, e.g., based on the energies of a small number of channel taps on the left edge and/or right edge of the first CIRE. Each channel tap in the first CIRE is then scaled based on a scaling factor determined by the energy of that channel tap and the noise energy. Each channel tap with energy below a threshold Tj1 may be set to zero. The threshold Th may be set based on the noise energy or a predetermined value. [0008] Tn another aspect, the second CTRE is obtained by zeroing out selected ones of the channel taps in the first CIRE. In one embodiment, a first subset of channel taps on the left edge of the first CIRE is set to zero if the aggregate energy for these channel taps is below a first threshold Tιefi. A second subset of channel taps on the right edge of the first CIRE is also set to zero if the aggregate energy for these channel taps is below a second threshold Tr,ght. The first and second thresholds may be set based on the total energy E total of the channel taps in the first CIRE. In other embodiments, at least one channel tap having aggregate energy less than a threshold Tarr is set to zero. The threshold TaCc may be set based on Etotab The channel tap(s) to be zeroed out may be selected in a predetermined order, alternating between the left and right edges of the first CIRE, and traversing from the two ends toward the middle. Alternatively, the channel taps in the first CIRE may be ranked from weakest to strongest, and the channel tap(s) to be zeroed out may be selected in a sequential order starting with the weakest channel tap. Tn yet another embodiment, each channel tap in the first CTRE having
the
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout. [0011] FIG. 1 shows a transmission in a wireless communication system. [0012] FIG. 2 shows a block diagram of a base station and a wireless device. [0013] FIG. 3 shows a block diagram of a CDMA modulator at the base station. [0014] FIG. 4 shows a block diagram of an equalizer at the wireless device. [0015] FIG. 5 shows an exemplary channel impulse response estimate. [0016] FIG. 6 shows a block diagram of a channel estimator. [0017] FIG. 7 shows a process for deriving a CIRE by scaling channel taps. [0018] FIG. 8 shows a process for deriving a CIRE by selectively zeroing out channel taps.
DETAILED DESCRIPTION
[0019] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
[0020] FIG. 1 shows an exemplary transmission in a wireless communication system. For simplicity, FIG. 1 shows only one base station 110 and one wireless device 120. A base station is generally a fixed station that communicates with the wireless devices and may also be called a Node B, an access point, or some other terminology. A wireless device may be fixed or mobile and may also be called a user equipment (UE), a mobile station, a user terminal, a subscriber unit, or some other terminology. A wireless device may be a cellular phone, a personal digital assistant (PDA), a wireless modem card, or some other device or apparatus.
10021] Base station 110 transmits an RF signal to wireless device 120. This RF signal may reach wireless device 120 via one or more signal paths, which may include a direct path and/or reflected paths. The reflected paths are created by reflections of radio waves due to obstructions (e.g., buildings, trees, vehicles, and other structures) in the wireless environment. Wireless device 120 may receive multiple instances or copies of the transmitted RF signal. Each received signal instance is obtained via a different signal path and has a particular complex gain and a particular time delay determined by that signal path. The received RF signal at wireless device 120 is a superposition of all received signal instances at the wireless device. Wireless device 120 may also receive interfering transmissions from other transmitting stations. The interfering transmissions are shown by dashed lines in FIG. 1.
[0022] The channel estimation techniques described herein may be used for various communication systems such as a Code Division Multiple Access (CDMA) system, a Time Division Multiple Access (TDMA) system, a Frequency Division Multiple Access (FDMA) system, an orthogonal frequency division multiple access (OFDMA) system, a single-carrier FDMA (SC-FDMA) system, and so on. A CDMA system may implement one or more radio access technologies (RATs) such as Wideband-CDMA (W-CDMA), cdma2000, and so on. cdma2000 covers IS-2000, IS-856, and IS-95 standards. A TDMA system may implement a RAT such as Global System for Mobile Communications (GSM). These various RATs and standards are known in the art. W- CDMA and GSM are described in documents from a consortium named "3rd Generation Partnership Project" (3 GPP). cdma2000 is described in documents from a consortium named "3rd Generation Partnership Project 2" (3GPP2). 3GPP and 3GPP2 documents are publicly available. An OFDMA system transmits modulation symbols in the frequency domain on orthogonal frequency subcarriers using OFDM. An SC- FDMA system transmits modulation symbols in the time domain on orthogonal frequency subcarriers.
[0023] The channel estimation techniques described herein may be used for a wireless device as well as a base station. For clarity, these techniques are described below for a wireless device in a CDMA system, which may be a W-CDMA system or a cdma2000 system. Certain portions of the description arc for a W-CDMA system. [0024] FIG. 2 shows a block diagram of base station 110 and wireless device 120. At base station 110, a transmit (TX) data processor 210 receives traffic data for the
wireless devices being served and processes (e.g., encodes, interleaves, and symbol maps) the traffic data to generate data symbols. As used herein, a data symbol is a modulation symbol for data, a pilot symbol is a modulation symbol for pilot, a modulation symbol is a complex value for a point in a signal constellation (e.g., for M- PSK, M-QAM, and so on), and pilot is data that is known a priori by both the base station and the wireless device. A CDMA modulator 220 processes the data symbols and pilot symbols as described below and provides output chips to a transmitter (TMTR) 230. Transmitter 230 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) the output chips and generates an RF signal, which is transmitted from an antenna 232.
[0025] At wireless device 120, an antenna 252 receives the transmitted RF signal via direct and/or reflected paths and provides a received RF signal to a receiver (RCVR) 254. Receiver 254 processes (e.g., filters, amplifies, frequency downconverts, and digitizes) the received RF signal to obtain received samples. Receiver 254 may also perform pre-processing on the received samples and provides input samples to an equalizer/rake receiver 260. The pre-processing may include, e.g., automatic gain control (AGC), frequency correction, digital filtering, sample rate conversion, and so on. Equalizcr/rakc receiver 260 processes the input samples (e.g., with an equalizer or a rake receiver) and provides output samples. A CDMA demodulator (Demod) 270 processes the output samples in a manner complementary to the processing by CDMA modulator 220 and provides symbol estimates, which are estimates of the data symbols sent by base station 110 to wireless device 120. The rake receiver and CDMA demodulator may also be combined. A receive (RX) data processor 280 processes (e.g., symbol demaps, deinterleaves, and decodes) the symbol estimates and provides decoded data. In general, the processing by CDMA demodulator 270 and RX data processor 280 is complementary to the processing by CDMA modulator 220 and TX data processor 210, respectively, at base station 110.
[0026] Controllers/processors 240 and 290 direct operation of various processing units at base station 110 and wireless device 120, respectively. Memories 242 and 292 store data and program codes for base station 110 and wireless device 120, respectively. [0027] FIG. 3 shows a block diagram of CDMA modulator 220 at base station 110. For clarity, the following description is for W-CDMA. CDMA modulator 220 includes a physical channel processor 310 for each physical channel used for traffic data and a
pilot channel processor 320 for pilot. Within processor 310 for physical channel m, a spreader 312 spreads data symbols with an orthogonal variable spreading factor (OVSF) code om(n) for physical channel m and provides data chips. A scrambler 314 multiplies the data chips with a scrambling sequence sp in) for base station 110. A multiplier 316 scales the output of scrambler 314 with a gain gm and provides output chips xm(β) for physical channel m.
[0028] Within pilot channel processor 320, a spreader 322 spreads pilot symbols with an OVSF code op(n) for pilot, which is a sequence of all zeros, and provides pilot chips. A scrambler 324 multiplies the pilot chips with the scrambling sequence sp (n) .
A multiplier 326 scales the output of scrambler 324 with a gain gp and provides output chips pin) for the pilot channel. A summer 330 sums the output chips for all physical channels and provides output chips z(n) for base station 110.
[0029] At wireless device 120, the input samples from receiver 254 may be expressed as:
y(n) = λ(Λ) ® [xM(rt) + /?(«)] + w{n)
Eq (I) = ∑ A(O ■ IX, (« - 0 + Pin - 1)] + w(n)
where xm(ri) is the signal component of interest for wireless device 120, pin) is the pilot from base station 110, hin) is an impulse response of the wireless channel between base station 110 and wireless device 120,
— w(n) is the total noise and interference observed by xmip) and /?(«), yiμ) is the input samples at wireless device 120, and ® denotes a convolution.
The input samples y(ή) may be processed with an equalizer to obtain an estimate of the desired signal xm(ή).
[0030] FlG. 4 shows a block diagram of an equalizer 260a, which is an embodiment of equalizer/rake receiver 260 in FIG. 2. For this embodiment, the input samples yip) from receiver 254 are provided to a channel estimator 410 and a finite impulse response (FIR) filter 430. Channel estimator 410 derives a channel impulse response estimate
(CIRE) ho(n) for the wireless channel between base station 110 and wireless device 120. A computation unit 420 receives the CIRE ho{n) and derives equalizer coefficients c(n) based on this CIRE ho(n) , e.g., using LMMSE, least mean square
(LMS), recursive least square (RLS), direct matrix inversion (DMI), zero-forcing, or some other technique. FIR filter 430 filters the input samples y(n) with the equalizer coefficients c(ή) and provides output samples xm(n) , which are estimates of the desired output chips xm (n) .
[0031] Channel estimator 410 may derive an initial CIRE based on a pilot received from base station 110. In an embodiment, the initial CIRE may be derived as follows:
kn) l, ..., L, Eq (2)
where h{n) is an initial estimate of an actual channel tap h(n) for index n, K. is the accumulation length, and " " denotes a complex conjugate.
In equation (2), channel tap h(n) at index n is estimated by performing despreading in the time domain with a pilot sequence. The despreading may be achieved by multiplying the input samples y(ji) with the complex conjugated pilot chips p*(n) and accumulating the results over K chips. K is an integer multiple of the length of the orthogonal code used for the pilot. The OVSF code for the pilot in W-CDMA has a length of 256 chips, and the Walsh code for the pilot in cdma2000 has a length of 128 chips. K may be set to one pilot symbol, multiple pilot symbols, one slot, multiple slots, and so on. A slot covers 2560 chips in W-CDMA and 768 chips in cdma2000. [0032] FIG. 5 shows an exemplary initial CIRE for the wireless channel between base station 110 and wireless device 120. The initial CIRE contains L channel taps. Each channel tap has a particular complex gain and a particular time delay, both of which are determined by the wireless environment. Each channel tap is associated with a different signal path or multipath. The difference between the earliest channel tap and the latest channel tap is referred to as the channel delay spread. A "long" channel with reflections from far away objects has a long delay spread. L may be selected to be greater than or equal to the longest expected delay spread for the system. In this case,
the actual delay spread may be much shorter than L in many instances. Furthermore, many of the channel taps may contain all or mostly noise and little or no useful energy. [00331 The initial CIRE contains estimation errors and noise. It can be shown that for a pure noise tap with h(n) = 0 , the corresponding initial channel tap h{ή) has noise energy of I0 /(K - E p~) , where I0 is the total received energy at wireless device 120 and
Ep is the energy-per-chip for the pilot transmitted by base station 110. Furthermore, it can be shown that a weak channel tap observes more noise than a stronger channel tap. Various techniques may be used to improve the initial CIRE. These techniques may be applied individually or in combination.
[0034] The initial CIRE may be filtered across multiple update intervals to reduce noise. In an embodiment, the filtering is performed separately for each channel tap based on a 1-tap infinite impulse response (HR) filter, as follows:
ht(n) = ah -h(?i) + (\ - ah) - ht_,(n) , for n = I3..., L, Eq (3)
where ht(n) is a filtered channel tap at index n for update interval t, and an is an HR filter coefficient that determines the amount of filtering.
In general, 1 > ah > 0 , with a larger <% corresponding to less filtering, and vice versa.
For example, ah may be set within a range of 0.15 to 0.5. ah may be a fixed value or a configurable value and may be selected to provide good performance. The filtering in equation (3) reduces noise. The filtering may also be performed in other manners and with other types of filter. For simplicity, index t is omitted in the following description, and h (n) denotes the filtered channel taps for the current update interval. [00351 In an embodiment, the initial channel taps h(n) are used as input channel taps h.(n) for a first CIRE, or ht{n) - h{n) , to derive output channel taps ho(τi) for a second CIRE having improved quality. In another embodiment, the filtered channel taps h (n) are used as input channel taps h:(n) , or hl(n) = h (n) , to derive output channel taps ho(n) . For both embodiments, the output channel taps ho(n) may or may not be filtered. The output channel taps may be derived based on various postprocessing schemes.
[0036J In one post-processing scheme, the output channel taps in the second ClRE are obtained by scaling the input channel taps in the first CIRE. The input channel taps ht(n) may be expressed as:
h.(n) = h(n) + w,(n) , for n = 1, ..., L , Eq (4) where Wi(n) is the estimation errors and noise (or simply, the noise) for input channel tap h
t(n) . For simplicity, the noise Wj(ri) may be assumed to be zero mean with a variance of
. It can be shown that the noise variance is similar for all L input channel taps It
1(Ji) and may thus be represented by
, which is not a function of tap index n.
This noise property may be exploited to derive output channel taps having improved quality, as described below.
[0037] An improved estimate of the actual channel tap h(n) may be derived based on a point-wise LMMSE technique or some other technique. Point- wise LMMSE refers to application of the LMMSE technique on a tap-by-tap basis. A point-wise LMMSE estimate of h(n) may be expressed as:
Kin) = ^,T' ' ; •*,(»)
£ { | ^O) I 2 }
= * «" * ^ - for ^'-' L' Eq (5)
where <E { } denotes an expectation operation,
<E { I h(n) 12 } is the expected energy of actual channel tap h(n),
<E { I ht («) 12 } is the expected energy of input channel tap ht (n) , and h0 («) is an output channel tap that is a point-wise LMMSE estimate of h(n).
[0038] Equation (5) provides the "best" linear estimate of h(n) from a noisy estimate H
1(Ji) , where "best" is used in the sense of minimum mean square error in estimation, so that h
u(n) yields a minimum value for
1E {\ h
o(n) — h
t(n) \
2 } . Equation (5) indicates that the best linear estimate of h(n) is given by a scaled version of /z
;(») , where the
scaling factor is determined by <£ { | h, (ή) \
2 } and
. The quantities Ε { | h
t- (ή) |
2 } and σl may be estimated as described below.
[0039] The energy of input channel tap h;(n) may be estimated in various manners.
In an embodiment, the channel tap energy is estimated by computing the square magnitude of the input channel tap, as follows:
E(H) = I h1(H) I2 , for i7 =l, ..., L , Eq (6)
where E(n) is the estimated energy of input channel tap H1(Tt) .
[0040] In another embodiment, the channel tap energy is estimated by computing the square magnitude of the input channel tap for each update interval and averaging over multiple update intervals. The averaging may be achieved with a 1-tap HR filter, as follows:
Et(n) = ae- \ hi(n) \2 ^(l - ae) -Et_x(n) , for /2 = 1, ..., L, Eq (7)
where Et(n) is the estimated energy of input channel tap ht(n) for update interval t, and cte is an HR filter coefficient for the channel tap energy.
Coefficient ae may be a fixed value or a configurable value and may be selected to achieve good performance. For example, ae may be set to 0.5 or some other value. [0041] The channel tap energy may also be estimated in other manners. In the following description, E(n) denotes the estimated energy of input channel tap h;(n) .
E(ή) may be derived as shown in equation (6) or (7) or based on some other equation. [0042] The noise variance σl , which is also referred to as the noise energy, may be estimated in various manners. The length of the first CIRE may be selected to be sufficiently long so that at least one edge can be expected to contain pure or mostly noise taps. The non-zero channel taps may be centered so that both edges of the first CIRE can be expected to contain pure or mostly noise taps. This centering may be achieved by (1) computing the center of weight of the channel taps in the first CIRE and (2) placing the center of weight at or near index L/2. The noise energy may then be estimated based on the noise taps on one or both edges of the first CIRE. [0043] In an embodiment, the noise energy is estimated by averaging the energies of Q leftmost channel taps and Q rightmost channel taps of the first CIRE, as follows:
*i = 77 • £*(«) > Eq (8)
E r =~ ∑E(n) , and Eq (9) v « =r.-Q+i
^e = ^ + ^) > Eq (IO)
where Ei is the average energy of the Q leftmost channel taps with indices 1 through Q, Er is the average energy of the Q rightmost channel taps with indices L-Q+l through L, and incise is the estimated noise energy. In general, Q and L may be any suitable values. As an example, L may be equal to 64, and Q may be equal to four. [0044] In another embodiment, the noise energy is estimated by taking the minimum of Ei and Er, as follows:
Enoisa = η -XDm [E1, Er} , Eq (Il)
where η is a scaling factor used to account for the fact that taking the minimum of Ei and Er statistically yields a smaller estimate of the true noise energy. For example, η may be set to 1.3 or some other value. This embodiment is more robust when the nonzero channel taps are not centered in the first CIRE.
[0045] In yet another embodiment, the noise energy EnOiSe is a programmable value and is not computed based on a noisy estimate of h(n). In the following description, EnυiSe denotes the estimated noise energy for input channel tap h^n) used to derive output channel tap ho(n) .
[0046] In one embodiment, each input channel tap is scaled based on the point-wise LMMSE technique. For this embodiment, the output channel taps may be derived as follows:
In the embodiment shown in equation (12), each input channel tap ht{n) is scaled based on a scaling factor determined by the energy E(n) of that channel tap and the noise energy Enoise.
[0047J In another embodiment, each input channel tap is scaled based on the point- wise LMMSE technique if that tap is sufficiently strong and is zeroed out otherwise. An input channel tap may be considered to be sufficiently strong if its energy exceeds a threshold Th. For this embodiment, the output channel taps may be derived as follows:
h
o(n) ffoorr #» = l, ..., L . Eq (13)
The threshold Th may be set based on the noise energy Enoise, the total energy, and so on. For example, Th may be set as Th = βh -Enotse , where βh may be set to 1.5 or some other value. Th may also be a programmable value.
[0048] The input channel taps may also be scaled in other manners. For example, the input channel taps may be scaled based on some other technique instead of the point-wise LMMSE technique. The input channel taps may also be scaled jointly. For this embodiment, correlation across multiple channel taps may be determined and used to scale the channel taps.
10049] FIG. 6 shows a block diagram of an embodiment of channel estimator 410 for the first post-processing scheme. An initial channel estimator 610 receives the input samples y(n) and derives an initial CIRE, e.g., as shown in equation (2). A filter 612 filters the channel taps h(ή) in the initial CIRE, e.g., as shown in equation (3), and provides filtered channel taps h (n) . A selector 614 provides the initial channel taps h(n) or the filtered channel taps h (ή) as input channel taps ht (n) for a first CIRE. For example, selector 614 may provide the initial channel taps h(n) for a fast varying channel and may provide the filtered channel taps h (n) for a slowly varying channel. [0050] A channel tap energy estimator 616 estimates the energy E(n) of each input channel tap, e.g., as shown in equation (6) or (7). A noise energy estimator 618 estimates the noise energy EnOise for the input channel taps, e.g., based on the energies of a small number of input channel taps on one or both edges of the first CIRE as shown in equation (10) or (11). A final channel estimator 620 derives output channel taps ho(n) for a second CIRE based on the input channel taps ht(n) , the channel tap energies E(ή) , and the noise energy Enoi!ie, e.g., as shown in equation (12) or (13). Final channel
estimator 620 may also filter the output channel taps, e.g., based on an HR filter or some other type of filter.
[00511 FIG. 7 shows a process 700 for deriving a CIRE by scaling channel taps. An initial CIRE is derived based on a received pilot, e.g., in the time domain by dcsprcading input samples with a pilot sequence (block 712). The initial CIRE may be filtered to obtain a filtered CIRE (block 714). A first CIRE with multiple channel taps is derived based on the initial CIRE or the filtered CIRE (block 716). The channel taps in the first CIRE are scaled with multiple scaling factors to obtain a second CIRE (block 720).
[0052] In one embodiment of block 720, the energy of each channel tap in the first CIRE is estimated, e.g., as shown in equation (6) or (7) (block 722). The noise energy for the channel taps in the first CIRE is also estimated, e.g., based on the energies of a small number of channel taps on the left edge and/or right edge of the first CIRE (block 724). Each channel tap in the first ClRE is scaled based on a scaling factor determined by the energy of that channel tap and the noise energy, e.g., as shown in equation (12) (block 726). Each channel tap with energy below a threshold Th may be set to zero, e.g., as shown in equation (13) (block 730). The threshold Th may be set based on the noise energy or a predetermined value.
[0053] In a second post-processing scheme, the output channel taps in the second CIRE are obtained by zeroing out selected ones of the input channel taps in the first CIRE. The second scheme may be implemented in various manners. [0054] In a first embodiment of the second scheme, the second CIRE has a length that is adaptively selected based on noise energy. For this embodiment, the left edge energy Eιeβ, right edge energy Enφt, and total energy Etotaι of the first CIRE may be estimated as follows:
E^ = Y1 E(K) , Eq (16)
H - I
where Pleft and Pπght are the numbers of channel taps used to compute the left edge and right edge energies, respectively. In general, Ploft may or may not be equal to Pπght- As an example, L may be equal to 64, and Pleft and Pjjght may both be equal to 15. Pleft and Pright may be fixed values or configurable values and may be selected to achieve good performance. E(n) may be the instantaneous energy of input channel tap h{(n) , as shown in equation (6), or the average energy of ht(ή) , as shown in equation (7). The left edge energy Eiφ may also be determined based on a first subset of channel taps on the left edge of the CIRE, and the right edge energy Eiφ may be determined based on a second subset of channel taps on the right edge of the ClRJE. Each subset may include any number and any ones of the channel taps on the associated edge. [0055] The Pleή channel taps on the left edge are zeroed out if the left edge energy is lower than a threshold Tiφ and are retained otherwise, as follows:
I h1(Ti) iϊ Elpft < Tlφ
K(ή) = \ for ra = l, ..., Pleft . Eq (17)
0 otherwise
Similarly, the Pπght channel taps on the right edge are zeroed out if the right edge energy is lower than a threshold Tnght and are retained otherwise, as follows:
\ ht(n) \ϊ EHght < Tright
K(n) = \ for W = L -P1^ +1..... L . Eq (IS)
0 otherwise
The thresholds Tiφ and Triφt may be set based on the total energy Eiotaι. For example, Tiφ and Tright may be set as Tlφ = THght = βx ■ Emal , where βι may be set to 0.05 or some other value.- Tiφ and Triφt may also be programmable values. - • [0056] In a second embodiment of the second scheme, input channel taps are successively zeroed out in a predetermined order, one channel tap at a time, until a certain fraction of the total energy is removed. For this embodiment, an index j indicates the number of input channel taps being considered and runs from 1 through L, or / = 1, 2, ..., L. The input channel taps may be considered one at a time, e.g., starting from the ends and working toward the middle, and alternating between the two ends. An index f indicates which input channel tap to consider and may be defined based on index j, as follows:
/ = (/ + 1 ) / 2 for odd/ , and Eq (19)
/ = L - (J - 2) / 2 for even./ . Eq (20)
Index /' selects input channel taps on the two ends first and alternates between the right and left edges. Hence, j" = 1, L, 2, L-I, 3, L-2, ..., L/2, L/2+1 as index/ goes from 1 through L. [0057] The accumulated energy Eacc(j) for/ input channel taps may be expressed as:
Eacc(j) = EaccU-l) + E(f) , Eq (21)
where E(f) is the estimated energy of input channel tap A2-O") , which may be derived as shown in equation (6) or (7), and Eacc(j) may be initialized as Eacc(0) = 0. [0058] For each value of/, input channel tap It1(J') is selected, and the accumulated energy Eacc(j) is updated with the energy E(J') of the selected channel tap. Input channel tap h.(j') is zeroed out if the updated accumulated energy Eacc(j) is lower than a threshold Tacc and is retained otherwise, as follows:
The threshold TaCc may be set based on the total energy Etotai- For example, Tacc may be set as Tacc = βacc ■ Etotal , where βacc may be set to 0.05 or some other value. Tacc may also be a programmable value.
[0059] In a third embodiment of the second scheme, weak input channel taps are successively zeroed out in a predetermined order, one channel tap at a time, until a certain fraction of the total energy is removed. For this embodiment, index/ may run from 1 through L. For each value of/, input channel tap ht(j') may be considered as weak if its energy E(j') is below a threshold Ti1. If input channel tap h.(j') is weak, then (1) the accumulated energy Eara(j) is updated to include the energy of this channel tap and (2) this channel tap is zeroed out if the updated accumulated energy is below a threshold Tacc Input channel tap Λ,(/') is retained if it is not weak or if the updated accumulated energy is not below the threshold Tacc. The thresholds Th and Tacc may be
set based on the noise energy Enoise, the total energy Etotai, and so on, or may be programmable values.
[00601 In a fourth embodiment of the second scheme, the input channel taps are ordered from weakest to strongest and are successively zeroed out in a sequential order, one channel tap at a time, until a certain fraction of the total energy is removed. For this embodiment, index j may run from 1 through L. For each value of j, the weakest channel tap among all input channel taps that have not been considered is selected, and the accumulated energy Eacc(j) is updated to include the energy of the selected channel tap. The selected channel tap is zeroed out if the updated accumulated energy is below a threshold Tacc and is retained otherwise. The threshold Tacc may be set based on the total energy Etotάi or may be a programmable value.
[0061] In a fifth embodiment of the second scheme, weak initial channel taps are zeroed out. An input channel tap may be considered as weak if its energy is below a threshold 7/,. Tn an embodiment, the threshold Th is set based on the total energy Etotah e.g., as Th = βht • E total , where βht may be set to 0.01 or some other value. In another embodiment, the threshold Th is set based on the noise energy Enoise, e.g., as Th = film 'E noise ' where βhn may be set to 1.5 or some other value. In yet another embodiment, the threshold Th is set based on the energy Epeak of the largest input channel tap, e.g., as Th = βlφ -Epeak , where βhP may be set to 0.01 or some other value.
The threshold Th may also be set based on some other quantity or may be a programmable value.
[0062] Various embodiments for selectively zeroing out input channel taps have been described above. The input channel taps may also be zeroed out in other manners, and this is within the scope of the invention.
[0063] Referring back to FIG. 6, final channel estimator 620 receives the input channel taps ht(ή) , which may be the initial channel taps h(n) or the filtered channel taps h («) . Final channel estimator 620 may also receive the channel tap energies E(n) , edge energies Eie/t and/or Eright, total energy Etotai, noise energy Enoue, and so on. Final channel estimator 620 may derive one or more thresholds based on the received energies and/or programmable values. Final channel estimator 620 may then zero out selected ones of the input channel taps based on any one or any combination of the embodiments described above.
10064 J FlG. 8 shows a process 800 for deriving a CIRE by selectively zeroing out channel taps. An initial CIRE is derived based on a received pilot, e.g., in the time domain by despreading input samples with a pilot sequence (block 812). The initial CIRE may be filtered to obtain a filtered CIRE (block 814). A first CIRE with multiple channel taps is derived based on the initial CIRE or the filtered CIRE (block 816). Selected ones of the channel taps in the first CIRE are set to zero to obtain a second CIRE (block 820).
[0065] For the first embodiment described above, a first subset of channel taps on the left edge of the first CIRE is set to zero if the aggregate energy Eiφ for these channel taps is below a first threshold Tufi (block 822). A second subset of channel taps on the right edge of the first CIRE is also set to zero if the aggregate energy E right for these channel taps is below a second threshold Tnφt (block 824). The first and second subsets may include the same or different numbers of channel taps. Each subset may include a certain fraction (e.g., approximately one fourth) of the total number of channel taps in the first CIRE. The first threshold may be equal to the second threshold, and both thresholds may be set based on the total energy of the channel taps in the first CIRE. [0066] For the second, third, and fourth embodiments described above, at least one channel tap having aggregate energy less than a threshold Tacc is set to zero (block 832). The threshold Tacc may be set based on the total energy of the channel taps in the first CIRE. For the second and third embodiments, the channel tap(s) to be zeroed out are selected in a predetermined order, alternating between the left and right edges of the first CIRE, and traversing from the two ends toward the middle. For the fourth embodiment, the channel taps in the first CIRE are ranked from weakest to strongest, and the channel tap(s) to be zeroed out are selected in a sequential order starting with the weakest channel tap. For the fifth embodiment, each channel tap having energy less than a threshold Th is set to zero (block 842). The threshold Th may be set based on the noise energy, the peak energy, or the total energy of the channel taps in the first CTRE. [0067] The input channel taps may also be processed based on both the first and second post-processing schemes. For example, the input channel taps may be zeroed out based on any of the embodiments described above, and the input channel taps that arc not zeroed out may be scaled based on the tap-wise LMMSE technique. [0068] The second CIRE may be used to derive coefficients for an equalizer, as shown in FIG. 4. The second CIRE may also be used for a rake receiver. A rake
receiver includes multiple finger processors (or simply, "fingers"), and each finger may be assigned to process a signal instance of interest. The second CIRE may be used to identify strong signal instances to be assigned for processing by the fingers. The second CIRE may also be used to weight the outputs of the assigned fingers prior to combining these outputs.
[0069] The channel estimation techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units used to perform channel estimation may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
[0070] For a firmware and/or software implementation, the techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The firmware and/or software codes may be stored in a memory (e.g., memory 292 in FIG. 2) and executed by a processor (e.g., processor 290). The memory may be implemented within the processor or external to the processor. [0071] 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.
[0072] WHAT IS CLAIMED IS: