The invention relates generally to digital communications. More particularly, the invention relates to a method and apparatus for parallel feedback processing.
High-speed networks are continually evolving. The evolution includes a continuing advancement in the operational speed of the networks. The network implementation of choice that has emerged is Ethernet networks physically connected over unshielded twisted pair wiring. Ethernet in its 10BASE-T form is one of the most prevalent high speed LANs (local area network) for providing connectivity between personal computers, workstations and servers.
High-speed LAN technologies include 100BASE-T (Fast Ethernet) and 1000BASE-T (Gigabit Ethernet). Fast Ethernet technology has provided a smooth evolution from 10 Megabits per second (Mbps) performance of 10BASE-T to the 100 Mbps performance of 100BASE-T. Gigabit Ethernet provides 1 Gigabit per second (Gbps) bandwidth with essentially the simplicity of Ethernet. There is a desire to increase operating performance of Ethernet to even greater data rates.
An implementation of high speed Ethernet networks includes simultaneous, full bandwidth transmission, in both directions (termed full duplex), within a selected frequency band. When configured to transmit in full duplex mode, Ethernet line cards are generally required to have transmitter and receiver sections of an Ethernet transceiver connected to each other in a parallel configuration to allow both the transmitter and receiver sections to be connected to the same twisted wiring pair for each of four pairs.
The twisted pair LAN connections 112, 114, 116, 118 are located physically proximate, and interference between the twisted pairs 112, 114, 116, 118 is caused by interactions between signals of the twisted pair LAN connections 112, 114, 116, 118. The interference is in the form of far end cross-talk (FEXT) and near-end cross-talk (NEXT). NEXT is caused by interference due to signals generated at the near-end of a neighboring twisted pair connection. For example, NEXT interference includes the transmitter signals S1A, S3A, S4A of transmitters 115a, 155a, 175a interfering with receiver signal R2A of receiver 145a. FEXT is caused by interference due to signals generated at the far-end of a neighboring twisted pair connection. For example, FEXT interference includes the transmitter signals S1B, S3B, S4B of transmitters 115b, 155b, 175b interfering with receiver signal R2A of receiver 145a. Other interference includes the echo signal. For example, the echo signal includes interference the signal S2A of transmitter 135a interfering with the receiver signal R2A of receiver 145a. Additional interference includes inter-symbol interference (ISI). ISI is self-interference of the transmit signal S2B at the input R2A of the receiver 145a. Other interference can include alien signal interference. Alien signal interference generally includes interference due to other Ethernet twisted pair LAN connections of cables that may be proximate to the twisted pair cable of the signal of interest.
A possible solution to addressing ISI is to include a decision feedback equalizer (DFE) in the Ethernet receiver, to cancel interference of adjacent (past and future) signals. However, a DFE can suffer from error propagation problems because once an error has been introduced into a decision sample, the DFE will propagate the error through the feedback filter over many subsequent samples.
Alternatively, a feedback equalizer can be included within the transmitter, thereby eliminating the need for a DFE in the receiver. Simple implementations of transmitter feedback equalizers can generate output signals having amplitudes that are substantially greater than the amplitudes of the un-equalized signal streams. This can be undesirable because transmission signals having large signal amplitudes require higher power transmitter output chains. Additionally, high power transmission signals are more likely to suffer from distortion, and generate more electromagnetic interference that can be received by other devices
If the channel impulse response of the Ethernet channel is known, a Tomlinson-Harashima precoder can be used in the Ethernet transmitter, eliminating the need for a DFE in the Ethernet receiver. The precoder compensates for interference in a channel having an equivalent time response. A Tomlinson-Harashima precoder, however, produces transmission signals having amplitudes that are comparable with the amplitudes of the un-equalized signals.
The precoder additionally includes a feedback structure including an FIR filter. The feedback structure includes a series of delays 220, 222, 224, 226, 228, a series of multipliers 230, 232, 234, 236, 238 and summers 240, 242, 244, 246, 248. The precoder generates a digital signal stream Yn that is preprocessed to minimize the effects of ISI (and in some cases FEXT) during transmission of the digital signal stream Yn. The receiver of the digital signal stream includes an equivalent modulo unit as the modulo unit 210 of the transmitter, that reverses the modulo operation of the transmitter.
The operational speed of this Tomlinson-Harashima precoder is limited by the time required for the operations of the first feed back branch of the feedback filter. More specifically, the critical path of the filter is the first multiplier 238 plus the adder 248 and the modulo 210. Generally, the operational speed is limited by the speed in which the first multiply and add can be executed. These operations must be completed with a single time delay (Z−1), which determines the maximum operational speed of the precoder.
It is desirable to have a high throughput (high speed) transceiver that provides preprocessing for minimization of interference (ISI, FEXT) of Ethernet LAN signals. The processing should require a minimal amount of electronic hardware, and dissipate a minimal amount of power, while operating at high speeds, and generating processed signals having reasonable signal amplitudes.
An embodiment of the invention includes a parallel feedback processor. The parallel feedback processor includes a plurality of parallel coupled feedback filters. Each feedback filter includes a non-linear operator. At least one of the feedback filters includes a plurality of sub-filters. Each sub-filter computes a one of possible non-linear operator filter outputs. One sub-filter output is selected as an output of the at least one feedback filter.
Another embodiment of the invention includes a method of parallel feedback processing. The processing includes receiving a digital stream of samples. A first feedback filter chain receives a subset of the samples. A second feedback filter chain simultaneously receives a different subset of the samples. The second feedback filter includes a plurality of sub-filters, in which the sub-filters receive a different subset of samples, and each sub-filter processes a different one of multiple possible modulo shifts. The first feedback filter selects one of the sub-filter processed outputs as an output of the second feedback filter chain.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
As shown in the drawings for purposes of illustration, the invention is embodied in an apparatus and method for high-speed parallel feedback processing that reduces the effects of transmission interference. The transmission interference can include FEXT and ISI Ethernet transmission interference.
Delay units Z−2 each provide a delay having a time duration of two samples. Two sample delays are used because every other sample is generated by a different one of the two feedback filters 310, 350. A parallel feedback processor that includes a different number of coupled feedback filters would include delay units having correspondingly different time delay durations.
The first feedback filter 310 generates the Y2n preprocessed samples, and the second feedback filter 350 including a set of sub-filters 352, 354, 356 generates the Y2n+1 preprocessed samples. The first feedback filter 310 includes a modulo unit 312. The sub-filters 352, 354, 356 include modulo units 353, 355, 357, and simultaneously compute a multiplicity of output samples that are dependent upon the other feedback filters. A single output sample generated by the sub-filters 352, 354, 356 is selected by the modulo unit 312 of the feedback filter 310. The modulo units 312, 353, 355, 357 can alternatively be implemented with comparable non-linear operators. For example, another non-linear operator includes a multilevel constellation (such as QAM, PAM, etc) slicer unit in a receiver implementation of a DFE, and a dynamic limited precoder. Most of the descriptions here pertain to modulo units and modulo shifts. However, these descriptions can also be extended to multilevel slicers and slicer output values. For example, the slicer for a PAM8 receiver typically has eight possible output levels. The finite number of levels can be used as inputs to sub-filters.
Generalized Modulo Desription
Given a real valued number X, and a modulo shift value M′, the real value output number Y (called remainder) and the integer K (called quotient) can be defined as:
Y=MOD[X]=X−KM′
Typically K is chosen such that the absolute value of Y is less than (or equal to) M′/2, that is |Y|<=M′/2, which minimizes the amplitude of Y. This is the definition of MOD typically used for THP. Other criteria for K can be used, such that it minimizes the average power of a sequence of values of Y over time (such as trellis shaping), or that minimize the complexity of the overall feedback filter. For these cases |Y| will not always be less than M′/2, but will have other benefits. The term modulo is often used in this context. For example, embodiments will be described in which the modulo is computed with reduced precision of the coefficients or input sample values to speed up or reduce the amount of hardware.
The multiple sub-filters 352, 354, 356 generate multiple modulo condition outputs. Each sub-filter generates its output based upon previous samples. The desired output is selected by the first feedback filter 310, and as shown in
As shown in
Partial filter sections of the first feedback filter 310 and the second feedback filter 350 include multipliers that receive coefficients designated as {C, D, E, . . . , W}. This is a simplification, and can include any number of additional multipliers and taps.
An FIR representation of the THP is:
Y2n+1=MOD[AY2n+BY2n−1+CY2n−2+DY2n−3+ . . . +WY2n−nw+X2n+1]
Designating P2n+1 as the partial value associated with previous feedback values, where P2n+1=DY2n−3+ . . . +WY2n−nw, the equation above can be rewritten as:
Y2n+1=MOD[AY2n+BY2n−1+CY2n−2+P2n+1+X2n+1]
Computation of two parallel samples requires each feedback filter computing the latest value based on the latest input and previous output values, starting at two samples earlier. That is, Y2n+1 must be computed based on the input sequence X2n+1, and prior feedback values Y2n−1, Y2n−2, etc., but without using Y2n. This is typically referred to as “loop unrolling.”
The calculation of the Y2n+1 output, can be determined. More specifically,
Y2n+1=MOD[AY2n+BY2n−1+CY2n−2+P2n+1]
After substituting Y2n above we get the new equation which does not include the term Y2n;
Y2n+1=(A2+B)Y2n−1+ABCY2n−2+AP2n−K2nM′+P2n+1
Although the equation can compute Y2n+1 without the value for Y2n, it does depend on the modulo shift value K2n associated with the output Y2n. As shown in
The modulo units generate a remainder and a quotient. The remainder is the output, and the quotient of the modulo unit 312 can be used to control the selection of the sub-filters of the second filter.
Number of Possible Modulo Shifts
The input streams of data bits can be used to pulse amplitude modulate (PAM) signals. Amplitudes of the PAM samples are generally represented by a set of zero mean integers. For example, a transmit stream of (binary) data bits can be grouped into groups of 3 bits and mapped into a stream of samples with eight amplitude levels. Typically, a PAM signal with 8 levels is digitally represented by an input stream with values from the list {−7, −5, −3, −1, +1, +3, +5, +7}. An example of a valid PAM8 stream includes Xn=[−5, +7, +1, −3, −3, +7, etc . . . ].
When the input samples are passed through a feedback filter, the amplitudes of the samples within the feedback filter (prior to the modulo unit) vary depending upon the number of taps of the feedback filter, and the values of the coefficients of the feedback filter. For example, the range of amplitudes of the samples within the feedback filter (prior to the modulo unit) could range from −23 to +23 (this range is merely selected as an example, the range can be much larger or smaller). For example, if the feedback filter has one coefficient represented by the equation Yn=Yn−1+Xn, and the input sequence is Xn=[+7, +5, +5, −1, +7 . . . ], the samples within the feedback filter are Yn=[+7, +12, +17, +16, +23, . . . ]. As previously stated, the modulo unit maps the amplitudes of the samples to a range that is approximately the same as the range of the input samples (−8, +8). For the suggested example, the modulo unit maps the amplitudes of the samples from the range of (−23, +23) to a range approximately the same the range of input sample. The mapped range could be, for example, (−8, +8). Typically for PAM with M levels, the modulo shift is chosen to be M′=2M and thus the typical modulo output interval is (−M, M), which for PAM8 would be (−8, 8).
The mapped range of (−8, +8) spans 16 units of the real axis. The range of 16 can be used to determine the number amplitude modulo shifts that are required to shift an input sample amplitude to be within the mapped range. For example, if an input sample has an amplitude of 15, a single negative shift of 16 shifts the amplitude of the input sample to an amplitude of −1, which is within the modulo output mapped range. The number of shifts required to shift the amplitudes of all the amplitudes of the filtered output samples to within modulo output mapped range determines the ideal number of required sub-filters, and can be termed the “number of possible modulo shifts.” Factors that influence the size of the number of possible modulo shifts include the modulo operator used, the range of amplitudes of the PAM samples, the range of amplitudes of the filtered samples (which is dependent upon the range of values of the coefficients of the feedback filter) and the range of amplitudes of the mapped range.
Curve 410 of
Curve 420 of
Sub-Filters Selection
The sub-filters of the processor (for example, the processor shown in
The parallel feedback processor of
Other embodiments can include selectively reducing the number of sub-filters. For example, the number of sub-filters can be based upon a statistical analysis of which of the modulo shifts are most likely to be used. The modulo shifts that are used the least can be eliminated. This results is less effective transmit signal preprocessing, but reduces the amount of hardware circuitry required to implement the transmit signal preprocessing. For example, a number of possible modulo shifts may be determined to be five, suggesting that the preprocessing should include five sub-filters. However, three sub-filters may be satisfactory if the reduction to three sub-filters does not substantially effect the transmit signal preprocessing. In the example provided above, the modulo shifts of −2*16 and 2*16 are used very infrequently and can be removed from the signal processor to reduce the amount of electronic circuitry hardware.
Another embodiment includes reducing the number of sub-filters, and dynamically controlling the modulo shifts based upon partial values of prior (previous) filter coefficients. Due to the memory in the feedback filter, typically the input samples to the modulo unit are correlated and the required modulo shifts do not vary drastically from sample to sample. Therefore, the subset of modulo shifts computed in the sub-filters can be dynamically selected so that the available modulo shifts are within a range as determined by the modulo shift of prior samples.
Using the partial information, the input to the modulo unit is limited to the range (−8, 8)+10+(−7, 7)=(−5, 25). Therefore, the sub-filters that compute the modulo shift −2*16 and −1*16 are not required. In this derivation, knowledge of the partial values of filter coefficients 0.5 and −0.75 is applied to the previous outputs Y2n−1 and Y2n−2.
For example, in
Curve 620 of
In another embodiment, the modulo shift controller (such as the controller 590 of
Referring back to
Again referring back to
The feedback filters that include sub-filters are more complex than the feedback filters that don't include sub-filters. As a result, the feedback filters that include sub-filters typically will take longer to compute or process output samples. The computation time of the sub-filters can be reduced by implementing the computation of the sub-filters with look up tables (LUTs) rather than more time consuming multipliers and accumulators.
Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The invention is limited only by the appended claims.