IE83502B1 - A data receiver - Google Patents
A data receiverInfo
- Publication number
- IE83502B1 IE83502B1 IE2002/0595A IE20020595A IE83502B1 IE 83502 B1 IE83502 B1 IE 83502B1 IE 2002/0595 A IE2002/0595 A IE 2002/0595A IE 20020595 A IE20020595 A IE 20020595A IE 83502 B1 IE83502 B1 IE 83502B1
- Authority
- IE
- Ireland
- Prior art keywords
- receiver
- decoder
- block
- isi
- comprises means
- Prior art date
Links
- 230000004301 light adaptation Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000001702 transmitter Effects 0.000 description 3
- 238000007493 shaping process Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Description
A data receiver
INTRODUCTION
Field of the Invention
The invention relates to a data receiver particularly for high bandwidth
communication such as that of the IOOOBASE-T (“Gigabit”) standard. Such a
receiver is described for example in US6236645Bl (Broadcom).
Prior Art Discussion
In such receivers the received signal (analog) is processed by various analog and
digital circuits including a feed forward equaliser (FFE). Typically, the analog
GC 77
circuits and the cable introduce a noise component n into the digital signal,
comprising a combination of inter-symbol-interferance (ISI), quantization noise, and
other noise sources. One of the major components on the receivers digital side is a
trellis decoder, which performs decoding of convolutional encoding in the
transmitter at the far end of the cable. The purpose of the convolutional encoding is
to add coding gain into the system. It does this by adding a ninth bit to the inputted
eight bits so that a map can generate the symbols (—2, -1, 0, +1, +2) in four channels
(“dimensions”) A, B, C, & D with a relatively large voltage separation of 0.5V.
Convolutional encoding ensures that the ninth bit is drawn from a set of allowed
values, and this imposes a structure on the transmitted sequence. A receiver can take
advantage of this structure in order to improve its performance.
In more detail, and referring to Fig. A, the transmitter’s eight input lines are
indicated by “a”, and a ninth input “b” is provided by a convolutional encoder “c”.
The nine bits are mapped to the available symbols in the four dimensions by a 4D
map “d”. The diagram on the right of Fig. A illustrates typical convolutional
encoding between time state “k” and time state “k + 1”.
Since the convolutional code introduces memory there are only certain sequences of
convolutional encoder output that are possible. These are shown as a trellis in Fig. A.
Each arrow represents a different possible output from a given state. The state is
defined by shift register contents in the convolutional encoder. The mapping block
“d” is defined in the IEEE 802.3ab standard for IOOOBASE-T.
In IOOOBASE-T because there are four dimensions and there are five signalling levels
per channel, and so there are 625 possible 4D symbols. To transmit 10“ bits per
second at l25*l0° symbols per second requires only 256 different symbols. 512 of
the 625 symbols are taken and these are divided into 8 subsets (labelled D0 to D7).
The subsets are defined in terms of their member 4D symbols which are in turn
composed of 4 1D symbols. The 1D symbols can be in one of two sets which we
define as X = {—1,+l} and Y = {—2,0,2}. The definitions of the 8 subsets can then be
given in terms of X s and Y s.
Subset Definition Possible members
0 XXXX Y Y YYY 97
1 XXX Y Y Y Y YX 78
2 XX YY Y Y YXX 72
3 XX YX Y Y YX Y 78
4 X YYX Y YXX Y 72
X Y Y Y Y YXXX 78
6 X YX Y Y YXYX 72
7 X YXX Y YX Y Y 78
Only 64 members are required per subset and so those members with most energy
are discarded. This shaping of the transmitted signal introduces a gain of about 0.30
dB over uniformly distributed levels. It is worth noting that in start-up only YYYYS
are transmitted. Since this is a valid subset the Viterbi can be run during start—up.
Referring to Fig. B, the trellis diagram for a single step in the l000BASE—T code (left)
is illustrated. The possible transitions from state 000 (middle) are illustrated. The
possible entries into state 000 are shown on the right hand side. U stands for union
and X ={-1,+l},Y = {-2,0,+2}.
A IOOOBASE-T transmitter must implement the IOOOBASE-T convolutional code
that can be shown to give a coding gain of up to approximately 5.5dB if decoded in
an optimal fashion. Therefore it makes sense to include a decoder in the receiver that
can utilise some or all of this 5.5dB because it is less expensive in terms of area and
power than trying to obtain the 5.5dB from other means.
The code is designed in such a way that the decoder can be operated at all times and
resides on the data path of the receiver. No special training or resets are required
other than to ensure that the decoder resets to a known state when the reset input is
high. In addition, transitions between IDLE and DATA are transparent to the
Viterbi decoder and whilst errors can occur they should be short lived and non-
catastrophic. Another point worth noting is that the Viterbi module can even be run
before the eye is open as long as its outputs are ignored. As soon as the inputs
improve the Viterbi decoder is very quick to provide some or all of the coding gain.
In addition in start—up the Viterbi module is insensitive to dimension crossovers and
bulk delay mismatches across the four dimensions.
While convolutional encoding is relatively simple, decoding at the receiver is
certainly not so and detailed implementations are not specified in the IEEE 802.3ab
standards for l000BASE-T. A major consideration for development of a trellis
decoder is that, while the decoder may operate in an ISI environment, doing so
fundamentally limits its performance. A possible approach to addressing this
problem is to eliminate ISI noise in the FFE, thus allowing use of a simple trellis
decoder with good performance. However, this approach suffers from the problem
of placing constraints on the frequency response of the FFE.
Another approach is described in PCT Patent Specification No. W000/44142
(Broadcom). This involves use of a DFE (decision feedback equaliser) operatively
responsive to tentative decisions made by the Viterbi decoder. This reduces ISI,
however, a problem is that it adds complex signal processing in the time critical path
of the decoder and thus adds considerable extra complexity to the receiver.
A further approach is described in US6038269 (National Semiconductor). A
detector comprises a branch metric generator, an add-compare—se1ect unit, traceback
circuitry, a last-in-first-out buffer, and a starting state determiner. The detector
estimates the transmitted data sequence from the sequence of received signals.
While this approach is apparently effective, it also appears to suffer from the problem
of increasing the number of states and thus increases complexity.
It is well known to use the Viterbi algorithm for equalisation only, one example of
which is EP080l484 (Silicon Systems). This does not address combined equalisation
and decoding.
The invention is therefore directed towards providing a receiver for equalisation and
decoding which deals with noise—induced problems in a more optimum manner.
SUMMARY OF THE INVENTION
According to the invention, there is provided a receiver for high bandwidth data
communication of the type in which there is convolutional encoding in received
signals, the receiver comprising an equaliser and a trellis decoder, characterised in
that;
the equaliser comprises means for introducing ISI in a controlled manner; and
the decoder comprises means for removing the ISI to avoid error propagation.
In one embodiment, the decoder comprises means for removing the ISI using
computation outside of the critical path of the decoder.
In another embodiment, the decoder comprises means for removing the ISI in a front
end block.
In a further embodiment, the front end block comprises means for computing a one-
dimensional distance for each channel, and the decoder further comprises means
downstream of the front end block for selecting one of said distances.
In one embodiment, each front end block comprises:-
a first block comprising means for computing an estimate of a sent signal;
a second block comprising means for deriving possible slices associated with
the input; and
a third block comprising means for computing associated distances.
In another embodiment, to introduce ISI, the equaliser comprises means for adapting
to an output response shape that is other than unity and is simple and bounded.
In a further embodiment, the equaliser comprises a filter in an adaptation path.
DETAILED DESCRIPTION OF THE INVENTION
Brief Description of the Drawings
The invention will be more clearly understood from the following description of
some embodiments thereof, given by way of example only with reference to the
accompanying drawings in which:—
Fig. 1 is a high-level diagram illustrating FFE and Viterbi decoder blocks of a
receiver of the invention;
Fig. 2 is a plot of frequency response of the FFE of the invention compared
with that of a conventional FFE;
Fig. 3 is a block diagram of the decoder; and
Fig. 4 is a diagram illustrating a front end block of the decoder of Fig. 3 in
more detail.
Description of the Embodiments
Referring to Fig. 1 a Gigabit receiver 1 comprises a feed forward equaliser (FFE) 2.
The output of the FFE 2 is connected to a Viterbi decoder 3 and to a filter 4. The
output of the filter 4 is connected to an adaptation engine 5. The adaptation engine 5
updates the coefficients of the FFE 2.
The filter 4 and the adaptation engine 5 introduce controlled ISI by introducing an
extra component in the output to the decoder 3, namely a fraction or of the previous
symbol (on * x (k-1)). The receiver achieves this partial response by modifying its
frequency response. This significantly reduces noise as the response is more low
pass. The lower noise is apparent from Fig. 2, in which the lower peak is achieved.
The extra component on x (k-1) is used in the Viterbi decoder 3 front end, and
because the noise n(k) is now much smaller than in the prior art there is much
improved decoder performance.
In more detail, the amount of high frequency boost in the FFE 2 is reduced by
forcing the FFE 2 to adapt to a shape other than unity. The FFE 2 is shaped by the
filter block 4 to a 1 + or z'1 response, as shown in Fig. 2. However, in alternative
embodiments a shaping such as 1 + ocz‘ + [523 or other variations may be used. This
is achieved by filtering in the adaptation path, not in the data path.
The decoder 3 takes soft decisions that contain energy from the first post—cursor (i.e.
previous, k—1) symbol as well as the present symbol. This energy is of a known and
programmable proportion with respect to the present symbol and the branch metric
generation block of the Viterbi decoder 3 has been designed in such as way as to
generate branch metrics based on this energy.
One advantage of this technique is that is allows the FFE to adapt to a more low pass
response (hence minimising noise enhancement) whilst not requiring any form of
non-linear equalisation (i.e. Decision Feedback Equaliser (DFE) or a Decision
Feedback Sequence Estimator (DFSE)) . By not having to implement a non-linear
equaliser, power and area are reduced and certain timing closure problems on the
critical path are avoided.
A branch metric is calculated at the input to the Viterbi decoder 3 that takes into
account the fact that the input, from a single dimension, to the Viterbi decoder (the
soft decision) is of the form 1+ a z“ . This implies that the energy at the input of the
Viterbi decoder at time instant k consists of the energy of the transmitted symbol at
time k — A, a 2 *100% of the energy of the transmitted symbol at time k — A +1 plus
some noise component, nk , where A is the delay through the channel.
The benefit of presenting soft decisions into the Viterbi of the form 1+0: 2" is that
the system performance can be improved with careful choice of OL. This is because
: can be chosen so the FFE 2 needs to do less high frequency boost to achieve the
target response. Less high frequency boost means less quantization noise at the input
to the Viterbi decoder 3.
A block diagram of the decoder 3 is given in Fig. 3. Four front end blocks 20
generate lD metrics which are combined and selected in eight path metric blocks 21.
These are then used to update the survivor paths which are stored in a surv_path
block 22. The block 23 performs post-processing on the survivor path to convert
these to 4D symbols. After a suitable delay the best path through the trellis is used to
pick the output symbols in the block 23.
Each front end 20 can be separated into three main blocks 30, 31, and 32. The first
block 30 removes the partial response of the channel in order to compute an estimate
of the soft symbol in the X and Y subsets. It does this by subtracting from the input
. times the estimate of the previous soft symbol.
The second block 31 derives the four different possible slices associated with the
input by removing the partial response of the channel from the a priori sent symbol at
the previous cycle. In more detail, in the block 31, an estimate of the previous
decision is made firstly on the assumption that it is in code group X, and secondly
that it is in code group Y. For each of these, the block 31 computes a better estimate
of the current soft symbol by subtracting on times the estimate of the previous decision
from the input. Then, the block 31 makes an estimate of the decision, from the
current soft symbol, firstly based on the assumption that the current symbol was in
code group X, and secondly on the assumption that it is in code group Y. This gives
the four possible slices (xprex_slice, yprex_s1ice, xprey_slice, and yprey_slice).
The last block 32 computes the associated distances using look-up tables.
Three distance metric terms (yprex_dist, yprey_dist and xprey_dist) are generated per
dimension. These are then combined in such a manner as to generate a 4 dimension
branch metric that takes account of the present symbol and the previous symbol.
The 1D metrics are all normalised with respect to the case where the present symbol
is from the ID codegroup X and the previous symbol was also from this codegroup.
Hence there is no need to use this metric since it inherently carries the normalised
value of zero.
Consider the right hand diagram in Fig. B. The metrics coming into state 0 (of
which there are four) tell us something about the previous symbol. For example the
branch metric from state 0 to state 0 is associated with the symbol group
XXXX Y Y YYY . In fact whether it was XXXX or YYYY is known and stored in the
signal surv_subset_sX. The information about the previous symbol is used to pick
from the 12 input 1D branch metrics.
Example: Consider the generation of the branch metric for the transition from state 0
to state 0. From the trellis we need to generate a metric assuming the 4D symbols
come from the codegroup XXXX YYYYY . Now also assume that in the last cycle
state 0 picked a symbol from the codegroup YYXX as the most likely. This means
that any metric emanating from state 0 should be biased by the fact that state 0
believes that the previous symbol was drawn from YYXX.
Dim Symbol k Symbol 1D Metrics 4D Metric
First Second at k-1 Primary Secondary
Sub— Sub- Codegroup Codegroup
Codegroup Codegroup
A X Y Y xprey_dist_dim_a yprey_dist_dim_a
B X Y Y xprey~dist_dim_b yprey_dist_dim_b
C X Y X - yprex_dist_dim_c
D X Y X - yprex_dist_dim_d
Total xprey_distwdim_a + yprey_dist_dim_a + minimum{
xprey_dist_dim_b yprey_dist_dim_b + (xprey_dist_dim_a
yprex_dist_dim_c + +xprey_dist_dim,b),
yprex_dist_dimAd (ypreygdist_dim_a +
yprey_dist_dim_b +
yprex_dist_dim_c +
yprexidist,dim_d)}
Table 1 The 4D metric generation for a speczfic example.
The 1D metrics that should be combined to generate the 4D branch metric for this
case are given in Table 1 above. Note that two possible metrics are generated and
that the minimum of these two is the one that is finally selected. These are
implemented in block 21.
It will be appreciated that the invention achieves significantly improved Viterbi
decoder efficiency without adding considerable complexity, as is the case with the
DFE prior approach. In the invention, the operation of the fixed offset filter 4, we
effectively change what the FFE is equalising and hence significantly improve how
the Viterbi operates.
The invention is not limited to the embodiments described but may be varied in
construction and detail.
Claims (1)
- Claims A receiver for high bandwidth data communication of the type in which there is convolutional encoding in received signals, the receiver comprising an equaliser and a trellis decoder, characterised in that; the equaliser comprises means for introducing ISI in a controlled manner; and the decoder comprises means for removing the ISI to avoid error propagation. A receiver as claimed in claim 1, wherein the decoder comprises means for removing the ISI using computation outside of the critical path of the decoder. A receiver as claimed in claim 2, wherein the decoder comprises means for removing the ISI in a front end block. A receiver as claimed in claim 3, wherein the front end block comprises means for computing a one-dimensional distance for each channel, and the decoder further comprises means downstream of the front end block for selecting one of said distances. A receiver as claimed in claim 4, wherein each front end block comprises:— a first block comprising means for computing an estimate of a sent signal; a second block comprising means for deriving possible slices associated with the input; and a third block comprising means for computing associated distances. A receiver as claimed in claim 5, wherein, to introduce ISI, the equaliser comprises means for adapting to an output response shape that is other than unity and is simple and bounded. A receiver as claimed in claim 6, wherein the equaliser comprises a filter in an adaptation path. A receiver for high bandwidth data communication substantially as described with reference to the drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IE2002/0595A IE83502B1 (en) | 2002-07-17 | A data receiver |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IEIRELAND18/07/20012001/0673 | |||
IE20010673 | 2001-07-18 | ||
IE2002/0595A IE83502B1 (en) | 2002-07-17 | A data receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
IE20020595A1 IE20020595A1 (en) | 2003-02-19 |
IE83502B1 true IE83502B1 (en) | 2004-06-30 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7363576B2 (en) | Method and apparatus for pipelined joint equalization and decoding for gigabit communications | |
US6356586B1 (en) | Methods and apparatus for parallel decision-feedback decoding in a communication system | |
US8699557B2 (en) | Pipelined decision-feedback unit in a reduced-state Viterbi detector with local feedback | |
US8340204B2 (en) | Soft decision enhancement | |
WO2007123862A2 (en) | Reducing equalizer error propagation with a low complexity soft output viterbi decoder | |
US8566683B2 (en) | Power-reduced preliminary decoded bits in viterbi decoders | |
US8189704B2 (en) | Method and apparatus for joint equalization and decoding of multilevel codes | |
US8005136B2 (en) | Dual PDFE system with forward-backward Viterbi | |
EP1081869A2 (en) | Methods and apparatus for representation of branch metrics in a communication system decoder | |
EP1495572A2 (en) | Hdtv trellis decoder architecture | |
US7170947B2 (en) | Data receiver | |
US10177876B2 (en) | Sequence detector | |
JP2001313571A (en) | Demodulation method and demodulator | |
IE83502B1 (en) | A data receiver | |
IE20020595A1 (en) | A data receiver | |
CN108923887B (en) | Soft decision decoder structure of multi-system partial response CPM signal | |
US20050235194A1 (en) | Parallel decision-feedback decoder and method for joint equalizing and decoding of incoming data stream | |
Viraktamath et al. | Impact of code rate on the performance of Viterbi decoder in AWGN channel | |
US10044528B2 (en) | Equalizer apparatus and Viterbi algorithm based decision method | |
Kratochwil | A fast algorithm for reduced complexity sequence estimation achieving the optimum error exponent | |
KR19990035420A (en) | Branch Metric Computing Device for Trellis Decoder | |
KR19990043405A (en) | Branch Metric Computing Device for Trellis Decoder |