Data transmissions across network connections may implement full duplex transceivers, each containing a transmitter and receiver. During operation transmission of data from a device may result in signal echo included in a signal being received.
The invention described herein is illustrated by way of example and not by way of limitation in the accompanying figures. For simplicity and clarity of illustration, elements illustrated in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference labels have been repeated among the figures to indicate corresponding or analogous elements.
While the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific exemplary embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
In the following description, numerous specific details such as types and interrelationships of system components and logic partitioning/integration choices are set forth in order to provide a more thorough understanding of the present disclosure. It will be appreciated, however, by one skilled in the art that embodiments of the disclosure may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the invention. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.
References in the specification to “one embodiment”, “an embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; and others.
Referring now to
The processor 102 may include, but is not limited to, processors manufactured or marketed by Intel Corp., IBM Corp., and Sun Microsystems Inc. In one embodiment, computing device 100 may include multiple processors 102. The processors 102 may also include multiple processing cores. Accordingly, the computing device 100 may include multiple processing cores for executing instructions of the computing device 100.
The memory 104 may include, but is not limited to, Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Synchronized Dynamic Random Access Memory (SDRAM), Rambus Dynamic Random Access Memory (RDRAM), or the like. In one embodiment, the memory 104 may include one or more memory units that do not have to be refreshed.
The chipset 106 may include a memory controller, such as a Memory Controller Hub (MCH), an input/output controller, such as an Input/Output Controller Hub (ICH), or the like. In an alternative embodiment, a memory controller for memory 104 may reside in the same chip as processor 102. The chipset 106 may also include system clock support, power management support, audio support, graphics support, or the like. In one embodiment, chipset 106 is coupled to a board that includes sockets for processor 102 and memory 104.
The components of computing device 100 may be connected by various interconnects. In one embodiment, an interconnect may be point-to-point between two components, while in other embodiments, an interconnect may connect more than two components. Such interconnects may include a Peripheral Component Interconnect (PCI), such as PCI Express, a System Management bus (SMBUS), a Low Pin Count (LPC) bus, a Serial Peripheral Interface (SPI) bus, an Accelerated Graphics Port (AGP) interface, or the like. I/O device 118 may include a keyboard, a mouse, a display, a printer, a scanner, or the like.
The computing device 100 may interface to external systems through network interface 114. The network interface 114 may include, but is not limited to, a modem, a Network Interface Card (NIC), or other interfaces for coupling a computing device to other computing devices. A carrier wave signal 123 may be received/transmitted by network interface 114. In the embodiment illustrated in
The computing device 100 also includes non-volatile storage 105 on which firmware and/or data may be stored. Non-volatile storage devices include, but are not limited to, Read-Only Memory (ROM), Flash memory, Erasable Programmable Read Only Memory (EPROM), Electronically Erasable Programmable Read Only Memory (EEPROM), Non-Volatile Random Access Memory (NVRAM), or the like.
The mass storage 112 may include, but is not limited to, a magnetic disk drive, such as a hard disk drive, a magnetic tape drive, an optical disk drive, or the like. It is appreciated that instructions executable by processor 102 may reside in mass storage 112, memory 104, non-volatile storage 105, or may be transmitted or received via network interface 114.
In one embodiment, the computing device 100 may execute an Operating System (OS). Embodiments of an OS include Microsoft Windows®, the Apple Macintosh operating system, the Linux operating system, the Unix operating system, or the like.
In one embodiment, the network interface 114 may be used to communicate over a network in full duplex using 1GBaseT or 10GBaseT Ethernet, for example. In transmissions over a network, one consideration is that of transmitter linearity. Transmitter linearity considerations may involve the quality of the transmitted signal and the ability to suppress echo at the receiver. In various communication systems such as such as 1GBaseT and 10GBaseT Ethernet, for example, transmitted symbols are modulated by different voltage levels. Hence, a transmitter may be expected to output a corresponding voltage level for every symbol which may be used implement Pulse-Amplitude-Modulation, for example.
In an ideal case, a constant scaling factor may transform the symbol values into voltages appropriate for transmission. However, in practical implementations, the conversion process is performed by analog circuitry may be non-linear resulting from issues such as analog impairments, e.g., transistor mismatch. Such deviation from a constant scaling ratio is considered as a static non-linearity of the transmitter, and imposes the above mentioned implications.
For example, in a system which employs 5 possible output levels, ideal mapping may be:
However, in a practical implementation the actual mapping might vary from the optimal setting such that:
Referring now to
In an ideal case, if the transmitted data is known and the echo transfer function (e.g. “channel”) from the local transmitter 200 to an analog-to-digital converter is known, then by knowing the input and the corresponding transfer function, the output may be determined and may be subtracted from the received signal. However, while a digital echo canceller 208 may perform its echo signal calculation that the ideal output levels were transmitted, the actual transmitted data which is convolved with the echo channel and creates the echo signal is not as expected, since it contains the above mentioned non-linearity in the analog transmitter as shown in Table 2.
Therefore, even if physical channel 206 is accurately estimated in the receiver, the cancellation would not be perfect since the digital echo canceller 208 output would not match the echo signal input. However, if the actual transmitted data is known, it may be entered into digital echo canceller calculations, allowing the echo canceller 208 to operate more accurately.
In one embodiment of the network interface 114, the ideal symbol may be utilized as an address pointer to its corresponding corrected value in a memory array 204, which, in one embodiment, may be a RAM look-up-table as illustrated in
In one example, the correction factor that corresponds to the ith level is ε(i). Therefore, the corrected symbol may be represented as:
corrected_symbol(i)=ideal_symbol(i)+ε(i) (1)
Or alternatively:
Using these equations, processing of the correction symbols may base on the echo canceller hardware, which may contains an adaptive coefficient control (e.g. using a LMS algorithm).
Referring now to
Referring now to
In another embodiment the transmitted signal itself may be calibrated through implementation of another RAM that may operate as a look-up-table for the transmit signal calibration. Therefore, instead of driving the transmitter with a certain input, the transmitter 200 may be fed by a calibrated value such that the output would be linear. In one embodiment, the transmit calibration accuracy is a function of the transmitter D/A converter resolution.
To calibrate the signal, various properties of the optimization problem, may be considered. The algorithm previously described herein allows extracting the combined set {{ci}i=1num of coeffs, {αi}i=1num of levels} (or {{ci}i=1num of coeffs, {εi}i=1num of levels}), which may bring the echo cancellation performance to optimality. However, due to the specific optimization problem formulation, the correction factors α(i) (or ε(i)) may not represent the exact non-linearity voltage at the transmitter, but a value which is proportional to the actual transmitter error. One reason for this property may be the specific optimization criterion, where the product of the echo canceller coefficients and the transmit correction factors is the optimization target. According to this setting, if a specific solution set of coefficients and correction factors is {{ci}i=1num of coeffs, {αi}i=1num of levels}, so that
is also a valid solution for any real value A, because the product remains the same. As will be further described herein, the transmit calibration is strongly tied with the memory array 204, which serves as its sensor. Therefore, the echo canceller correction values may be predictable and consistent.
In one embodiment, a convergence flow may be implemented to increase robustness. The flow may include disablement of memory array 204 and letting the echo canceller coefficients converge. The flow may further include selection of one arbitrary symbol and setting its corresponding correction factor to be ε(ref_sym)=0(or α(ref_sym)=1). This factor may not be updated, and thus serves as a reference level. The flow further includes activating the memory array 204 (except for the reference level) and let the combined coefficients/correction factors converge together. The initial correction values may be zeros for the additive representation (ε's) or ones in the product representation (α's). Assuming that the correction factors are less dominant than the echo canceller coefficients (since they are much smaller), the optimization problem solution may be only fine-tuned so the correction factors will remain small after the memory array 204 enabling, hence predictable for any practical design consideration. Additionally, by forcing one level value to be constant, the above proportional factor “A” may be set uniquely, so that the convergence would be repeatable and consistent.
Since the transmitter is not linear, the correction factors which were obtained for the echo cancellation calibration may not be subtracted from the ideal transmitter input. However, a conclusion may be made that a positive correction for the echo canceller reference of a certain level indicates that the corresponding transmitter output is larger than expected (and vice-versa for negative correction factors). Therefore, in one embodiment a transmitter calibration method may be implemented.
The described linearization process may not constrain the resultant dynamic range. Therefore, in one embodiment, the converged values may be scaled according to one of the extreme symbols, i.e. multiply all the levels such that the extreme symbol will correspond to the maximal D/A code. In another embodiment, to select the non-adaptive reference level may be selected to be one with a large magnitude (positive or negative), allowing it to serve as an anchor that ensures sufficient dynamic range.
While the disclosure has been illustrated and described in detail in the drawings and foregoing description, such an illustration and description is to be considered as exemplary and not restrictive in character, it being understood that only illustrative embodiments have been shown and described and that all changes and modifications that come within the spirit of the disclosure are desired to be protected.
Number | Name | Date | Kind |
---|---|---|---|
4481622 | Cheng et al. | Nov 1984 | A |
4581492 | Virdee | Apr 1986 | A |
4782459 | Johnston | Nov 1988 | A |
5148427 | Buttle et al. | Sep 1992 | A |
5757906 | Unno | May 1998 | A |
6064733 | Hayashi | May 2000 | A |
6205124 | Hamdi | Mar 2001 | B1 |
6505222 | Davis et al. | Jan 2003 | B1 |
6563870 | Schenk | May 2003 | B1 |
6744812 | Anne et al. | Jun 2004 | B2 |
6763099 | Blink | Jul 2004 | B1 |
6952600 | Paksuniemi et al. | Oct 2005 | B2 |
7031461 | Lipari et al. | Apr 2006 | B2 |
7046798 | Betts et al. | May 2006 | B2 |
7167883 | Greiss et al. | Jan 2007 | B2 |
7409003 | Vaananen et al. | Aug 2008 | B2 |
7415061 | Currivan et al. | Aug 2008 | B2 |
7421018 | Anim-Appiah et al. | Sep 2008 | B2 |
7436881 | Nedic et al. | Oct 2008 | B2 |
7457351 | Currivan et al. | Nov 2008 | B1 |
7457352 | Currivan et al. | Nov 2008 | B2 |
20080133994 | Oh | Jun 2008 | A1 |
20090168672 | Shoor | Jul 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20090168672 A1 | Jul 2009 | US |