High-speed decoder for a multi-pair gigabit transceiver
First Claim
1. A method for providing an input signal to a symbol decoder, the input signal being based on a tail value and a subset of coefficient values received from a decision feedback equalizer, the method comprising the operations of:
- (a) generating a set of pre-computed values in a multiple decision feedback equalize, the pre-computed values being based on the subset of coefficient values;
(b) combining each of the pre-computed values with the tail value to generate a tentative sample;
(c) selecting one of the tentative samples as the input signal to the symbol decoder;
(d) storing the tentative samples in a set of registers;
(e) outputting the stored tentative samples to a multiplexer, the multiplexer selecting one of the tentative samples as the input signal to the symbol decoder;
wherein the operation of storing the tentative samples in the registers before providing the tentative samples to the multiplexer facilitates high-speed operation by breaking up a critical path of computations into substantially balanced first and second portion, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the symbol decoder; and
saturating the tentative samples and providing the saturated tentative samples to the registers.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and a system for providing an input signal from a multiple decision feedback equalizer to a decoder based on a tail value and a subset of coefficient values received from a decision-feedback equalizer. A set of pre-computed values based on the subset of coefficient values is generated. Each of the pre-computed values is combined with the tail value to generate a tentative sample. One of the tentative samples is selected as the input signal to the decoder. In one aspect of the system, tentative samples are saturated and then stored in a set of registers before being outputted to a multiplexer which selects one of the tentative samples as the input signal to the decoder. This operation of storing the tentative samples in the registers before providing the tentative samples to the multiplexer facilitates high-speed operation by breaking up a critical path of computations into substantially balanced first and second portions, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the decoder.
107 Citations
43 Claims
-
1. A method for providing an input signal to a symbol decoder, the input signal being based on a tail value and a subset of coefficient values received from a decision feedback equalizer, the method comprising the operations of:
-
(a) generating a set of pre-computed values in a multiple decision feedback equalize, the pre-computed values being based on the subset of coefficient values;
(b) combining each of the pre-computed values with the tail value to generate a tentative sample;
(c) selecting one of the tentative samples as the input signal to the symbol decoder;
(d) storing the tentative samples in a set of registers;
(e) outputting the stored tentative samples to a multiplexer, the multiplexer selecting one of the tentative samples as the input signal to the symbol decoder;
wherein the operation of storing the tentative samples in the registers before providing the tentative samples to the multiplexer facilitates high-speed operation by breaking up a critical path of computations into substantially balanced first and second portion, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the symbol decoder; and
saturating the tentative samples and providing the saturated tentative samples to the registers. - View Dependent Claims (2, 7, 8)
-
-
3. A multiple decision feedback equalizer for providing an input signal to a decoder, the multiple decision feedback equalizer receiving a tail value and a subset of coefficient values from a decision-feedback equalizer, the multiple decision feedback equalizer comprising:
-
(a) a computing module for venerating a set of pre-computed values based on the subset of coefficient values;
(b) a set of adders coupled to the computing module, the adders corresponding one-to-one to the pre-computed values, each of the adders combining the corresponding pre-computed value with the tail value to generate a tentative sample;
(c) a multiplexer coupled to the adders, the multiplexer receiving the tentative samples, selecting and outputting one of the tentative samples as the input signal to the decoder;
(d) a set of registers coupled to-the set of adders to receive the tentative samples, the registers storing the tentative samples and providing the tentative samples to the multiplexer;
wherein the locations of the registers facilitate high-speed operation by breaking up a critical path of computations into substantially balanced first and second portions, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the decoder; and
a set of saturators coupled to the set of adders, the saturators saturating the tentative samples and providing the saturated tentative samples to the registers. - View Dependent Claims (4)
-
-
5. A multiple decision feedback equalizer for providing an input signal to a decoder, the multiple decision feedback equalizer receiving a tail value and a subset of coef ficient values from a decision-feedback equalizer, the multiple decision feedback equalizer comprising:
-
(a) a computing module for generating a sest of pre-computed values based on the subset of coefficient values;
(b) a set of adders coupled to the computing module, the adders corresponding one-to-one to the pre-computed values, each of the adders combining the corresponding pre-computed value with the tail value to generate a tentative sample;
(c) a multiplexer coupled to the adders, the multiplexer receiving the tentative samples, selecting and outputting one of the tentative samples as the input signal to the decoders;
(d) a set of registers coupled to the set of adders to receive the tentative samples, the registers storing the tentative samples and providing the tentative samples to the multiplexer;
wherein the locations of the registers facilitate high-speed operation by breaking up a critical path of computations into substantially balanced first and second portions, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the decoder; and
a set if saturators coupled to the set of adders, the saturators saturating the tentative samples and providing the saturated tentative samples to the registers. - View Dependent Claims (6)
-
-
9. A method for decoding an input sample into a final decision corresponding to a codeword of a trellis code having N states, wherein N comprises an integer greater than or equal to 1, the method comprising the operations of:
-
(a) decoding a set of signal samples to generate tentative decisions and the final decision using a decoder block;
(b) providing the tentative decisions to a decision-feedback equalizer, the decision feedback equalizer having a set of low-ordered coefficients and a set of high-ordered coefficients;
(c) generating from the decision-feedback equalizer a tail value based on the tentative decisions, values of the high-ordered coefficients and the input sample;
(d) providing the tail value and values of the low-ordered coefficients to a multiple decision feedback equalizer; and
(e) generating from the multiple decision feedback equalizer the set of signal samples for the decoder. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
(1) providing the set of signal samples to a Viterbi decoder;
(2) computing path metrics for each of the N states of the trellis code based on the set of signal samples;
(3) computing decisions corresponding to the N states based on the path metrics; and
(4) providing the decisions to a path memory module, the path memory module having a number of depth levels corresponding to consecutive time instants, each of the depth levels having N registers corresponding to the N states of the trellis code;
(5) updating decisions stored in the registers of all depth levels; and
(6) selecting a best decision at each of selected depth levels, the best decision at the last depth level being the final decision, the best decisions at other selected depth levels being the tentative decisions.
-
-
11. The method of claim 10 wherein operation (f) comprises the operation of selecting the best decisions at the first three depth levels of the path memory module as the tentative decisions.
-
12. The method of claim 9 wherein the input sample is an L-dimensional sample.
-
13. The method of claim 9 wherein each of the tentative decisions and the final decision corresponds to a codeword of the trellis code.
-
14. The method of claim 9 wherein the decision-feedback equalizer includes a delay line and wherein operation (b) comprises the operation of inputting the tentative decisions into the decision-feedback equalizer at various locations of the delay line.
-
15. The method of claim 9 wherein the set of low-ordered coefficients comprises the first two coefficients of the decision-feedback equalizer.
-
16. The method of claim 9 wherein operation (e) comprises the operations of:
-
(1) generating a set of pre-computed values based on the values of the low-ordered coefficients;
(2) combining each of the pre-computed values with the tail value to generate a tentative sample using a set of adders; and
(3) selecting one of the tentative samples as one of the signal samples using one of N multiplexers corresponding to the N states.
-
-
17. The method of claim 16 wherein operation (e) further comprises the operations of:
-
(4) storing the tentative samples in a set of registers; and
(5) outputting the stored tentative samples to the multiplexer;
wherein the operation of storing the tentative samples in the registers before providing the tentative samples to the multiplexer facilitates high-speed operation by breaking up a critical path of computations into substantially balanced first and second portions, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the decoder.
-
-
18. The method of claim 17 wherein the multiple decision feedback equalizer further comprises a set of saturators coupled to the set of adders to receive the tentative samples, the saturators saturating the tentative samples and providing the saturated tentative samples to the registers.
-
19. The method of claim 16 wherein the pre-computed values are computed based on values of the set of low-ordered coefficient and known symbol values.
-
20. The method of claim 16 wherein, in operation (3), for each of the N states, one of the received tentative samples is selected by the corresponding multiplexer based on at least one decision outputted from the decoder.
-
21. A decision-feedback sequence estimation block for decoding an input sample into a final decision corresponding to a codeword of a trellis code having N states, wherein N comprises an integer treater than or equal to 1 the decision-feedback sequence estimation block comprising:
-
(a) a decoder block decoding a set of signal samples to generate tentative decisions and the final decision;
(b) a decision-feedback equalizer coupled to the decoder block for receiving the tentative decisions, the decision feedback equalizer having a set of low-ordered coefficients and a set of high-ordered coefficients, the decision-feedback equalizer generating a tail value based on the tentative decisions, values of the high-ordered coefficients and the input sample; and
(c) a multiple decision feedback equalizer coupled to the decision-feedback equalizer for receiving the tail value and values of the low-ordered coefficients, the multiple decision feedback equalizer generating the set of signal samples for the decoder block. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
(1) a Viterbi decoder for receiving the set of signal samples, the Viterbi decoder computing path metrics for each of the N states of the trellis code and outputs decisions based on the path metrics; and
(2) a path memory module coupled to the Viterbi decoder for receiving the decisions, the path memory module having a number of depth levels corresponding to consecutive time instants, each of the depth levels including N registers for storing decisions corresponding to the N states, each of selected depth levels including a multiplexer for selecting a best decision from corresponding N registers, the best decision at the last depth level being the final decision, the best decisions at other selected depth levels being the tentative decisions.
-
-
23. The decision-feedback sequence estimation block of claim 22 wherein the tentative decisions are generated from the first three depth levels of the path memory module.
-
24. The decision-feedback sequence estimation block of claim 21 wherein the input sample is an L-dimensional sample.
-
25. The decision-feedback sequence estimation block of claim 21 wherein each of the tentative decisions corresponds to a codeword of the trellis code.
-
26. The decision-feedback sequence estimation block of claim 21 wherein the decision-feedback equalizer includes a delay line and the tentative decisions are inputted into the decision-feedback equalizer at various locations of the delay line.
-
27. The decision-feedback sequence estimation block of claim 21 wherein the set of low-ordered coefficients comprises the first two coefficients of the decision-feedback equalizer.
-
28. The decision-feedback sequence estimation block of claim 21 wherein the multiple decision feedback equalizer comprises:
-
(1) a computing module for generating a set of pre-computed values based on the values of the low-ordered coefficients;
(2) a set of adders coupled to the computing module, the adders corresponding one-to-one to the pre-computed values, each of the adders combining the corresponding pre-computed value with the tail value to generate a tentative sample; and
(3) N multiplexers corresponding to the N states of the trellis code, each of the N multiplexers being coupled to the adders for receiving the tentative samples, each of the N multiplexers selecting and outputting one of the received tentative samples as one of the signal samples to the decoder block.
-
-
29. The decision-feedback sequence estimation block of claim 28 wherein the multiple decision feedback equalizer further comprises:
-
a set of registers coupled to the set of adders to receive the tentative samples, the registers being located between the adders and each of the N multiplexers, the registers providing the tentative samples to the multiplexers; and
wherein the locations of the registers facilitate high-speed operation by breaking up a critical path of computations into substantially balanced first and second portions, the first portion including computations in the decision-feedback equalizer and the multiple decision feedback equalizer, the second portion including computations in the decoder block.
-
-
30. The decision-feedback sequence estimation block of claim 29 wherein the multiple decision feedback equalizer further comprises a set of saturators coupled to the set of adders to receive the tentative samples, the saturators saturating the tentative samples and providing the saturated tentative samples to the registers.
-
31. The decision-feedback sequence estimation block of claim 28 wherein the pre-computed values are based on values of the set of low-ordered coefficients and known symbol values.
-
32. The decision-feedback sequence estimation block of claim 28 wherein each of the N multiplexers selects one of the received tentative samples based on at least one decision received from the decoder block.
-
33. A receiver for demodulating a received signal, the received signal resulting from information signals being encoded in accordance with a multi-state encoding scheme and modulated in accordance with a multi-level modulation alphabet before transmission, the receiver comprising:
-
a symbol decoder receiving a set of ISI compensated signal samples representing the received signal and corresponding to the plurality of states of the encoding scheme, the symbol decoder evaluating the signal samples in accordance with the multi-level modulation alphabet, decoding the evaluated signal samples in accordance with the multi-state encoding scheme, and outputting tentative decisions;
an ISI compensation circuit coupled to the symbol decoder to receive the tentative decisions, the ISI compensation circuit comprising a single decision feedback equalizer, the single decision feedback equalizer providing an ISI compensation to the received signal based on tentative decisions and providing the set of ISI compensated signal samples to the symbol decoder;
wherein the symbol decoder comprises;
a symbol detector receiving the set of ISI compensated signal samples, computing path metrics for each of the states of the multi-state encoding scheme and outputting decisions based on the path metrics;
a path memory module coupled to the symbol detector to receive decisions, the path memory module including a plurality of sequential registers arranged in sets such that each of the sets of registers corresponding to a respective one of consecutive time intervals and, in each of the sets of registers, the registers storing decisions corresponding to respective ones of the states of the multi-state encoding scheme; and
a decision module selecting a best decision from a corresponding set of the sets of registers, the best decision from a predetermined set of the sets of registers defining a final decision, the best decision from an intermediate set of the sets of registers defining a tentative decision. - View Dependent Claims (34, 35, 36, 37)
-
-
38. A method for ISI compensating and decoding a received signal, the received signal resulting from information signals being encoded in accordance with a multi-state encoding scheme and modulated in accordance with a multi-level modulation alphabet before transmission, the method comprising the operations of:
-
receiving a set of ISI compensated signal samples representing the received signal with ISI substantially canceled;
evaluating the ISI compensated signal samples in accordance with the multi-level modulation alphabet and with the multi-state encoding scheme in a symbol decoder;
outputting tentative decisions from the symbol decoder;
generating the ISI compensated signal samples from the received signal and the tentative decisions using a single decision feedback equalizer;
providing the ISI compensated signal samples to the symbol decoder;
wherein the single decision feedback equalizer includes a set of low-ordered coefficients and a set of high-ordered coefficients, and wherein the operation of generating the ISI compensated signal samples comprises;
combining the tentative decisions with values of the set of high-ordered coefficients to produce a partial ISI component; and
combining the partial ISI component with the received signal to generate a partially ISI compensated intermediate signal; and
wherein the operation of generating the ISI compensated signal samples further comprises;
providing values of the low-ordered coefficients to a multiple decision feedback equalizer;
combining the values of the low-ordered coefficients with a set of values representing levels of the multi-level modulation alphabet to generate a plurality of convolution result terms; and
combining the partially ISI compensated intermediate signal with each of the plurality of convolution result terms to produce a set of potential signal samples for each of a plurality of states of the multi-state encoding scheme, the sets of potential signal samples corresponding one-to-one to the states of the multi-state encoding scheme. - View Dependent Claims (39, 40, 41, 42, 43)
selecting for each of the states of the multi-state encoding scheme one of the potential signal samples included in a corresponding set of potential signal samples, the selected potential signal samples being the ISI compensated signal samples.
-
-
40. The method according to claim 39, wherein the operation of evaluating the ISI compensated signal samples comprises:
-
slicing the ISI compensated signal samples in accordance with the multi-level modulation alphabet;
computing path metrics for each of the states of the multi-state encoding scheme;
computing decisions corresponding to each of the states of the multi-state encoding scheme based on the path metrics;
storing the decisions in a path memory module, the path memory module having a number of depth levels corresponding to consecutive time intervals, each of the depth levels having a number of registers corresponding to the number of states of the multi-state encoding scheme;
updating decisions stored in the registers of all depth levels; and
selecting a best decision at each of selected depth levels, the best decision at the last depth level defining a final decision, the best decisions at other selected depth levels defining tentative decisions.
-
-
41. The method according to claim 40, wherein the multi-state encoding scheme is a trellis code.
-
42. The method according to claim 41, wherein the multi-level modulation alphabet corresponds to a five-level Pulse Amplitude Modulation constellation.
-
43. The method according to claim 42, wherein the method is performed in a bidirectional communication system transmitting and receiving signals over an Ethernet communication channel, the communication channel being characterized by four twisted wire pairs of cable, disposed in parallel configuration, each of the four twisted wire pairs of cable transporting signals.
Specification