A multiple input multiple output (MIMO) system may involve treating a plurality of communications mediums as a single communication channel. For example, a MIMO system may treat a plurality of individual twisted-pair copper wires bundled into a single cable as a single communications channel having multiple inputs and multiple outputs. Information transmitted over a given copper wire, however, may be susceptible to interference from information transmitted over an adjacent copper wire. This condition is typically referred to as “crosstalk.”
The performance of a MIMO system may be significantly increased by reducing the amount of crosstalk in the MIMO channel. One technique to assist in reducing crosstalk is to perform channel estimation of the MIMO channel. Improved channel estimation may result in improved performance of the MIMO system. Consequently, there may be need for improvements in such techniques in a device or network.
The subject matter regarded as the embodiments is particularly pointed out and distinctly claimed in the concluding portion of the specification. The embodiments, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
The embodiments may be directed to a method and apparatus to perform channel estimation for a communication system. The channel estimation technique may be used, for example, to suppress crosstalk in a communication system utilizing a full duplex communications medium such as copper wire twisted pairs, radio-frequencies (RF), and other mediums. Examples of crosstalk may include near end crosstalk (NEXT) and far end crosstalk (FEXT). In one embodiment, for example, the channel estimation technique may be used to perform channel estimation for a multiple input multiple output (MIMO) full duplex wired or wireless communication system using either inter-symbol interference (ISI) or non-ISI channels.
In one embodiment, the channel estimation technique may comprise a threshold scheme for training-based channel estimation. A channel impulse response (CIR) estimate may be found by estimating a maximum-likelihood (ML) estimate, and then refining or improving the ML estimate using a threshold scheme. The result is an improved CIR estimate for a MIMO channel.
In one embodiment, the CIR estimate may be used by a crosstalk suppression scheme to reduce or cancel crosstalk for the MIMO system. The crosstalk suppression scheme may suppress, for example, crosstalk in band-limited channels, and also separates the crosstalk suppression problem from the equalization that provides the ultimate crosstalk suppression level. As a result, the embodiment may use the same equalizer for all outputs of the crosstalk suppression scheme.
Numerous specific details may be set forth herein to provide a thorough understanding of the embodiments of the invention. It will be understood by those skilled in the art, however, that the embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments of the invention. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the invention.
It is worthy to note that any reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Referring now in detail to the drawings wherein like parts are designated by like reference numerals throughout, there is illustrated in
In one embodiment, system 100 may communicate various types of information between the various network nodes. For example, one type of information may comprise “media information.” Media information may refer to any data representing content meant for a user. Examples of content may include, for example, data from a voice conversation, videoconference, streaming video, electronic mail (“email”) message, voice mail message, alphanumeric symbols, graphics, image, video, text and so forth. Data from a voice conversation may be, for example, speech information, silence periods, background noise, comfort noise, tones and so forth. Another type of information may comprise “control information.” Control information may refer to any data representing commands, instructions or control words meant for an automated system. For example, control information may be used to route media information through a network, or instruct a network node to process the media information in a predetermined manner. Both the media and control information may be communicated in a data stream between two or more endpoints. The term “data stream” as used herein may refer to a collection of bits, bytes or symbols sent in series during a data communication session.
In one embodiment, one or more communications mediums may connect the nodes. The term “communications medium” as used herein may refer to any medium capable of carrying information signals. Examples of communications mediums may include metal leads, semiconductor material, twisted-pair wire, co-axial cable, fiber optic, RF spectrum, and so forth. The terms “connection” or “interconnection,” and variations thereof, in this context may refer to physical connections and/or logical connections.
In one embodiment, for example, the network nodes may be connected by communications mediums comprising RF spectrum for a wireless network, such as a cellular or mobile system. In this case, the network nodes and/or networks shown in system 100 may further comprise the devices and interfaces to convert the signals carried from a wired communications medium to RF signals. Examples of such devices and interfaces may include omni-directional antennas and wireless RF transceivers. The embodiments are not limited in this context.
In one embodiment, the network nodes may communicate information to each other in the form of packets. A packet in this context may refer to a set of information of a limited length, with the length typically represented in terms of bits or bytes. An example of a packet length might be 1000 bytes. The packets may be communicated in accordance with one or more packet protocols. For example, in one embodiment the packet protocols may include one or more Internet protocols, such as the Transmission Control Protocol (TCP) and Internet Protocol (IP). The embodiments are not limited in this context.
Referring again to
System 100 may operate to communicate information between network nodes 120 and 122 at communication speeds of approximately 1000 megabits per second (Mbps). The 1000 Mbps full duplex data throughput may be achieved using MIMO channel 108. MIMO channel 108 may comprise, for example, four pairs of twisted pair coppers wires bundled in a Category 5 (CAT-5) cable. Each pair may transmit a 250 Mbps data stream encoded into a 4-dimension 5-level pulse amplitude modulation (4-D PAM-5) signal constellation. In essence, the four pairs of CAT-5 unshielded twisted pair (UTP) wiring may be treated as one channel with four inputs and four outputs. Hence, each network node may contain four similar transceivers, one for each pair of physical wire. For example, each of the transmitters of transceivers 1-N may be paired with a corresponding receiver of transceivers 1-M. Hybrid circuits (not shown) may facilitate bidirectional data transmission on the same wire.
During the initialization of system 100, the paired transceivers may go through a training phase in an attempt to characterize MIMO channel 108. Channel estimators 116 and 118 may control or assist in the training phase. Signals may be communicated between the respective transmitters and receivers, and at least one characteristic of MIMO channel 108 may be measured, such as channel impulse responses, amplitude levels, shapes of the signals, signal distortion, crosstalk impulse responses, temporal shifts and delays, and so forth. The communicated signals received by the receiving device are predetermined signals, and deviancies from the expected values are noted by the receiving device.
One factor that can result in deviancies is crosstalk noise. Crosstalk noise, such as FEXT noise, may result when the energy from a signal in one communications path or data stream interferes with the signal in one or more other communication paths or data streams. That is, crosstalk noise represents unwanted coupling between two or more transmitting pairs as the signal propagates from the transmit end of the pair to the receiving end. Crosstalk noise may impact the ability of the receiver to decode a particular data stream, and also may impair the speed or bandwidth for MIMO channel 108.
In one embodiment, channel estimators 116 and 118 may be used to perform channel characterization for MIMO channel 108 in an effort to estimate potential crosstalk noise. Channel estimators 116 and 118 may estimate a plurality of channel impulse response values for MIMO channel 108. Channel estimators 116 and 118 may estimate a channel impulse response value between each transmitter and each receiver. Consequently, for a MIMO system with N transmitters and M receivers, N×M impulse responses should be obtained after the training phase. These channel impulse responses may then be used to construct a MIMO channel impulse response matrix. Accordingly, channel estimators 116 and 118 pass the channel impulse response values to CFMs 104 and 112, respectively. CFMs 104 and 112 may use the channel impulse response values to assist in creating an appropriate filter for suppressing the crosstalk noise. The channel estimate scheme may be discussed in more detail with reference to
In one embodiment, for example, CFMs 104 and 112 may receive the CIR estimate from channel estimators 116 and 118, respectively. Each CFM may use the CIR estimate to synthesize or create a filter to assist in reducing or canceling crosstalk noise at a receiver coupled to MIMO channel 108. Therefore, in one embodiment the filter may be synthesized after the training phase. CFMs 104 and 112 may be discussed in more detail with reference to
Channel Filtering
As shown in
In one embodiment, the CIR matrix may represent a description of how a communication medium such as MIMO channel 108 alters the signal that is being transmitted between two endpoints, such as network nodes 120 and 122. With any practical channel the inevitable filtering effect will cause a spreading of individual data symbols passing through the communications channel. The CIR matrix attempts to characterize or describe how the propagation of a transmitted signal induces a signal at the receiver. It is possible to express the channel in terms of an impulse response, that is, the signal that would be received were an impulse to be transmitted. In one embodiment, for example, the CIR matrix may characterize MIMO channel 108 as a generic N-input and M-output MIMO system composed of P-tap finite impulse response (FIR) filters expressed in matrix form. Once the CIR matrix is generated, CIR matrix generator 202 may send the generated CIR matrix to CSF matrix generator 204.
In one embodiment, CSF matrix generator 204 may receive the CIR matrix. CSF matrix generator 204 may generate a CSF matrix using the received CIR matrix. The CSF matrix may represent a matrix filter constructed using the CIR values approximated by the FIR filters. The CSF matrix is synthesized using the CIR matrix in an attempt to reduce or eliminate crosstalk for MIMO channel 108. Once the CSF matrix is generated, CSF matrix generator 204 may send the generated CSF matrix to filter 206.
In one embodiment, filter 206 may receive the CSF matrix. Filter 206 may use the CSF matrix to filter crosstalk noise from one or more data streams communicated using MIMO channel 108. The CIR matrix, CSF matrix and filter 206 may be described in more detail with reference to
The operations of systems 100 and 200 may be further described with reference to
In one embodiment, the CIR matrix may be estimated by estimating at least one channel characteristic for the MIMO channel. A plurality of channel impulse response elements may be estimated based on the channel characteristic. The CIR matrix may be created using the channel impulse response elements.
The operation of systems 100 and 200, and the programming logic shown in
where yi(t)-i-th channel output, hij(t)—channel impulse response between the j-th input and the i-th output, sj(t)—the j-th channel input signal, ni(t)—noise at the i-th output.
In discrete form the equation (1) may be rewritten as follows:
where hij(m)—tap gain coefficients of finite impulse response of the equivalent discrete-time channel between the j-th input and the i-th output, whose memory is denoted by Lij, the sj(m) ni(m) yi(m)—are sampled versions of the sj(t), ni(t), yi(t) respectively.
By grouping the received signals from all m0 channel outputs into a column vector y(t) the equation (1) is expressed in matrix form:
y(t)=H(t){circle around (X)}s(t)+n(t), (3)
where, y(t) m0×1 vector of the received signals, H(t)—is the m0×m0 MIMO channel impulse response matrix, s(t)—m0×1 vector of the transmitted signals, n(t)—noise vector.
In discrete form the equation (3) can be written as following:
where v is the maximum length of all of the m0×m0 channel impulse responses, i.e., v=maxi,jLij. Note that in these notations the non-diagonal elements of the CIR matrix H(t) represent the undesirable crosstalk impulse responses and introduce the unwanted interference (i.e., crosstalk) into useful signal from the adjacent pairs (or parallel spatial channels for wireless communication system) and these interferences are removed by CFM 200.
In this example, assume that system 100 reduces crosstalk noise by performing the following operations. As an initial matter, the overall channel characteristics of system 100 should be defined. Any given channel estimation technique may be used to define the channel characteristics. The particular channel estimation technique used for a given implementation may be defined by the level of crosstalk suppression desired, which in turn depends on the accuracy properties of estimate.
Once the channel estimation operation is fulfilled, the complete CIR matrix Ĥ(t) may be constructed at the receiver end. This matrix may contain a set of CIR matrix values approximated by the FIR filters, which may be represented as follows:
To suppress the crosstalk in each channel output, a crosstalk suppression filter Q(t) may be applied to process the received signals. This filter may be synthesized using the CIR matrix Ĥ(t).
The algorithm of the crosstalk filter Q(t) calculation may comprise several stages. The following operations may calculate the elements qij(t) i, j=1, . . . , m0 of the crosstalk suppression filter:
Obtained such way the matrix Q(t) comprises the crosstalk suppression filter.
As shown above, the performance of the crosstalk suppression filter may rely upon the measured channel characteristics. Assuming perfect channel knowledge, CFM 200 may completely eliminate crosstalk noise from MIMO channel 108. In the noise-free channel the output of the crosstalk suppression filter can be written as:
x(t)=Q(t){circle around (X)}y(t)=Q(t){circle around (X)}H(t){circle around (X)}s(t)=G(t){circle around (X)}s(t) (6)
where m0×m0 matrix filter G(t) has the diagonal form with the same elements g(t) on the main diagonal. Therefore the outputs of the matrix crosstalk suppression filter are crosstalk-free signals:
xj(t)=g(t){circle around (X)}sj(t). (7)
To further describe the operation of system 100, consider a lesser complex case of a MIMO system having two inputs and two outputs, without noise. In this case equation (1) gives the relationship between input and output signals in the form
y1(t)=h11(t){circle around (X)}s1(t)+h12(t){circle around (X)}s2(t);
y2(t)=h21(t){circle around (X)}s1(t)+h22(t){circle around (X)}s2(t); (8)
The CIR matrix may be represented as
Assuming perfect channel estimation, the crosstalk suppression filter may be represented as
The output signals of this filter may be described by the following equation:
x1(t)=[h22(t){circle around (X)}h11(t)−h12(t){circle around (X)}h21(t)]{circle around (X)}s1(t)
x2(t)=[h11(t){circle around (X)}h22(t)−h21(t){circle around (X)}h12(t)]{circle around (X)}s2(t) (9)
As seen from equation (9), the output signals may be crosstalk-free signals. Note that the complete impulse responses of both outputs are approximately equal. This means that the same equalizers may be applied at the output of the crosstalk suppression filter.
Channel Estimation
As discussed previously, channel estimators 116 and 118 may use a channel estimation technique to estimate one or more characteristics of a channel, such as MIMO channel 108. For example, channel estimators 116 and 118 may estimate a CIR estimate. The CIR estimate may then be used by a crosstalk filtering module, such as CFM 104 and CFM 112, to synthesize a filter to assist in reducing or canceling crosstalk noise at a receiver coupled to MIMO channel 108. The performance of the CFM may increase in accordance with the accuracy of the CIR estimate.
In one embodiment, channel estimators 116 and 118 may use a channel estimation technique comprising a threshold scheme for training-based channel estimation. A CIR estimate may be found by estimating a ML estimate, and then refining or improving the ML estimate using a threshold scheme. The result is an improved CIR estimate for a MIMO channel, such as MIMO channel 108.
The ML estimate is known to be a minimum-variance unbiased estimate. The ML estimate, however, may be unsatisfactory for a number of reasons. For example, the ML estimate of a channel does not provide a channel length L. In the absence of a predetermined channel length, the ML estimate may use the maximum possible channel length. The real channel, however, can often be shorter then the maximum possible channel length. In this case, the ML estimate may have false taps due to channel noise. The impact of false taps on the accuracy of the CIR estimate will increase as the difference between the length of the real channel and maximum possible channel length increases. In another example, the ML estimate may provide a minimum variance of estimate error if the noise is Gaussian white noise. In practice, however, the background channel noise can be different from Gaussian white noise. For example, the alien noise in cable bundles does not comprise Gaussian white noise since it is induced by signals from other cables.
One embodiment may comprise a channel estimate scheme to compensate for these and other problems. The channel estimate scheme may use a threshold scheme to refine an ML estimate. As a result, channel estimators 116 and 118 may generate a more accurate CIR estimate relative to existing techniques. The CIR estimate may be used to reduce crosstalk noise in a communication system using a MIMO channel, such as MIMO channel 108.
In one embodiment, channel estimator 500 may comprise a ML estimator 520. ML estimator 520 may further comprise a filter 502 connected to a matrix transformer 504. ML estimator 520 may have access to a training sequence (TS) table 506. ML estimator 520 may also be connected to a threshold generator 508 and a candidate CIR generator 510, both of which are connected to each other. Candidate CIR generator 510 may be connected to a filter 512. Filter 512 may also access TS table 506. Filter 512 may be connected to a distance calculator 514. Distance calculator 514 may be connected to a minimum selector 516. Minimum selector 516 may be connected to CIR selector 518. The operation of channel estimator 500 may be further described with reference to
In one embodiment, the ML estimate may be estimated by filtering the first received training sequence using a filter. The filter may be matched to the first received training sequence. The output of the filter may be a first set of vectors for a matrix. The matrix may be transformed to form the ML estimate.
In one embodiment, the CIR estimate may be estimated by receiving the ML estimate. A set of threshold values may be generated using the ML estimate. A set of candidate CIR estimate vectors may be generated using the threshold values. A CIR estimate may be selected from the candidate CIR estimate vectors.
In one embodiment, the set of threshold values may be generated by solving the following equation:
where t=[t1, . . . , tN] is a set of thresholds, j=1, . . . , N, L represents a channel impulse response length, ĥML represents said ML estimate, ĥkML represents the k-th tap of ML estimate of said channel impulse response, and k=0, . . . , L−1.
In one embodiment, the candidate CIR estimate vectors may be generated by solving the following equation:
where ĥ(j)=[ĥ(1), . . . , ĥ(N)] is a set of candidate CIR estimates, j=1, . . . , N, ĥk(j) is k-th tap of j-th candidate CIR estimate vectors, t=[t1, . . . , tN] is a set of thresholds, and ĥML represents said ML estimate.
In one embodiment, the CIR estimate may be selected from the candidate CIR estimate vectors. The first received training sequence, which is known to the receiver, may be filtered using the candidate CIR estimate vectors to form a second set of vectors. A set of distance values between the second set of vectors and the second received training sequence may be determined. A minimum distance value may be selected from the set of distance values. The CIR estimate vector may be selected using the minimum distance value.
In one embodiment, the CIR estimate may be used to filter crosstalk from a communication channel, such as MIMO channel 108, for example. The CIR estimate may be received at a CFM to form a CIR matrix. A CSF matrix may be created based on the CIR matrix. A plurality of data streams received over a channel for a MIMO output system may be filtered to reduce crosstalk between the data streams using the CSF matrix.
The operation of system 500, and the programming logic shown in
In this example, channel estimator 500 may implement a threshold scheme for training-based channel estimation. The CIR estimate may be derived from an ML estimate. Once the ML estimate is generated, it may be improved using a threshold technique. Since the scheme is training-based, the CIR estimate may be obtained using a known training sequence and its corresponding observations. In one embodiment, the threshold scheme transmits and receives the same training sequence at least twice. The training sequence may be a known training sequence optimal used for ML estimation.
The received symbols of the TS transmitted for the first time are:
where sj (j=1, . . . , M) is the symbol for the training sequence, hk (k=0, . . . ,L−1) is the tap of CIR, L is the CIR length and ni(1) is the sample of the additive channel noise.
The received symbols of the training sequence transmitted for the second time are:
where ni(2) is the other realization of the channel noise.
By comparing equations (10) and (11) it can be seen that the received training sequences differ principally in noise realizations. This may be particularly useful when evaluating threshold technique performance as discussed further below.
Equation (10) can be rewritten in a matrix-vector form as:
y(1)=Sh+n(1) (12)
where h=[h0, . . . , hL-1]T is unknown CIR, that should be estimated, and n(1) is the noise vector, S is (M-L+1)×L -dimensional matrix with entries Sij=sL+(i-j), y(1) is the vector of the received signals.
The first received training sequence y(1) is used to obtain the maximum-likelihood estimate (MLE) of the CIR h. Using notations (12) the ML estimate of CIR is given by [10, 11]:
ĥML=(STS)−1STy(1) (13)
Referring again to
After the ML estimate ĥML of the CIR is obtained, threshold generator 508 generates the set of thresholds t=[t1, . . . , tN] in accordance with the following equation:
Candidate CIR generator 510 may receive the set of thresholds and use them to form the set of CIR estimates [ĥ(1), . . . , ĥ(N)]. Each estimate ĥ(j) may be obtained using the following rule:
Candidate CIR generator 510 then outputs the generated set of N CIR estimates. The CIR estimates may be in the form of vectors, for example.
Channel estimator 500 may then proceed to select the best CIR estimate from the set of generated CIR estimates. Filter 512 may receive the candidate CIR estimates and convolute each one with the training sequence in accordance with the following equation:
Thus the set of vectors [b(1), . . . , b(N)] may be generated.
Distance calculator 514 may receive the set of vectors [b(1), . . . , b(N)] and calculate the distances [d1, . . . , dN] between the obtained vectors [b(1), . . . , b(N)] and the second received training sequence y(2) in accordance with the following equation:
Minimum selector 516 may receive the distances [d1, . . . , dN] between the obtained vectors, and select the vector b(j
j0=arg min dj (18)
The value dj
instead of (17). In this case the minimal distance may not be found, because y(1) was used for obtaining of the ML CIR estimate. The solid curves relate to the case when dj is calculated as (17). Due to other noise realization the minimal distance can always be found.
In accordance with a variation of the channel estimation technique described above, another embodiment may further refine the final CIR estimate in an attempt to get an improved final CIR estimate. Once the first final CIR estimate is obtained as previously described, the channel estimation technique may be repeated a second time to yield a second final CIR estimate. During the second iteration, however, the first and the second received training sequences may be swapped. For example, a second ML estimate may be obtained during the second iteration using the second received training sequence. The second ML estimate may be used to generate a second set of thresholds, candidate CIR estimates and vectors. A set of distances may be calculated between the second set of generated vectors and the first received training sequence. The minimal distance may be used to select the second final CIR estimate from the second generated set of candidate CIR estimates. The first and second final CIR estimates may then be averaged together to find a refined final CIR estimate.
In accordance with another variation of the channel estimation technique described above, another embodiment may use more than two received training sequences to generate the final CIR estimate. For example, in one embodiment the receiver may receive M training sequences, where M≧2. An i-th final CIR estimate may be obtained for every received training sequence. This may be accomplished by obtaining an ML estimate of the CIR using the i-th received training sequence. A set of thresholds may be generated using the ML estimate. The set of thresholds may be used to generated a set of candidate CIR estimates. A set of vectors may be generated by filtering the training sequence through the candidate CIR estimates. An averaged received training sequence may be found by averaging the other M-1 received training sequences, where all received training sequences except the last are used to find the average. A set of distances may be calculated between the averaged training sequence and the set of vectors. A minimum distance may be found from the set of distances. The i-th final CIR estimate may be selected from the set of candidate CIR estimates which corresponds to the minimum distance. The final CIR estimate may be found by averaging the M final CIR estimates.
The embodiments may be implemented using an architecture that may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other performance constraints. For example, one embodiment may be implemented using software executed by a processor. The processor may be a general-purpose or dedicated processor, such as a processor made by Intel® Corporation, for example. The software may comprise computer program code segments, programming logic, instructions or data. The software may be stored on a medium accessible by a machine, computer or other processing system. Examples of acceptable mediums may include computer-readable mediums such as read-only memory (ROM), random-access memory (RAM), Programmable ROM (PROM), Erasable PROM (EPROM), magnetic disk, optical disk, and so forth. In one embodiment, the medium may store programming instructions in a compressed and/or encrypted format, as well as instructions that may have to be compiled or installed by an installer before being executed by the processor. In another example, one embodiment may be implemented as dedicated hardware, such as an Application Specific Integrated Circuit (ASIC), Programmable Logic Device (PLD) or Digital Signal Processor (DSP) and accompanying hardware structures. In yet another example, one embodiment may be implemented by any combination of programmed general-purpose computer components and custom hardware components. The embodiments are not limited in this context.
While certain features of the embodiments of the invention have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments of the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/RU04/00037 | 2/5/2004 | WO | 8/4/2006 |