1. Field of the Invention
The present invention relates to communication systems and, in particular, to wireless receivers that use channel estimation, and especially to wireless receivers that use channel estimation for a channel that varies in time.
2. Description of the Related Art
In many wireless communication systems, the receiver generates a filter to compensate for channel distortions. A receiver filter that functions to remove channel distortions, such as multipath or some form of interference, is termed an equalizer. The convolution of the receiver's filter and the channel's impulse responses ideally results in a single delayed impulse. In multi-carrier modulated systems (e.g., orthogonal frequency-division multiplexed or OFDM), the single impulse constraint is relaxed to allow multiple impulses that span a maximum delay spread, while maintaining zero inter-symbol interference (ISI). This latter filter type is termed a channel shortening filter (CSF). An equalizer is a special case of the channel shortening filter. Design computations for different types of equalizers vary significantly.
Conventional receivers incorporate various equalizer and channel shortening filter design techniques and mechanisms to adapt the equalizer for mobile systems. Predominant among these design techniques is a least-squares criterion, or cost function, that seeks to minimize the filter's output error and consequently seeks to improve the transmitted symbol estimates. Equalizer adaptation usually uses the well known least mean squares (LMS) or recursive least squares (RLS) strategies, which determine estimation errors and use those errors to obtain new filter designs intended to further reduce errors.
This discussion relates to a class of equalizers and channel shortening filters that can be termed subspace equalizers (SEQs) or subspace channel shortening filters (SCSFs). The term subspace filters (SFs) will be used in the following discussion to refer to subspace equalizers and subspace channel shortening filters collectively. Subspace filter design strategies seek to calculate the subspace filter's coefficients as the sum of a small number of filters. The optimum receive filter is approximated by the subspace filter as a weighted sum, or linear combination, of these filters. These other filters are generally called basis filters. There are many different methods to determine these subspace filters using computations that search for eigenvalues and eigenvectors. The textbook, Matrix Computations (Gene H. Golub and Charles F. Van Loan, John Hopkins Press, 3rd Edition, 1996), calls the three more prominent methods for determining these subspace filters the Arnoldi, Lanczos and conjugate gradient methods.
The optimum linear receive filter that minimizes the mean square error is the Wiener filter. Calculation of the Wiener filter, shown in
The least mean squares method for filter adaptation does not require computation of the auto-covariance matrix, its inverse nor the channel estimate.
Alternatively, many conventional implementations of the Lanczos, Arnoldi and conjugate gradient methods are initialized with the auto-covariance matrix and channel estimate to compute the Wiener filter approximation, as shown in
To compute the Wiener filter as shown in
A typical implementation of the least mean squares method is shown in
Ordinarily, subspace filters take a different approach to designing the receive filter fL 367 shown in
The implementation of a subspace filter in a mobile environment cannot estimate the true auto-covariance matrix Ry 311 and so an estimate is computed over a predetermined input signal time interval. This process uses a block of input samples [y(k) to y(k+T)] 301 and a reference signal [d(k) to d(k+T)] 305 to compute the auto-covariance matrix and the channel estimate. The averaging over this period produces the subspace filter, which is used to filter the input signal over the specified period of time and to produce the estimated transmitted signal [x(k) to x(k+T)] 303.
Three different Wiener filter estimation methods are illustrated in
U.S. Pat. No. 7,120,657 to Ricks and Goldstein, entitled “System and Method for Adaptive Filtering,” and U.S. Pat. No. 7,181,085 to Despain, entitled “Adaptive Multistage Wiener Filter” (“Despain 1”) offer a formulation of the Arnoldi subspace method as a sample-filtered decomposition. That is, these methods avoid the computation of an auto-covariance matrix and instead filter the input signal to compute the basis filters and their corresponding coordinates in a prescribed manner. These two sample-filtered decomposition subspace filter methods produce the same Arnoldi sample-matrix decomposition filter fL 367 in
Other Wiener filter determination techniques average channel estimate observations as part of estimating the filter through subspace filter methods. U.S. patent application Ser. No. 10/894,913 to Despain, filed Jul. 19, 2004, entitled “Use of Adaptive Filter in CDMA Wireless Systems Employing Pilot Signals” (“Despain 2”) describes a method to average over a sliding window on the input signal for CDMA signals. In mobility applications, the channel changes quickly with time, and there is a particularly advantageous time period over which to average a small number of channel estimates. The average may be computed as equally weighted channel estimates over a finite window, which slides for the next estimate with a predetermined amount of overlap.
According to an aspect of the present invention, a receiver comprising a subspace filter for filtering data includes a first basis filter. The first basis filter generates a plurality of channel estimates from received information including a current channel estimate for a current time interval. The current channel estimate is determined as a weighted average of the plurality of channel estimates using a weighting function. The weighting function is a measure of similarity between channel estimates and varying as a function of relative receiver velocity so that the weighting function has a larger magnitude for channel estimates closer in time to the current time and has a smaller magnitude for channel estimates further in time from the current time. The first basis filter outputs a first basis filter estimate responsive to the current channel estimate and the received information. The receiver includes a second basis filter, the second basis filter receiving the first basis filter estimate and generating a second basis filter estimate responsive to the first basis filter estimate.
According to an aspect of the present invention, a receiver comprising a subspace filter for filtering data includes a first basis filter. The first basis filter generates a plurality of channel estimates from received information including a current channel estimate for a current time interval. The current channel estimate is determined as a weighted average of the plurality of channel estimates using a weighting function. The first basis filter outputs a first basis filter estimate responsive to the current channel estimate and the received information. The first basis filter generates a first similarity measure between the first basis filter and a channel estimate once per symbol, the first similarity measure used to generate a correction to the first basis filter estimate. A second basis filter receives the first basis filter estimate and generates a second basis filter estimate responsive to the first basis filter estimate.
Another aspect of the invention provides a receiver comprising a subspace filter for filtering data. The receiver comprises a plurality of basis filters including a first basis filter and a second basis filter; and a basis filter combination module that combines at least selected outputs of the plurality of basis filters to determine a subspace filter. The first basis filter generates a plurality of channel estimates from received information including a current channel estimate for a current time interval. The current channel estimate is determined as a weighted average of the plurality of channel estimates using a weighting function. The weighting function is a measure of similarity between channel estimates and varying as a function of relative receiver velocity so that the weighting function has a larger magnitude for channel estimates closer in time to the current time and has a smaller magnitude for channel estimates further in time from the current time. The first basis filter outputs a first basis filter estimate responsive to the current channel estimate and the received information and the second basis filter receives the first basis filter estimate and generates a second basis filter estimate responsive to the first basis filter estimate. The first basis filter outputs the weighting function to at least the second basis filter.
Aspects of the present invention are illustrated in the attached drawings and can be better understood by reference to those drawings in conjunction with the detailed description. The attached drawings form a part of the disclosure.
Preferred embodiments of the present invention include subspace filters and methods for generating subspace filters that combine a set of channel estimates, preferably calculated over one received symbol period, to improve the channel estimate that seeds the computation of a subspace basis filter. Most preferably the channel estimates are combined according to a set of weights for each symbols channel estimate where the weights are sensitive to a mobile receiver's Doppler rate or rates.
Other preferred embodiments of the present invention include subspace filters and methods for generating subspace filters that determine subspace basis filter coordinates with reduced complexity, lower computational latency and lower power consumption. These reduced complexity techniques and implementations may be used independently of the channel estimate combining techniques and implementations described above, but particularly preferred embodiments use them in combination.
This discussion relates in certain aspects to implementations of the Arnoldi or Lanczos methods to design subspace filters with lower complexity that accommodate at least some of the limitations typical of mobile receivers. Preferred implementations provide improved performance in time-varying channel conditions. While mobile receivers are a particularly preferred implementation, aspects of the present invention can be implemented to improve the performance or reliability of stationary receivers. This discussion illustrates preferred embodiments in the context of mobile receivers with the understanding that details of other embodiments will be apparent to those of ordinary skill.
In mobile communication systems a subspace filter may encounter the problem that speed or symbol durations conflict with the optimum or preferred choice of the data block size T+1 for determining the subspace filter. That is, the symbol duration may be much smaller than T+1, and any averaging over a period T+1 with randomized data may cause the mean of all observations to approach zero due to symbol transitions. Independent of symbol modulation, if the speed of a mobile receiver causes the channel to change significantly over a period of data T+1, then the achievable performance is compromised.
Certain preferred implementations may use multiple channel estimates over short intervals to obtain a set of weighting coefficients used in linearly combining channel estimates prior to processing by a sample-matrix method to design a subspace filter. This weighted-average strategy effectively determines the best window length to perform a channel estimate average in the presence of channel variations due to a mobile receiver's relative motion or velocity.
Modern digital communication systems, including typical wireless communications systems, transmit raw information bits (ones and zeros) in varying sophisticated approaches. To increase capacity, communication systems usually combine a given number of bits to form a symbol. For example, four bits can be combined and mapped into a specific symbol out of a total of sixteen different symbols. Therefore, in the period of time that one bit was previously transmitted, a single symbol is transmitted, representing four bits to provide a four-fold increase in transmission capacity. Symbol transmission comes at the expense of a four-fold increase in power required as compared to single bit transmission, but the bandwidth remains the same since the symbol time and bit time durations are equal. The strategies to map a group of bits to a symbol and how that symbol is electrically transmitted over a medium can vary from system-to-system. Nevertheless, all such systems can be said to have a “symbol modulated signal.” Well-known standards detail how the symbol modulated signal is constructed (modulated) and processed (demodulated) at the receiver to extract the information bits.
Increasing the transmission capacity by organizing data into symbols is balanced against increasing the chances of symbol error if the transmit power is kept the same when transmitting data in bits or symbols. Symbol errors in turn can be mapped to a number of bit errors. The number of errors can be exacerbated by the presence of multiple signal replicas. For example, in wireless systems, signal reflections from multiple paths arrive at the receiver at random delays. The increased sensitivity associated with symbol transmission strategies and the varying channel conditions usually require that an adaptive equalizer be incorporated at the receiver.
Modern wireless systems group a prescribed number of symbols into a packet, frame or block. This short duration packet is intended for one, or more, users. Therefore, the receiver preferably calculates the equalizer that minimizes the symbol error rate prior to packet demodulation. Due to the packet's short duration, the wireless system generally includes a training signal that can be inserted at the beginning of the packet, as in certain orthogonal frequency-division multiplexed (OFDM) systems. Other systems provide a training signal that is continued for the duration of the packet, as in certain OFDM and certain CDMA systems. This training signal is a pre-determined symbol-modulated pilot signal. Providing training or pilot signals facilitates fast signal acquisition and demodulation in wireless communication systems.
Pilot signals or pilot subchannels may be present in a transmitted waveform over a short interval at the beginning of a burst transmission or multiplexed with modulated user data. In some systems, the pilot signal is designed to be orthogonal, that is to provide zero or little interference, to other channels through time, code and/or frequency orthogonality. Pilot signals are easily generated at the receiver, since the modulated data is trivial (e.g., all ones) or consists of a predetermined modulated data sequence.
A preferred wireless receiver uses a pilot signal in a preferred manner to estimate the basis vectors in designing a subspace filter. This receiver is particularly useful when the target receive filter performance requires an averaging period T+1 much greater than the signal's symbol period or when there are time varying channel changes during an averaging interval. Such conditions generally require modifications to the conventional subspace filter determination strategies.
Determining a subspace filter according to preferred embodiments preferably includes two steps: (1) designing the basis filters and (2) estimating the basis filter coordinates. Once these two quantities are known, the process for determining the filter can continue to determine the linear combination of the basis filters that produces a desirable subspace filter. A preferred subspace filter implementation preferably averages over multiple symbol periods to obtain the basis filters for symbol-modulated signals over time-varying channels. Another preferred aspect can provide a subspace filter by using an improved calculation of the basis filter coordinates when averaging for symbol modulated signals or time-varying channels.
Estimating any sampled signal parameter in the presence of noise generally proceeds by making at least a minimum number of discreet observations. Usually, simulations are used to determine the span of digitized input samples to be processed to achieve a target estimation mean-square error value. If the span starting with the sample indexed by k is given as T+1 samples, the subspace filter design procedure generally uses all T+1 samples to estimate the basis filters and their corresponding coordinates in determining the subspace filter. The resulting filter then filters all T+1 samples to produce the filter's output signal. This process is repeated with a filter calculation based on the next T+1 samples.
The second basis filter module 420 follows a similar process and set of computations. First, the second basis filter module 420 correlates the input data [y(k+lT) to y(k+(l+1)T)] 401 with the first basis filter module 410 filtered data [d1(k+lT) to d1(k+(l+1)T)] 415, represented as the vector d1(l), over the same segment of T+1 samples. This produces another cross-correlation estimate p2(l) internally in basis filter module 420 that is normalized to produce the second basis filter output f2(l) 421, which may be adjusted by subtracting values computed in previous basis filter modules as dictated by the choice of the Lanczos or Arnoldi methods. As is the case in the previous (first) stage, the second basis filter module 420 computes the fitter output [d2(k+lT) to d2(k+(l+1)T)], represented as the vector d2(l) 425, from the same input samples [y(k+lT) toy(k+(l+1)T)] 401, which may be adjusted by subtracting values computed in previous basis filter modules as dictated by the choice of Lanczos or Arnoldi or other methods.
This same procedure outlined for the second basis filter module 420 is repeated for the third basis filter module 430, and is repeated for any subsequent modules until the final module is reached. In the example shown in
The subspace equalizer filter signal output may be computed as a linear combination of each basis filter output. This is shown as the subspace equalizer filter output calculation module 440. The module calculates the corresponding real, or complex, scalars that weight each filter output signal vector di(l) (415, 425 and 435). These weighted filter outputs are summed to provide the subspace equalizer filter output 443.
These three principal modules in
A preferred receiver filter preferably implements a cross-correlation between the reference signal 505 and the input signal 501 to estimate the channel in the channel estimation module 540. Various other channel estimation strategies, including increasingly sophisticated computational methods are known, especially for OFDM systems. Those skilled in the art can perform the necessary analysis and tradeoffs to determine how best to perform channel estimation constrained by the computational power available at the receiver.
Using a subspace filter to approximate the Wiener filter combines a weighted sum of the D filter estimates, shown in
Preferred receivers described here are especially well suited to obtain the values for all basis filters fn(l) for a time varying channel and when using fewer than T+1 samples, when Ts+1 is a comparatively small fraction of T+1; all basis filters are estimated over Ts+1 and the basis filters preferably are averaged in an advantageous manner over the particularly preferred T+1 interval. For example, in CDMA2000 systems, a binary-valued symbol has 64 chips to spread and scramble each symbol. To avoid opposite polarity symbols from canceling the channel estimate over the multiple symbol periods in T+1 samples, the basis filter estimate f1(l) preferably is calculated over one symbol, or 64 chips. Thus, the index l preferably indicates one symbol period. Subsequent basis filter modules preferably perform cross correlations over the same one-symbol interval, also indexed with l. On the other hand, empirical studies show that a time span of many symbols, as in a period of T+1 samples, is preferred to obtain an estimate f1(l) that has the target estimation mean-square error value. Consequently, certain preferred embodiments may use a time span of an integer number of many symbols.
In the case of orthogonal frequency-division multiplexing (OFDM) systems such as WiFi and WiMax, there are a number of OFDM preamble training symbols and/or carrier frequencies, followed by pilot tones in pre-assigned carrier locations for frequencies during data transmission to provide a reference signal 405 at the receiver. The number of preamble symbols and specific pilot tone locations are standard-dependent. Therefore, the generation of the reference signal 405 varies between standards, and may vary from symbol to symbol. In all cases, the values of the reference signal 405 are always known at the receiver.
A simple and particularly preferred approach to achieve the target channel estimation performance over T+1 input samples is to average the values of p1(l) over a number of symbols L, where each symbol is spanned by [y(k+lTs) to y(k+(l+1)Ts)]. Then,
where L*(Ts+1) is a duration close to the optimum block length T+1, and Ts+1 is the number of samples in a modulated symbol. The purpose of this averaging is to achieve an estimation performance over T+1 samples with
Equation (1) represents one of many approaches to averaging a set of channel estimates, or any parameter, and is implemented in the AVGEST 550 module shown on
1(l)=ap1(l)+(1−a)
usually termed an exponentially-decaying weighted averaging. This term arises from the weight, or scaling, of
A more general formulation for Equation (1) is to give a scaling factor to each measurement
that computes the average over a finite window. Preferably Equation (3) gives different weights to the set of measurements
A condition may arise in a communication system, including some important types defined by industry standards, where reference symbols are not available in every transmitted symbol. In the case of intermittent reference symbols, the averaging in Equation (1) preferably considers this absence and maintains either the same number L of symbols in the average or, if the receiver is in motion, reduces the value of L. It is generally desirable to determine the best trade-off between accuracy and tracking preferred for such a situation. When no training symbol is present at the input, the filter determination process of
L can be a function of speed in Equation (1). As the receiver's speed increases, the channel is likely to change significantly over a decreasing period of time, and L preferably is reduced. Therefore, it is desirable to determine a length L that adapts with the receiver's speed of motion or an analytical equivalent to such a length such as a functional or empirical relationship that determines length as a function of the receiver's relative velocity.
In some embodiments of the present invention, a preferred basis filter module uses a weighted average reformulation of Equation (1), as in Equation (3), for channel estimation,
where γn(i) are the weight coefficients. An implementation employing channel estimation as described by Equation (4) is illustrated in
Like
The first basis filter module in
Equation (4) takes the present, future or past values (or combinations of them), of the symbol-based estimates pn(l−i+b) and averages them according to the previously calculated L values of the weights γn(i). It follows that 0≦b≦L−1 and it is preferable to select a value of b to center the present estimate p1(l) in the summation of Equation (4). Therefore, to implement this weighted-average circuit as a causal system, the receiver preferably introduces b symbol delays (or more) from input to output.
Preferred subspace filters provide a way to calculate the values of γn(i). The calculation frequency for γn(i) may be selected to be slower than the symbol rate at which the channel estimate is done, or at which the index l dictates. This is an application-specific design issue.
Certain preferred embodiments of a filter and receiver preferably apply the condition that,
γn(i)=γ1(i) (5)
That is, the various weights preferably are maintained the same for all basis filter modules in a subspace once the first basis filter module computes the various weights. Preferably, computing the weights is analytically given by the correlation
γ1(i)=|f1H(l+b)f1(l−i+b)| (6)
with the indexing sequence i=[0, 1, . . . , L−1] and the restriction that 0≦b≦L−1. Equation (6) (and its circuit, digital signal processor or other implementations) measures the similarity between channel estimates, and relates to the least-square estimate over several measurements. Symmetry about the index b>0 is preferred since there is a greater channel self-similarity to the nearest symbols in the past and future, and the system preferably takes advantage of that fact. Equalizers and channel shortening filters that rely on a channel estimate as one of its computational components can advantageously use this channel estimation strategy. This may not be the case for least mean square type adaptive equalizers but is generally the case for subspace filters.
Since the scalar in Equation (6) may be a complex-valued measure of similarity between the two filters, it is convenient to use the magnitude of Equation (6) to provide weight values for combining the basis filters. Other functions or characteristics of Equation (6) might alternately be used to provide the weights. For example, the maximum between the real and imaginary components of Equation (6) can be used as the weights, or the square of Equation (6) could provide the weights. To the extent the application or channel behavior dictate that a particular approach is more suited for a particular application, the system user preferably determines the best suited approach empirically and adopts it.
Particularly preferred embodiments of a filter or receiver automatically resolve the correspondence between receiver speed of motion (or relative velocity) and the value of L. Once the maximum value of L is determined, the filter preferably adjusts the L channel estimate measurements in accordance with the detected mobile speed within the finite measurement window by adjusting the values of γn(i). As the speed increases, the similarity generally decreases between pn(l+b) and pn(l+b+a) for a≠0. This dissimilarity will have the effect that values of γ1(i) approach zero for delays of particular “a” or greater, depending on the Doppler rate. Although the finite window, with equal weighting terms, continues to have L-terms, the effective window length is shortened by the smaller values of γ1(i). In some embodiments it may be advantageous to scale the values of γ1(i) to provide no gain, that is, to set the sum of the weights equal to one.
Most preferably, the weight values γn(i) are calculated in the first basis filter module, such as module 410 shown in
where * denotes conjugation and,
f
1
T(l)=[f1(1)(l)f1(2)(l) . . . f1(J−1)(l)] (8)
Basis filter implementations offer a favorable decomposition related to the equalizer or channel shortening filter optimum solution. That is, the optimum filter solution fopt is closely approximated by the subspace filter linear combination of the basis filters. That is,
f
opt
≈f
SF
=f
1+α2f2+α3f3+L+αDfD=f1+FDα (9)
where fopt is determined through, most often, computationally intensive methods. The scalars αn are termed the basis filter coordinates (BFCs) and are calculated in or from basis filter coordinate modules (BFCMs). Various methods to design the basis filters fn are known. The previous discussion illustrated a method to adapt the basis filters in the presence of signal modulation or time-varying channels (or both) through averaging shorter time-span measurements. There are other known approaches to determine the coordinates that produce the closest approximation, in the least square sense, to fopt. However, the averaging method illustrated in part by Equation (4) represents a particularly preferred method for determining the values of the basis filter coordinates.
One particular implementation effectively computes the basis filter coordinates when the basis filters are designed over a sufficiently long interval T+1 with no overlapping averaging between symbol estimates. That is, the channel estimate is computed over T+1 samples once, and all samples in that interval are filtered with one filter. This is equivalent to saying that
where 1<n≦D and,
with,
ξn2=dndnH−wn+1√{square root over (pn+1Hpn+1)}=σn2−wn+1δn+1 (12)
The row vector dn includes the fn filter output samples that span T+1 block samples. To compute Equation (10), the iterations begin with the last basis filter module output dD and continue with Equations (11) and (12) from n=D to 1. In practice, depending on the application, if the filter approximation fSF is not explicitly calculated, then Equation (10) need not be computed and the system preferably uses the equivalence,
x=f
SF
H
y
n
=w
1
e
1
=w
1(d1−w2e2)
e
n
=d
n
−w
n+1
e
n+1 (13)
instead. In Equation (13), the value of wn is specified to be the ratio of the two variables in the last term of Equation (11), which is a real-valued measure. Also in Equation (13), the row vector en is determined instead of Equation (12), and Equation (12) is replaced with ξn2=enenH.
When the basis filters are estimated using Lanczos or Arnoldi methods and channel estimates averaged according to circuits like those shown in
Particular implementations of symbol modulation via OFDM or CDMA, which reduce the number of estimation samples from blocks of T+1 to Ts+1 samples, for time-varying channels require modifications to some computations or circuits. For example, averaging to improve the basis filter module estimates violates assumptions on which Equation (11) relies. Preferably, such implementations instead adopt a strategy like that described in Despain 2, application Ser. No. 10/894,913, previously incorporated by reference in its entirety. In such implementations, the value of δn is replaced with the computation of a dot product between a filter output dn−1 and the error signal en, over the measure duration Ts+1, as the term in the numerator of Equation (11).
Either method for computing wn requires that the coordinates determinations for the basis filters be performed once all D basis filters are designed, prior to proceeding to so-called reverse stages that generate the values of wn and en. The coordinates preferably are estimated in reverse order from D to 1, thus requiring D iterations to complete the determinations.
A preferred embodiment of the present invention for the coordinates calculations in a subspace filter takes a different approach, shown in
These scalars preferably are computed once per symbol, as are the basis filters. In particular, the dot product module 870 of
A preferred implementation that calculates the coordinates for the basis filters is shown in
The complexity reduction realized in Equation (15) stems from the summations not exceeding D terms at an index n and the computations based on measurements calculated once per symbol, and all the variables being real and complex scalars (i.e., no vectors). Further complexity savings can be realized since the storage requirements, relative to those imposed by Equation (13), are generally minimized and the multipliers can operate nearly at the symbol rate as compared to the dot products on the filter outputs in Equation (13), that operate at the sample rate. Given that the first factor in the right side of the equivalence,
is determined in the previous iteration n−1, then only one additional multiplication for each indexing in the summation need be computed at the present iteration n. A circuit that takes advantage of previous calculations is shown in
The input pair [ρn(l),σn2(l)] 1001 preferably is stored in the corresponding register location, as by storing ρn(l) in register array 1021 and σn2(l) in the register array 1013. At the address n=D+1, the register arrays labeled Πw2 1023 and Πw 1011 are initialized to a value of 1. The last register array in the circuit is for wn 1023. The first computations at n=D preferably place the result into the first register of the wn register array 1023. Controller 1002 preferably iterates on n=n−1 until n=1, and also on index J=n+1 to D to place the proper values into the dot product circuit. Preferably controller 1002 initializes the values at the register locations n=D+1 for σn2(l) and ρn(l) to zero.
The first step to calculate wn is to compute the summations in Equation (15). Note that the index l is implicit. These dot product calculations are done with the dot product elements 1010 and 1020. The dot product 1010 gets the corresponding inputs by indexing the Πw 1011 and σ12 registers on J to perform the J multiplies and adds. At n=D, the value of J=D+1 and the values for the registers are the initialization values stated above. For n<D, the dot products are calculated and the output of 1020 is multiplied by two 1030, before it is subtracted 1032 from the dot product 1010 output, which in turn is added to σ12 1034. This completes the calculation of Equation (15). The adder 1034 output is the dividend to ρ1, which results in the value of wn according to Equation (14). The values at register n for Πw and Πw2 are then calculated and stored in the corresponding register arrays 1011 and 1023 respectively. The calculated value of wn. 1042 is stored at the nth location of its register array 1041. The controller updates n=n−1, and if n>0, the
At the conclusion of computations in
and indexing from n=1 to D, the overall filter is determined according to,
f
SF=α1f1+α2f2+α3f3+L+αDfD (18)
The averaging method for cross-correlation estimates discussed above uses a finite number of basis filters, computed over a symbol period, to obtain an improved cross-correlation estimate. Other averaging methods with lower storage requirements might be used. One such formulation replaces Equation (4) with
n(l)=(1−λ)
where 0<λ<1, and the terms in Equation (19) are equivalent to those shown in
n(l)=
where μ=1. These two types of averaging have their benefits, such as simplicity, but can have fundamental channel-variation tracking problems. If Equations (19) or (20) are used in AVGEST 750, the basis filter coordinate module preferably has the configuration shown in
A consideration in mobile receiver applications for either a software or hardware equalizer implementation is circuit complexity and power consumption. The power consumption is proportional to the clock rate at which the multipliers/adders operate, as well as the total number of multipliers and adders. The preferred embodiment illustrated in
The present invention has been described in terms of certain preferred embodiments. Those of ordinary skill in the art will appreciate that various modifications and alterations could be made to the specific preferred embodiments described here without varying from the teachings of the present invention. For example, the above-described circuits may be implemented as specialized circuitry, whether integrated or otherwise, within a digital signal processor (DSP), a general purpose microprocessor or combinations of these different implementation strategies. Consequently, the present invention is not intended to be limited to the specific preferred embodiments described here but instead the present invention is to be defined by the appended claims.