Signal reception method and apparatus for non-stationary channels

A signal reception method includes receiving a signal over a channel, producing a first equalized signal, a first interference suppression filter and a first estimate of the channel using a portion of a the received signal, dividing the received signal into a plurality of signal blocks, and for each one of the plurality of signal blocks, producing a second equalized signal using a portion of the first equalized signal by selecting from one of a linear estimator or a non-linear estimator and estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal.

BACKGROUND

Reference to Co-Pending Applications for Patent

The present application for patent is related to co-pending U.S. patent application Ser. No. 12/553,848, entitled “MULTI-STAGE INTERFERENCE SUPPRESSION,” filed Sep. 3, 2009, assigned to the assignee hereof, and expressly incorporated by reference herein.

The present application for patent is related to co-pending U.S. patent application Ser. No. 12/553,855, entitled “SYMBOL ESTIMATION METHODS AND APPARATUSES,” filed Sep. 3, 2009, assigned to the assignee hereof, and expressly incorporated by reference herein.

FIELD

The present invention relates to wireless communication and, in particular, relates to interference cancellation at a receiver.

BACKGROUND

In many communication systems utilizing GSM, GPRS, EDGE or the like, a receiver's ability to properly decode a received signal depends upon the receiver's ability to effectively suppress co-channel interference (CCI) and inter-symbol interference (ISI). The decoding task becomes even more challenging when channel characteristics vary with time, such as when a receiver is mobile. As wireless communications become ever more prevalent, however, increasing amounts of CCI and ISI can negatively affect a receiver's ability to suppress interference.

SUMMARY

In an aspect of the disclosure, a signal reception method may comprise one or more of the following: receiving a signal over a channel, producing a first equalized signal, a first interference suppression filter and a first estimate of the channel using a portion of the received signal, dividing the received signal into a plurality of signal blocks, and for each one of the plurality of signal blocks: producing a second equalized signal using a portion of the first equalized signal and one of a linear estimator or a non-linear estimator and estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal.

In another aspect of the disclosure, a signal receiver comprises a processor and a memory. The processor may be configured to execute a set of instructions stored in the memory to perform one or more of the following operations: receive a signal over a channel, produce a first equalized signal, an interference suppression filter and a first estimate of the channel using a portion of the received signal, divide the received signal into a plurality of signal blocks, and for each one of the plurality of signal blocks: produce a second equalized signal using a portion of the first equalized signal and one of a linear estimator or a non-linear estimator and estimate symbols received the one of the plurality of signal blocks based on the second equalized signal.

In yet another aspect of the disclosure, a machine-readable medium is encoded with instructions for receiving a signal at a receiver, the instructions comprising code for one or more of the following: receiving a signal over a channel, producing a first equalized signal, a first interference suppression filter and a first estimate of the channel using a portion of the received signal, dividing the received signal into a plurality of signal blocks, and for each one of the plurality of signal blocks: producing a second equalized signal using a portion of the first equalized signal and one of a linear estimator or a non-linear estimator and estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal.

In yet another aspect of the disclosure, a signal reception apparatus comprising: means for receiving a signal over a channel, means for producing a first equalized signal, an interference suppression filter and a first estimate of the channel using a portion of the received signal, means for dividing the received signal into a plurality of signal blocks, and for each one of the plurality of signal blocks: means for producing a second equalized signal using a portion of the first equalized signal and one of a linear estimator or a non-linear estimator and means for estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal.

DETAILED DESCRIPTION

Receivers operating in accordance with certain wireless standards, such as GERAN, often receive signals over a channel that may be characterized as a fading channel. Operation of a receiver often involves receiving a signal, extracting symbols from the received signal and demodulating the symbols to produce data bits. To help produce the data bits accurately, a receiver may also suppress (or remove) signal distortions caused by the communication channel, noise, interference from unwanted transmitters, and so on. Receivers are often designed by making assumptions about communication channels (e.g., assuming that a communication channel has a finite impulse response of a certain duration) and noise signals (e.g., assuming that noise has a white spectrum). Based on the assumptions made, a practitioner of the art may configure a receiver to suppress the signal distortions by performing channel equalization using, for example, maximum likelihood (ML) detection, decision feedback equalization (DFE), minimum least squares estimate (MLSE) and other well-known algorithms.

While algorithms such as the MLSE may provide optimal results in many applications, the MLSE tends to be computationally expensive, making it an unattractive option for implementation at a resource-limited wireless device. Furthermore, computational complexity of the MLSE increases non-linearly with increasing constellation density of the received signals. Therefore, in communications networks that use higher order modulation schemes (e.g., 8 PSK), a channel equalization and/or an interference suppression (or interference cancellation) technique that is computationally less expensive than the MLSE may be desirable.

Channel equalization techniques using the MLSE are generally called “non-linear” channel equalization techniques in the art. Other techniques such as channel equalization using a linear combiner are generally called “linear” channel equalization techniques. Broadly speaking, the MLSE algorithm works better than other techniques when some information is available about a channel and/or received signal amplitude distortion is severe. In certain aspects, configurations of the present disclosure provide methods and systems wherein channel equalization and interference suppression may be performed using either a non-linear technique such as the MLSE or a linear technique such as a linear combiner, based on certain operational conditions of the receiver. These operational conditions may include, for example, constellation density of the received signal and severity of distortion in the received signal. In one aspect, such architecture may be advantageous for a receiver expected to receive signals with different modulation schemes in the same network. For example, the GERAN Evolution standard uses modulation schemes including GMSK, QPSK, 8 PSK, 16-QAM and 32-QAM.

The previously referenced co-pending patent application (Ser. No. 12/553,848) provides signal reception techniques including producing a first equalized signal and a first estimate of a channel by operating on a first portion of a received portion, producing a second equalized signal using the first equalized signal and one of a linear estimator and a non-linear estimator, estimating a first estimate of symbols in the received signal and a second estimate of the channel from a second portion of the received signal and generating a second estimate of symbols in the received signal based on the second estimate of the channel.

In a non-stationary environment, when the characteristics of the channel between a transmitter and a receiver are changing rapidly relative to the symbol rate, estimating symbols of a later received portion of a burst using a channel estimate obtained from an earlier received portion of the burst may produce unsatisfactory results. The problem may further be worsened due to Doppler effect or component inaccuracies, resulting in a mismatch between the carrier frequency of the received signal and an estimate of the carrier frequency calculated at the receiver. For example, in a typical GERAN receiver, carrier mismatch may be of the order of 0.2 to 0.3 parts per million, resulting in a 150 to 200 Hertz mismatch in a GERAN network.

Accordingly, in certain aspects, the subject technology of the present disclosure relates to methods and systems for performing improved signal reception under time-varying channel conditions. In certain aspects, an iterative process may be used to recover data from received symbols. In the first iteration of the iterative process, a “known” portion of a received signal burst (e.g., a preamble or a midamble) may be used to estimate and remove interference from the received signal and calculate an estimate of the channel. The results of the first iteration may then be iteratively improved by increasing the size of received data symbols used to perform interference cancellation/channel estimation in each successive iteration. The previously referenced co-pending patent application (Ser. No. 12/553,848), incorporated by reference herein, describes an iterative data recovery process, called multi-stage interference suppression (MSIS) in this disclosure. In certain configurations, the MSIS may be implemented by dividing a received signal into multiple sub-blocks and performing separate interference cancellation/channel estimation on each sub-block. In certain aspects, because each channel estimate is calculated over a shorter duration portion of a received burst, more accurate data reception (e.g., better bit error rate) may be possible under non-stationary channel conditions. In certain aspects, the multi-iteration signal reception method of the present disclosure may reduce the computational complexity by re-using a portion of results of calculations performed in an initial (first) iteration in the subsequent iterations (e.g., an estimate of interference). This and other features of the subject technology are further described below.

The following abbreviations are used throughout the disclosure.

EDGE=enhanced data rate for GSM evolution

eSAIC=enhanced single antenna interference cancellation

FER=frame error rate

GERAN=GSM EDGE radio access network

GSM=Global Standard for Mobile communication (Groupe Mobil Special)

MDD=minimum distance detector

MIMO=Multiple input multiple output

MLSE=maximum likelihood sequence estimator

MMSE=minimum mean squared error

RLS=recursive least squares

RSSE=Reduced state sequence estimation

SER=symbol error rate

SNR=signal to noise ratio

TDMA=time domain multiple access

FIG. 1illustrates a communication system100in accordance with one aspect of the subject technology. The communication system100may, for example, be a wireless communication system based on the GSM standard. A receiver102may receive a signal104transmitted by a base station106at an antenna108coupled to the receiver102. However, as illustrated, the signal104may suffer from impediments such as co-channel interference (CCI), including interference from a transmission110from another base station112, and inter-symbol interference (ISI) comprising one or more reflections114of the signal104. Accordingly, in certain aspects, the receiver102may process the signal104to suppress effects of CCI and ISI and recover the data transmitted by the base station106by estimating received symbols. WhileFIG. 1depicts a single antenna108for the sake of clarity, it is contemplated that configurations of the present disclosure also include MIMO transmission systems and the receiver102may have multiple receive antennas to receive the signal104.

FIG. 2Ashows exemplary frame and burst formats in GSM. The timeline for downlink transmission is divided into multiframes. For traffic channels used to send user-specific data, each multiframe, such as exemplary multiframe202, includes 26 TDMA frames, which are labeled as TDMA frames0through25. The traffic channels are sent in TDMA frames0through11and TDMA frames13through24of each multiframe, as identified by the letter “T” inFIG. 2A. A control channel, identified by the letter “C,” is sent in TDMA frame12. No data is sent in the idle TDMA frame25(identified by the letter “I”), which is used by the wireless devices to make measurements for neighbor base stations.

Each TDMA frame, such as exemplary TDMA frame204, is further partitioned into eight time slots, which are labeled as time slots0through7. Each active wireless device/user is assigned one time slot index for the duration of a call. User-specific data for each wireless device is sent in the time slot assigned to that wireless device and in TDMA frames used for the traffic channels.

The transmission in each time slot is called a “burst” in GSM. Each burst, such as exemplary burst206, includes two tail fields, two data fields236,240, a training sequence field (or midamble portion)208, and a guard period (GP). The number of bits in each field is shown inside the parentheses. GSM defines eight different training sequences that may be sent in the training sequence field. Each training sequence, such as midamble portion208, contains 26 bits and is defined such that the first five bits are repeated and the second five bits are also repeated. Each training sequence is also defined such that the correlation of that sequence with a 16-bit truncated version of that sequence is equal to (a) sixteen for a time shift of zero, (b) zero for time shifts of ±1, ±2, ±3, ±4, and ±5, and (3) a zero or non-zero value for all other time shifts. A data portion207of the burst206includes the data fields236,240and the midamble portion208.

Referring now toFIG. 2B, the data portion207of a single burst206of a received signal, such as a GSM signal depicted inFIG. 2A, is displayed. In certain configurations of the present application, symbols from the entire data portion207may be used to recover received data by performing interference cancellation and channel estimation utilizing the received symbols from the data portion207, as will be described in greater detail below. The data portion207comprises the data field236, comprising 58 data bits, the data field240, comprising 58 data bits, and the midamble portion208, comprising 26 bits.

Referring now toFIG. 2C, in certain configurations of the present application, the received symbols in the data portion207may be divided into multiple blocks of symbols: a block222comprising P1symbols, a block224comprising P2symbols up to a block226comprising PD symbols. Each number P1through PD and D is an integer. In certain configurations of the present application, data from the received data portion207may be recovered by performing interference cancellation and channel estimation on each block of symbols222,224,226separately, using results of a first iteration in subsequent iterations, as is described in greater detail below.

Referring now toFIG. 2D, in certain configurations, the received symbols in the data portion207may be divided into a block of symbols232and a block of symbols234. In the depicted division of symbols in blocks232and234, the midamble portion208is shared between the two blocks232and234. In certain configurations of the present application, received data may be recovered by performing interference cancellation and channel estimation on blocks232,234and using certain results from the calculations performed in a first iteration in subsequent iterations, as is described in greater detail below.

FIG. 3Ais a block diagram of a portion of a receiver102in accordance with certain configurations of the present application. As depicted inFIG. 3A, in certain configurations of the present application, a multi-stage interference suppresser (MSIS) section300may be provided to produce received data352by processing the data portion207, such as depicted inFIG. 2B, of the received signal350. Signal processing details of the MSIS section300are described in greater detail below. The configuration depicted inFIG. 3Ais termed the “non-adaptive” MSIS in this disclosure.

FIG. 3Bis a block diagram of a portion of a receiver102in accordance with certain other configurations of the present application. In the depicted configuration ofFIG. 3B, section305may represent the operation of the first iteration of MSIS300on the received signal350. The output of section305may be partitioned into symbol blocks222,224and226, as depicted inFIG. 2C, (or blocks232,234ofFIG. 2D) and may each be input to “full-adaptive” subsequent iterations of MSIS sections301, producing received data outputs354,356and358respectively. The “full adaptive” subsequent iterations of MSIS300are further detail below.

FIG. 3Cis a block diagram of a portion of a receiver102in accordance with yet other configurations of the present application. In the depicted configuration ofFIG. 3B, section305may represent the operation of the first iteration of MSIS300on the received signal350. The output of section305may be partitioned into symbol blocks222,224and226, as depicted inFIG. 2C, (or blocks232,234ofFIG. 2D) and may each be input to “reduced-complexity adaptive” subsequent iterations of MSIS sections303, producing received data outputs353,355and357respectively. The “reduced-complexity adaptive” subsequent iterations of MSIS300are further detail below.

FIG. 3Dis a block diagram of a multi-stage interference suppresser (MSIS)300, in accordance with certain aspects of the present disclosure. The MSIS300may comprise a short equalizer section302, a channel estimator section304, a long equalizer section306, an interference canceller section308, a de-interleaver section310and a channel decoder section312.

The short equalizer section302may be configured to generate a first equalized signal322(e.g., a first set of equalized symbols) by canceling CCI and ISI from a first portion of the input signal331(e.g., the midamble portion208or a preamble). The short equalizer section302also may generate a first estimate of the channel (e.g., impulse response coefficients) on which the received burst of symbols was received. The short equalizer section302may use, for example, a blind channel estimation algorithm to obtain the first estimate of the channel and may calculate a first set of equalized symbols. The short equalizer section302may initially operate upon an input signal corresponding to a short input sequence comprising a known signal (e.g., the midamble portion208) and may iteratively process additional received signal samples, as further described below.

The channel estimator section304may be configured to use the first estimate of the channel and the first equalized signal (input322) to further estimate the channel and further suppress ISI from the first set of equalized symbols and output a second equalized signal (output324).

A long equalizer section306may use the second equalized signal324to further equalize the channel and suppress ISI and may produce a first estimate of symbols in the received set of symbols (output326). The long equalizer section306may also produce a second estimate of the channel using the second equalized signal (also included in output326).

An interference canceller section308may use the second estimate of the channel and the first estimate of symbols (collectively output326) to refine the results to improve symbol decisions. The interference canceller section308may produce hard symbol decisions and log-likelihood values associated with the symbol decisions (together shown as output328). The symbol values from the output328may be used by further receiver sections such as a de-interleaver310to generate data samples330, which may further be decoded by a channel decoder312to produce demodulated data332.

FIG. 4is a block diagram illustrating the operation of a short equalizer section302, in accordance with certain configurations of the present disclosure. As depicted inFIG. 4, an optimal timing section402may provide timing information403to the short equalizer section302. Furthermore, an optimal frequency section404may provide an estimate405of a carrier in the received signal to the short equalizer section302. In certain configurations, the optimal frequency section404may compute an optimal estimate405by evaluating an SNR value, as further described in detail below. The short equalizer section302may use the optimal timing information403to minimize the estimation error incurred during channel equalization calculations. For example, the timing information403may also be useful in deciding the start time and the duration of a time window comprising the first portion of the received signal (e.g., the midamble portion208). The short equalizer section302may use the frequency estimate405for recovering a carrier in the received signal. An optimal frequency estimate405may help improve performance of channel equalization by minimizing the estimation error. The short equalizer section302may thus produce a first equalized signal output Y1408(substantially identical to output322ofFIG. 3D) from a set of input samples X406, received from an earlier receiver section such as an analog-to-digital converter (not shown inFIG. 4) and a set of symbols of known values STSC410(e.g., a preamble or the midamble portion208).

Still referring toFIG. 4, in certain configurations, the optimal timing and the optimal frequency calculations may be performed sequentially. For example, first, an optimal timing estimate403may be obtained by minimizing a target function (e.g., minimizing least squares error), by holding the frequency offset to a constant value. Next, frequency estimate405may be improved by holding the optimal timing estimate unchanged and calculating another target function (e.g., SNR) by changing the frequency offset. This process may be iteratively repeated until no further improvements are achieved or until expiration of a time allocated for the calculation. For example, the SNR calculations may be performed by changing the frequency offset by one or more of {−200, −100, −50, 0, +50, +100, +200} Hz. One example error function for finding optimal timing is to minimize estimation error of a known set of symbols in the received signal. For example, in a GSM network, when the short equalizer302operates upon midamble portion208of the received signal, a midamble estimation error may be used as the error criterion for minimization during the optimal timing estimation. In certain configurations, maximizing the SNR may be used as the error criterion for finding optimal frequency estimates405.

The above-described optimal timing and optimal frequency recovery techniques are merely exemplary and several other optimization techniques well known in the art are possible. For example, U.S. patent application Ser. No. 12/464,311, incorporated herein by reference in its entirety, discloses various methods of timing and carrier recovery.

FIG. 5is a block diagram of the channel estimator section304, in accordance with certain configurations of the present disclosure. The channel estimator section304may receive an estimate of symbols Y1408from a previous signal processing section (e.g. the short equalizer section302). The channel estimator section304may also receive an estimate H1510of the channel (e.g., from the short equalizer section302). In certain configurations, the channel estimator section304may be configured to use the output of one of either an MLSE channel506(output512) or a linear combiner (briefly called a combiner)504(output514) to output equalized symbols. The multiplexer508may select either all the equalized symbols from the output512or all the equalized symbols from the output514to produce the equalized symbols Sequat the output324. In certain configurations, only one of the MLSE section506and the combiner section504may be operated on a given received signal. In certain other configurations, both the MLSE sections506and the combiner section504may be operated simultaneously, and an appropriate output may be selected by the multiplexer508to convey to the output324.

The choice of operation of the MLSE section506and/or the combiner section504may be made in a variety of ways. For example, in certain configurations, the choice may be fixed a priori, based on the modulation of signals received during operation of the receiver102. For example, in certain configurations, the MLSE section506may be used only when the input signal comprises GMSK modulation and the input symbols have two possible values (e.g., 1-bit per symbol encoding), and the combiner section504may be used when other (higher) constellation densities are received. In certain other configurations, the choice between sections504and506may be made at run time. When calculations performed during channel estimation (e.g., at section) show that the received signal suffers from severe amplitude distortion, then MLSE section506may be used, otherwise combiner section504may be used. Such a run-time selection may advantageously allow the receiver102to allocate computational resources to receive signals on an “as needed” basis, freeing up the computational resources for other tasks at the receiver102.

The output324may be used by the long equalizer section306. In certain configurations, the operational principles of the long equalizer section306may be similar to the operational principles of the short equalizer section302discussed previously. The long equalizer section306may compute a set of channel equalized output samples326using the equalized symbol set Sequ324as the training sequence and the input samples X406. In certain configurations, the long equalizer section306may operate upon a training sequence having a larger number of samples compared to the short equalizer section302. For example, in a GSM network, the long equalizer section306may be operated on 142 samples, comprising 116 data samples and 26 midamble samples.

The interference canceller section308shown inFIG. 3Dmay produce an output328comprising symbol decisions and log-likelihood values for the symbol decisions. Previously referenced co-pending U.S. patent application Ser. No. 12/553,855, incorporated herein by reference in its entirety, discloses certain configurations of operation of the interference canceller section308consistent with certain configurations of the present disclosure.

To describe certain configurations comprising various sections depicted inFIG. 3Din mathematical terms, the received signal samples and interference (noise) may be written as below. For example, given a set of spatial and temporal samples at a time k:

where skis the midamble/quasi-midamble signal at time k,skis a (υ+1)×1 midamble/quasi-midamble vector, andxkis a M×1 received midamble/quasi-midamble vector, a set of spatial temporal samples can be defined as

where Xkis a M×(L+1)×1 vector of spatial temporal samples with a spatial length of M and a temporal length L+1, where M is the number of MIMO receive antennas on the receiver102, L is the temporal stacking factor used to temporally stack received samples, v is channel memory and P is the length of the midamble or quasi-midamble that represents the length of the received signal being used in a given iteration, and wherein each of M, L, v and P is a positive integer. The received signal samples can then be written as a function of convolution of the received symbols through a linear filter and an additive noise term as:
x1(k)=h1Ts(k)+g1Tz(k)+n1,x2(k)=h2Ts(k)+g2Tz(k)+n2,  (1c)

The task performed in the linear combiner504of the channel estimator section304can then be expressed as follows: estimateskgivenxk. U.S. application Ser. No. 12/038,724, incorporated herein by reference in its entirety, discloses various techniques that may be utilized to perform such estimation.

In certain configurations, more samples may be used for calculating results of channel equalization using the MMSE, so that a full column rank for matrix inversion may be obtained. In such configurations, the input signal samples may be spatially and temporally stacked to obtain the following matrix:
Xk=[xT(k),xT(k−1) . . .xT(k−L)]T(2)

where [X] is a M (L+1)×(P−υ) matrix. As an example, in a GSM network, P=26. Similar to the data matrix [X], temporal/spatial stacking for the symbols in the received signal gives the symbol matrix in equation (4).
[S]=[Sk,Sk+1, . . .Sk+P−υ],(υ+1)×(P−υ)  (4)

As is well-known in the art, an interference suppression filter that can suppress interference can be expresses as:
W=[S][X]T{[X][X]T}−1,(v+1)×M(L+1)  (5)

Using the expression in equation (5) above, the output Y1408of the short equalizer section302shown inFIGS. 3D and 4can be written as:
Y1=[W][X],(v+1)×(P−v)  (6)

In certain configurations, the number of midamble samples used to estimate output Y1408may be increased from one iteration to the next, during the iterative process of channel equalization. For example, in certain configurations when the received signal is a GSM signal, the channel equalization calculations can start with P=26, corresponding to the number of samples of midamble portion208. In each subsequent iteration, more and more data bits can be included as the channel estimate improves. For example, in certain configurations, one additional sample from each side of the midamble portion208may be added to the symbol matrix [S] shown in equation (4).

Certain aspects of the channel estimator section304can be explained in mathematical terms as follows. The output of the short equalizer section302can be expressed in terms of an equivalent channel:
Y1=[H]1[S],  (7)

In equation (7), [H]1may be the equivalent channel estimate, with dimension (v+1, v+1) and [S] is the (v+1, P−v) reference symbol matrix shown in equation (4). Generally speaking, output Y1408of the short equalizer302may be a vector of streams of symbol values that has cancelled a significant amount of CCI, but a relatively smaller amount of ISI from the input signal X406. The least-squares (LS) estimate of [H]1is as shown in equation (8) below. The channel estimator section304may calculate the LS estimate as:
[Ĥ]1=[Y1][S]H[SSH]−1.  (8)

As previously discussed, in certain configurations, the channel estimator section304may calculate the LS estimate [Ĥ]1using either a non-linear or a linear algorithm, decided either at run time or a priori. Certain aspects of the linear algorithm, implemented at the combiner504, can be explained in mathematical terms as follows.

The output Y1408of the short equalizer302, as described above, can also be represented as a matrix shown in equation (9) of estimated symbols to further explain the working of the combiner504.

It can be seen that the [Y1] matrix in equation (9) has a Toeplitz-like appearance, with an estimated symbol appearing in a row below, shifted one column to the right. For example, when the short equalizer302has equalized the channel to a large extent, the symbol ŝv0in the first row and first column may have approximately the same value as the symbol ŝv1in the second row, second column, and so on. In certain configurations, when using the short equalizer302for equalizing GSM signals, the matrix [Y1] may have dimension 5 rows×138 columns, corresponding to a 4-tap filter for channel equalization and using received signal samples comprising 116 data bits and 26 midamble symbols.

In the combiner504ofFIG. 5, the symbol estimates may be calculated as a weighted combination of the diagonal terms of [Y1] (terms that will be substantially identical to each other, due to the Toeplitz-structure, as explained above). For example, a linear combination of a symbol estimate can be expressed as:

In equation (10a) above, N may represent the maximum data length of the signal. For example, in a GSM network, N=138 (corresponding to 116 data samples plus 26 midamble samples minus 4, channel memory filter delay). The weighting factors may be given as

It can be seen from equations (10a) and (10b) that symbol estimates may be expressed as a linear combination of (v+1) previously estimated symbols. For example, in a GSM network, the value v may be chosen to be equal to 5. In such a network, a linear combination of 6 symbols may be used to obtain a symbol estimate expressed in equation (10). The weighting factors given in equation (10b) may estimate the energy in the impulse response of the estimated filter for each channel. Therefore, the weighting factors may weigh the effect of each symbol in equation (10a) in proportion of the energy in the corresponding channel.

The output estimates obtained by solving equation (10a) may then be hard-sliced to obtain hard estimates of symbols (first estimate of symbols), and may be provided as output328to the interference canceller308.

The interference canceller section308may be configured to operate on the first estimate of symbols from output326to generate a second estimate of symbols in the received signal based on, at least in part, a second estimate of the channel.

FIG. 6is a flow chart of an exemplary multi-stage interference suppression (MSIS) process600, in accordance with certain configurations of the present disclosure. The process600may produce demodulated data samples from an input signal. In certain configurations, the decoding process600may be implemented in the MSIS300depicted inFIGS. 3A and 3B. The decoding process600may comprise the operation602of estimating an interference suppression filter W by training on a reference signal. In certain configurations, the operation602may be performed as previously discussed with respect to the short equalizer section302(e.g., Equation 5). The decoding process600may further comprise the operation604of calculating an equalized output signal Y1. In certain configurations, the operation604may be performed as previously discussed with respect to the channel estimator section304(e.g., Equation 6). The decoding process600may further comprise the operation606of calculating a channel estimate H1(e.g., Equation 8). The decoding process600may further comprise the operation608iterating, until an iteration termination criterion is satisfied, the calculations of the equalized output signal (operation604) and the channel estimate (operation606) by increasing the number of input samples used in each iteration. The decoding process600may also include operation610wherein, upon termination of the iterative refinement process608, data from the input signal may be recovered based on the channel estimate and the equalizes input signal at the termination of operation608. In certain configurations, the iterative operation608may include the long equalizer306and the interference canceller308, as previously described. The iterative operation608is further described in detail below.

FIG. 7Ais a block diagram illustrating a receiver700in accordance with certain configurations of the present application. In the illustrated configuration, symbol decision feedback may be used from symbol decisions made in the ICC section718to a channel equalizer section706to successively improve interference suppression. In certain configurations, the use of feedback to iteratively improve channel suppression may lend itself to an implementation in which a channel equalizer begins an iterative symbol detection process as a “short” equalizer and progressively becomes a “longer” channel equalizer in successive iterations. In other words, a channel equalizer section may operate as a short equalizer (on a smaller number of input samples) at the onset of the iterative process, and may operate as a long equalizer (on a higher number of input samples compared to the first iteration) in the final iterations.

As seen inFIG. 7A, samples of a received signal X1702and a set of known symbols S1TSC704may be input to a channel equalizer section706. In certain configurations, the received signal X1702may be identical to the received signal X406, the set of known symbols S1TSC704may be identical to STSC410ofFIG. 4and the channel equalizer706may be identical to the short equalizer302ofFIG. 3D. The channel equalizer section706may output a first equalized signal Y2708and a first estimate of the channel. In certain configurations the first equalized signal Y2708may be identical to Y1408ofFIG. 4. A channel estimator section710may produce a second estimate of the channel H′1716and a first estimate of symbols. In certain configurations, the channel estimator section710may be identical to the long equalizer section306ofFIG. 3Dand the second estimate of the channel H′1716may be identical to H1510ofFIG. 5. The MLSE section714may receive the first equalized signal Y2708, after it has been re-arranged in a spatially decorrelated form in a spatial decorrelator section712, to produce a second equalized signal input to the interference canceller section718. In certain configurations, the MLSE section714may be identical to the MLSE section506ofFIG. 5, and the first equalized signal Y2708may be identical to Y1408ofFIGS. 4 and 5. The operational principles of a spatial decorrelator section712are well-known in the art.

Still referring toFIG. 7A, the interference canceller section718may use the first estimate of symbols and a channel estimate from the channel estimator section710to generate a second estimate of symbols and a log-likelihood value associated with the second symbol estimates. In certain configurations, the interference canceller section718may be identical to the interference canceller section308ofFIG. 3D. The channel estimate may be iteratively refined using a minimum mean square errors (MMSE) symbol estimation section719that uses a hard slicer and a soft MMSE symbol decision algorithm to produce refined estimates of symbols that are further used by the channel equalizer section706in the next iteration. An iteration termination criterion such as the mean square error improvement from one iteration to the next, or the expiration of a timing budget to calculate the symbol estimates, may be used in terminating the iterative estimation process. Previously referenced U.S. patent application Ser. No. 12/553,855 describes certain iterative techniques to refine symbol estimates. A de-interleaver section720may de-interleave symbols from the second estimate of symbols. In certain configurations, the de-interleaver section720may be identical to the de-interleaver section310ofFIG. 3D. A channel decoder section722may use the de-interleaved symbols to produce data output. In certain configurations, the channel decoder section722may be identical to the channel decoder section312ofFIG. 3D.

FIG. 7Bis a block diagram illustrating a receiver790in accordance with certain other configurations of the present application. In the illustrated configuration, symbol decision feedback may be used from a symbol decision section to a channel equalizer section to successively improve interference suppression. In certain configuration, the use of feedback to iteratively improve channel suppression may lend itself to an implementation in which a channel equalizer begins an iterative symbol detection process as a “short” equalizer and progressively becomes a “longer” channel equalizer in successive iterations. In other words, a channel equalizer section may operate as a short equalizer (on a smaller number of input samples) at the onset of the iterative process, and may operate as a long equalizer (on a higher number of input samples compared to the first iteration) in the final iterations.

As seen inFIG. 7B, samples of a received signal X2750and a set of symbols S2dec752may be input to a channel equalizer section754. In certain configurations, in the first iteration, the set of symbols Sdec752may be equal to the set of symbols S1TSC704ofFIG. 7A. The channel equalizer section754may output a first equalized signal Y3756and a first estimate of the channel. In certain configurations, the channel equalizer section754may be identical to the short equalizer section302ofFIG. 3Dand the first equalized signal Y3756may be identical to Y1408ofFIGS. 4 and 5. A channel estimator section758may produce a second estimate of the channel H″1764and a first estimate of symbols. In certain configurations, the channel estimator section758may be identical to the long equalizer section306ofFIG. 3Dand the second estimate of the channel H″1764may be identical to H1510ofFIG. 5. A combiner section762may receive the first equalized signal Y3756, aligned for ease of calculations in a stream alignment section760, to produce a second equalized signal input to the interference canceller section766.

Still referring toFIG. 7B, the stream alignment section760may operate to implement the mathematical operations described with respect to equation (9) above. The interference canceller section766may use the first estimate of symbols and the second estimate of the channel to generate a second estimate of symbols and a log-likelihood value associated with the second symbol estimates. In certain configurations, the combiner section762may be identical to the combiner section504ofFIG. 5and the interference canceller section766may be identical to the interference canceller section308ofFIG. 3D. The channel estimate may be iteratively refined using a minimum mean square errors (MMSE) symbol estimation section768that uses a hard slicer and a soft MMSE symbol decision algorithm to produce refined estimates of symbols that are further used by the channel equalizer section754in the next iteration. An iteration termination criterion such as the mean square error improvement from one iteration to the next, or the expiration of a timing budget to calculate symbol estimate, may be used in terminating the iterative estimation process. Previously referenced U.S. patent application Ser. No. 12/553,855 describes certain iterative techniques to refine symbol estimates. A de-interleaver section770may de-interleave symbols from the second estimate of symbols. In certain configurations, the de-interleaver section770may be identical to the de-interleaver section310ofFIG. 3D. A channel decoder section772may use the de-interleaved symbols to produce data output. In certain configurations, the channel decoder section772may be identical to the channel decoder section312ofFIG. 3D.

With reference again to the configuration depicted inFIG. 3B, data recovery may be performed as follows. Initially, an entire first iteration of MSIS may be performed on input signal350. In the first iteration of MSIS section305, the calculations shown in Equations (5), (6) and (8) above may be performed to produce an interference suppression filter, an equalized signal and a channel estimate, respectively. In certain configurations, such as when the input signal350is a GSM data portion207, the length P may be equal to 26.

After the first iteration as above, the received signal may be divided into a plurality of symbol blocks (e.g., block of symbols222,224and226) as previously described. The subsequent iterations of the MSIS may then be iterated individually on the blocks of symbols222,224,226in sections301. The operation of the subsequent iterations, previously called “full-adaptive” subsequent iterations of the MSIS, may be performed as previously described with respect to method600. During each iteration, the following quantities may be estimated
Wd=[Sd][Xd]T{[Xd][Xd]T}−1,(v+1)×M(L+1)  (11)
Y1d=[Wd][Xd],(v+1)×(Pd−v)  (12)
[Ĥd]1=[Y1d][Sd]H[SdSdH]−1.  (13)

In the equations above, Wdmay represent the interference suppression filter, Y1dmay represent the equalized signal and Hdmay represent a channel estimate based on the dthblock of symbols. The length Pdmay be chosen to satisfy Pd>M(L+1)+v, for d=1, . . . D. In general, the blocks of symbols may not be disjoint, such as, depicted inFIG. 2D.

It will be appreciate that each block of symbols222,224and226includes fewer samples than the data portion207and corresponds to a shorter period of time. In a non-stationary environment, recovering data by performing channel estimation/interference cancellation over a shorter duration input may produce more accurate results (e.g., lower bit error rate) because variations in the channel characteristics and the carrier frequency may be lower over the smaller time period.

With reference again to the configuration depicted inFIG. 3C, in the depicted “reduced-complexity adaptive” configuration, the input signal350may be processed in the first iteration of MSIS section305as previously described. In the reduced complexity adaptive subsequent iterations of MSIS section303, the interference suppression filter W, calculated in the first iteration of MSIS305, may be used. Such an arrangement may avoid the need to compute the interference suppression filter W in the subsequent iterations of MSIS.

While the full-adaptive and the reduced complexity adaptive subsequent iterations of MSIS are described with respect to block of symbols222,224and226, it will be appreciated that any other partitioning of symbols, such as blocks of symbols232,234depicted inFIG. 2Dmay be used.
W=[S][X]T{[X][X]T}−1,(v+1)×M(L+1)  (14)
Y1=[W][X],(v+1)×(P−v)  (15)
[Ĥd]1=[Y1d][Sd]H[SdSdH]−1.  (16)

In Eq. (16) above, [Y1d] represents a (v+1)×(Pd−v) matrix, representing Pdcolumns of the matrix [Y1] in Eq. (15) above. In the reduced complexity adaptive subsequent iterations of MSIS, channels estimates calculated in subsequent iterations may use the equalized signal calculated during the first (the initial) iteration.

FIG. 8Ais a flow chart of an exemplary data recovery process600′, in accordance with certain configurations of the present disclosure. In certain configurations, the operations602′,604′,606′,608′ and610′ may be substantially identical to the previously described operations602,604,606,608and610respectively. In addition, in operation607′, input symbols may be partitioned into D partitions, such as described with respect toFIGS. 2C and 2D, and the operations608′ and610′ may be performed on each of the block of symbols separately.

FIG. 8Bis a flow chart of an exemplary data recovery process600″, in accordance with certain configurations of the present disclosure. In certain configurations, the operations602″,604″,606″,608″ and610″ may be substantially identical to the previously described operations602,604,606,608and610respectively. In addition, in operation607″, input symbols may be partitioned into D partitions, such as described with respect toFIGS. 2C and 2D, and the operations608″ and610″ may be performed on each of the block of symbols separately. The operation608″ may be substantially similar to the operation608, except no equalized signal output Y1may be estimated and the columns of the Y1matrix may be used instead, as described with respect to Eq. (16) above. It will be appreciated that the computational complexity of the process600″ can be significantly lower than that of process600′ because of the reuse of the previously calculated interference suppression filter and equalized signals. It is well known that estimation of an interference suppression filter typically is a computationally expensive process. By sharing results of interference suppression filter from the first iteration305, computational total number of calculations can therefore be significantly reduced. As an example, up to 70% of the computational resources required by the MSIS process600may be expended in the calculation of the interference suppression filter. Therefore, sharing the results between different MSIS sections can lead to significant reduction in the number of calculations performed to recover data.

FIG. 8Cis a flow chart of an exemplary signal reception process800, in accordance with certain configurations of the present disclosure. The process800may comprise operation802of receiving a signal over a channel. In certain configurations, the received signal may correspond to the data portion207. The process800may further include operation806of producing a first equalized signal, a first interference suppression filter and a first estimate of the channel using a portion of the received signal. In certain configurations, the portion of the received signal may include the midamble portion208, the first equalized signal may be produced by performing operation604′ of calculating an equalized output signal (e.g., as shown in Equation 6) on the midamble portion208and the first estimate of channel H1may be produced by performing the operation606′ of performing channel estimation on the results of operation604′. In certain configurations the operation806may correspond to the first iteration of MSIS305, described above with respect toFIGS. 3B and 3C. The process800may further comprise operation804of dividing the received signal into a plurality of signal blocks. In certain configuration, operation804may divide the received signal into block222,224,226depicted inFIG. 2C. In certain configuration, operation804may divide the received signal into block232and block234depicted inFIG. 2D.

Still referring toFIG. 8C, the process800may further include operation808of, for each one of the plurality of signal blocks, producing a second equalized signal using a portion of the first equalized signal using one of a linear estimator or a non-linear estimator. In certain configurations, operation808may be substantially identical to the long equalization and interference cancellation operations described with respect to long equalizer sections306and interference canceller section308. In certain configurations, the operation808may be performed iteratively, as described with respect to operation608″. The process800may further include, for each one of the plurality of signal blocks, operation810of estimating symbols received in one of the plurality of signal blocks based on the second equalized signal. In certain configurations, the one signal block may be block232or234depicted inFIG. 2D.

Still referring toFIG. 8C, the process800may further include the operation810of estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal. In certain configurations, the operation810may be substantially identical to the previously described operation610. In certain configurations, the operation810may be performed on each block of symbols of a received data portion207, and the entire data received in the data portion207may thus be recovered.

It will be appreciated that certain configurations of the present disclosure may enable recovery of data from received data portion207by dividing the received signal into multiple symbol blocks of shorter duration and performing interference cancellation/channel estimation on the shorter duration symbol blocks. When a channel is non-stationary, such as when the transmitter and the receiver are moving with respect to each other, such processing of signals by dividing into shorter duration portions may result in overall better interference cancellation and channel estimation. As a result, the recovered data may have a lower bit error rate for the same carrier to interference ratio, compared to a scheme where the entire received data portion207is equalized and a channel is estimated based on the entire received data portion207. In another advantageous aspect, configurations of the present application may also be useful in mitigating frequency accuracy error between a transmitter's carrier frequency and a receiver's estimate of the carrier frequency that may result due to component inaccuracies and/or Doppler shift between the transmitter and receiver. Furthermore, sharing the results between date recovery sections for individual smaller time duration blocks may help reduce computational complexity.

FIG. 9is a chart900illustrating exemplary performance achievable in accordance with certain configurations of the subject technology. Chart900depicts the symbol error rate over a range of carrier energy to interference energy ratios (C/I) for exemplary receiver systems operating on a non-stationary GERAN-EV communication channel DAS-9, RA250 profile, using 16-QAM modulation in the presence of CCI. As can be seen in chart900, the curve902represents performance using data reception technique that utilizes multiple MSIS sections operating on multiple symbol portions (identified as “Adaptive, full”) and is seen to improve by over 2 dB compared to performance using a non-adaptive MSIS technique depicted by curve904. Curve906represents performance using an adaptive, reduced complexity technique utilizing multiple MSIS sections sharing intermediate results. As can be seen, the previously discussed significant reduction in computational complexity, comes with only a small (typically less than 0.2 dB) reduction in performance over curve902.

FIG. 10is a block diagram that illustrates exemplary receiver apparatus1000in accordance with certain configurations of the present disclosure. The receiver apparatus1000comprises module1002for receiving a signal over a channel, module1004for dividing the received signal into a plurality of signal blocks, module1006for producing a first equalized signal, a first interference suppression filter and a first estimate of the channel using a portion of the received signal, module1008for producing a second equalized signal using a portion of the first equalized signal using one of a linear estimator or a non-linear estimator, module1010for estimating symbols received in the one of the plurality of signal blocks based on the second equalized signal, all in communication via communication module1012.

FIG. 11is a block diagram that illustrates exemplary receiver system1100in accordance with certain configurations of the subject technology. The receiver system1100comprises a short equalizer section1102configured to produce a first equalized signal and a first estimate of a channel by operating on a first portion of a received signal received over a channel, a channel estimator section1104configured to produce a second equalized signal using the first equalized signal and one of a linear estimator and a non-linear estimator, a long equalizer section1106configured to estimate a first estimate of symbols in the received signal and a second estimate of channel from a second portion of the received signal and an interference canceller section1108configured to generate a second estimate of symbols in the received signal, based on the second estimate of the channel. As depicted inFIG. 11, the modules1102,1104,1106and1108are in communication via a communication module1110.

FIG. 12is a block diagram that illustrates a computer system1200upon which an aspect of the subject technology of the present application may be implemented. Computer system1200includes a bus1202or other communication mechanism for communicating information, and a processor1204coupled with bus1202for processing information. Computer system1200also includes a memory1206, such as a random access memory (“RAM”) or other dynamic storage device, coupled to bus1202for storing information and instructions to be executed by processor1204. Memory1206can also be used for storing temporary variable or other intermediate information during execution of instructions to be executed by processor1204. Computer system1200further includes a data storage device1210, such as a magnetic disk or optical disk, coupled to bus1202for storing information and instructions.

Computer system1200may be coupled via I/O module1208to a display device (not illustrated), such as a cathode ray tube (“CRT”) or liquid crystal display (“LCD”) for displaying information to a computer user. An input device, such as, for example, a keyboard or a mouse may also be coupled to computer system1200via I/O module1208for communicating information and command selections to processor1204.

According to one aspect, interference suppression may be performed by a computer system1200in response to processor1204executing one or more sequences of one or more instructions contained in memory1206. Such instructions may be read into memory1206from another machine-readable medium, such as data storage device1210. Execution of the sequences of instructions contained in main memory1206causes processor1204to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in memory1206. In alternative aspects, hard-wired circuitry may be used in place of or in combination with software instructions to implement various aspects. Thus, aspects are not limited to any specific combination of hardware circuitry and software.

The term “machine-readable medium” as used herein refers to any medium that participates in providing instructions to processor1204for execution. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as data storage device1210. Volatile media include dynamic memory, such as memory1206. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus1202. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency and infrared data communications. Common forms of machine-readable media include, for example, floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.

Those of skill in the art would appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. Furthermore, these may be partitioned differently than what is described. To illustrate this interchangeability of hardware and software, various illustrative sections, blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application.