Decision feedback equalization with efficient burst error correction
11936505 ยท 2024-03-19
Assignee
Inventors
Cpc classification
International classification
Abstract
Receivers, methods, and cores, can provide decision feedback equalization with efficient burst error correction. An illustrative receiver includes: a decision feedback equalizer that derives symbol decisions from a receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative receiving method includes: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each said symbol decision; and processing the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative semiconductor intellectual property core generates circuitry for implementing a receiving and method as described above.
Claims
1. A receiver comprising: a decision feedback equalizer that derives symbol decisions from a filtered receive signal; a subtractor that determines an equalization error for each symbol decision; and a post-processor that operates on the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.
2. The receiver of claim 1, wherein the post-processor detects burst error exit symbols by comparing a magnitude of the equalization errors to a threshold.
3. The receiver of claim 2, further comprising a feed forward filter that operates on a receive signal to provide the filtered receive signal, thereby shaping a channel response to 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference.
4. The receiver of claim 3, wherein the threshold is programmable.
5. The receiver of claim 2, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and the burst error exit symbols are limited to 0 and (M?1).
6. The receiver of claim 2, wherein the post-processor includes a metric circuit to determine a likelihood difference for each of multiple different error burst lengths.
7. The receiver of claim 6, wherein the post-processor further includes a corrector circuit that finds a minimum likelihood difference and, if the minimum likelihood difference so indicates, corrects a corresponding number of decision errors preceding the burst error exit symbol.
8. The receiver of claim 7, wherein the metric circuit and the corrector circuit are disabled until a burst error exit symbol is detected.
9. A receiving method comprising: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each symbol decision; and processing the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.
10. The method of claim 9, wherein said processing includes comparing the equalization errors to a threshold to detect burst error exit symbols.
11. The method of claim 10, wherein a channel response of the filtered receive signal is 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference, and wherein the threshold equals ?.
12. The method of claim 10, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein as part of detecting the burst error exit symbols, said comparing is performed only for minimum and maximum symbol decision values.
13. The method of claim 10, wherein said processing includes determining a likelihood difference for each of multiple different error burst lengths.
14. The method of claim 13, wherein said processing further includes finding a minimum likelihood difference for each burst error exit symbol and, if the minimum likelihood difference is negative, corrects a corresponding number of decision errors preceding that burst error exit symbol.
15. A semiconductor intellectual property core that generates circuitry comprising: a decision feedback equalizer that derives symbol decisions from a filtered receive signal; a subtractor that determines an equalization error for each symbol decision; and a post-processor that operates on the symbol decisions and the equalization errors to detect and correct symbol decision error bursts.
16. The semiconductor intellectual property core of claim 15, wherein the post-processor comprises a comparator that compares the equalization errors to a threshold to detect burst error exit symbols.
17. The semiconductor intellectual property core of claim 16, wherein a channel response of the filtered receive signal is 1+?D, wherein D is a unit delay operator and ? is a coefficient representing trailing intersymbol interference, and wherein the threshold is programmable.
18. The semiconductor intellectual property core of claim 16, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein said burst error exit symbols are limited to a minimum symbol decision value and a maximum symbol decision value.
19. The semiconductor intellectual property core of claim 16, wherein the post-processor includes a metric circuit configured to determine a likelihood difference for each of multiple different error burst lengths.
20. The semiconductor intellectual property core of claim 19, wherein the post-processor further includes a corrector circuit configured to find a minimum likelihood difference for each burst error exit symbol and, if the minimum likelihood difference indicates a decision error is present, configured to correct a corresponding number of decision errors preceding that burst error exit symbol.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) While specific embodiments are given in the drawings and the following description, keep in mind that they do not limit the disclosure. On the contrary, they provide the foundation for one of ordinary skill to discern the alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims.
(12) For context,
(13)
(14) The pluggable modules 206 may each include a retimer chip 210 and a microcontroller chip 212 that controls operation of the retimer chip 210 in accordance with firmware and parameters that may be stored in nonvolatile memory 214. The operating mode and parameters of the pluggable retimer modules 206 may be set via a two wire bus such as 12C or MDIO that connects the microcontroller chip 212 to the host device (e.g., switch 112). The microcontroller chip 212 responds to queries and commands received via the two wire bus, and responsively retrieves information from and saves information to control registers 218 of the retimer chip 210.
(15) Retimer chip 210 includes a host-side transceiver 220 coupled to a line-side transceiver 222 by first-in first-out (FIFO) buffers 224. The transceivers may be SerDes cores having decision feedback equalizers (DFEs) for high baud rate reception.
(16)
(17)
y.sub.k=L(d.sub.k)+?L(d.sub.k?1)+n.sub.k,(1)
where d.sub.k?{0, 1, 2, 3} represents the transmitted PAM4 symbols, L(d.sub.k) is a fixed mapping of PAM4 symbols to their corresponding signal levels, and n.sub.k represents the noise plus some other impairments.
(18) A summer 406 combines the filtered receive signal with a feedback signal f.sub.k to produce an equalized signal s.sub.k having reduced trailing ISI and thus (in the absence of significant channel noise) having open decision eyes such as those of
(19) A post-processor 420 operates on the symbol decisions and equalization error to detect and correct symbol decision errors. Before discussing implementation details, we provide the following derivation to facilitate understanding.
(20) Without loss of generality, the following discussion assumes the nominal signal range is ?3 to +3, such that the signal levels for symbols 0, 1, 2, 3, are ?3, ?1, +1, and +3, respectively. The equalized signal s.sub.k is expressible as:
s.sub.k=y.sub.k??.Math.L({circumflex over (d)}.sub.k?1)(2)
or equivalently as:
s.sub.k=L(d.sub.k)+?[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]+n.sub.k(3)
(21) When a decision error happens such that d.sub.k?1?{circumflex over (d)}.sub.k?1,
|L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)|?2,(4)
which for the contemplated range of signal to noise ratios (SNR) can be assumed to mean
L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)=?2 when d.sub.k?1?{circumflex over (d)}.sub.k?1).(5)
In the presence of a decision error, the equalized signal is shifted from its desired value by ?[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]=?2?. In high baud rate systems, the DFE tap ? is typically greater than or equal to 0.5, and often about 1.0. This shift exceeds the distance between the symbol level and the decision threshold, likely causing the decision error to propagate from one symbol interval to the next, causing an extended error burst until
d.sub.k=3 with L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)>0, or(6a)
d.sub.k=0 with(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)<0(6b)
Alternatively, a sufficiently large noise signal n.sub.k could theoretically overcome the decision error shift to end the error burst, but in the contemplated SNR range |n.sub.k|<1.0 with high probability so we neglect this alternative herein and focus on the conditions given in equations (6a) and (6b).
(22) Equations (6a) and (6b) are defined as the error exit conditions, with the corresponding d.sub.k designated herein as the error exit symbol. The following discussion shows that the equalization error associated with error exit symbols is conspicuously larger than the expected error level.
(23) We define error sign se.sub.k=sgn (L(d.sub.k)?L({circumflex over (d)}.sub.k)), meaning se.sub.k ?{?1} in the presence of a decision error d.sub.k?1?{circumflex over (d)}.sub.k?1,
s.sub.k=L(d.sub.k)+2?.Math.se.sub.k?1+n.sub.k(7)
To simplify this discussion, assume for the moment ?=1. If the error exit conditions (6a), (6b) are not satisfied, we have the following:
L(d.sub.k)?L({circumflex over (d)}.sub.k)=?1.Math.[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)](8)
se.sub.k=?1.Math.se.sub.k?1(9)
(24) Assume the error exit conditions are not satisfied until d.sub.k+?, i.e., {circumflex over (d)}.sub.k?1, {circumflex over (d)}.sub.k . . . , {circumflex over (d)}.sub.k+? are burst errors. The following equations can be derived for the burst errors:
se.sub.k+i=(?1).sup.i.Math.se.sub.k,0?i??(10)
L(d.sub.k+i)?L({circumflex over (d)}.sub.k+i)=(?1).sup.i.Math.[L(d.sub.k)?L({circumflex over (d)}.sub.k)],0?i??(11)
(25) Define equalization error e.sub.k as
e.sub.k=s.sub.k?L({circumflex over (d)}.sub.k)(12)
Consider the equalization error in three cases: no decision errors, burst errors, and error exit symbols. If there are no decision errors, d.sub.k?1={circumflex over (d)}.sub.k?1, {circumflex over (d)}.sub.k={circumflex over (d)}.sub.k The equalization error is
e.sub.k=n.sub.k(13)
If there are burst errors d.sub.k?1?{circumflex over (d)}.sub.k?1, d.sub.k?{circumflex over (d)}.sub.k, from (3), (11) and (12), the equalization error is
e.sub.k=s.sub.k?L({circumflex over (d)}.sub.k)=L(d.sub.k)?L({circumflex over (d)}.sub.k)+L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)+n.sub.k(14)
e.sub.k=n.sub.k(15)
Now, if the burst errors exit at d.sub.k+?, i.e., d.sub.k+? satisfies the error exit condition (6a) or (6b), d.sub.k+?={circumflex over (d)}.sub.k+?, L(d.sub.k+?)=L({circumflex over (d)}.sub.k+?). From Equation (3), (5) and (11), the equalization error e.sub.k+? is given as follows.
e.sub.k+?=s.sub.k+??L({circumflex over (d)}.sub.k+?)=(?1)?.Math.[L(d.sub.k?1)?L({circumflex over (d)}.sub.k?1)]+n.sub.k+?(16)
e.sub.k+?=(?2)+n.sub.k+?(17)
(26) In the contemplated SNR range |n.sub.k|<1.0 with high probability, so that the equalization error in equation (17) is conspicuously different from the equalization error of equations (13) and (15). As ? falls below 1, the equalization error of equation (15) grows as the error of equation (17) falls, but depending on SNR they may remain distinguishable until ? approaches 0.5, and in any case they should be readily distinguishable from the equalization error when no decision errors are present.
(27) Summarizing the equalization errors computed in (13), (15) and (17), we have the following: No decision errors: e.sub.k=n.sub.k Burst errors: e.sub.k=n.sub.k Error exit symbols: e.sub.k=(?2)+n.sub.k
Above computations show that equalization error of the error exit symbol e.sub.k+? has magnitude around 2 which is conspicuously larger than the equalization error in the absence of decision errors and during burst errors. We may use this property in combination with the error exit conditions to detect the burst errors for DFE with large feedback tap values.
(28) For a programmable error threshold T.sub.e, if |e.sub.k|>T.sub.e and symbol decision {circumflex over (d)}.sub.k ?{0,3}, then {circumflex over (d)}.sub.k is declared as the error exit symbol and d.sub.k?1 is likely a single error or the end of an error burst. (The feedback tap coefficient ? is a good choice for the value of threshold T.sub.e.) Once the possible errors are detected, an efficient maximum likelihood (ML) search may be performed to verify whether the possible errors are indeed errors and, if so, to correct them.
(29) To illustrate the ML search method, assume {circumflex over (d)}.sub.k is declared as the error exit symbol, and let M be the maximum length of the trace back from {circumflex over (d)}.sub.k, i.e., the ML search is performed within the window from {circumflex over (d)}.sub.k to {circumflex over (d)}.sub.k?M. Define the initial (varying-length) decision sequences as:
{circumflex over (d)}.sub.i=[L({circumflex over (d)}.sub.k?1),L({circumflex over (d)}.sub.k?2), . . . ,L({circumflex over (d)}.sub.k?i)],1?i?M(18)
with competing decision sequences:
{circumflex over (d)}.sub.i={circumflex over (d)}.sub.i+2se.sub.k.Math.[(?1).sup.0,(?1).sup.1, . . . ,(?1).sup.i?1],1?i?M(19)
In (19), se.sub.k is redefined as se.sub.k=sgn(e.sub.k), and this definition is used for se.sub.k in the remaining part of this description. For the sequence of filtered receive signals Y={y.sub.k?1, y.sub.k?1, . . . , y.sub.k?i}, the likelihood of {circumflex over (d)}.sub.i is computed as:
Pr{Y|{circumflex over (d)}.sub.i}?P.sub.i=??.sub.j=0.sup.i(y.sub.k?j=?.sub.k?j).sup.2,(20)
where
?.sub.k?j=L({circumflex over (d)}.sub.k?j))+?.Math.L({circumflex over (d)}.sub.k?j?1)(21)
It can be shown from the combination of (2), (12), and (21), that
e.sub.k?j=y.sub.k?j??.sub.k?j(22)
The likelihood of {circumflex over (d)}.sub.i is computed as:
Pr{Y|{circumflex over (d)}.sub.i}?P.sub.i=???.sub.j=0.sup.i(y.sub.k?j??.sub.k?j).sup.2,(23)
where
?.sub.k?j=L({circumflex over (d)}.sub.k?j)+?.Math.L({circumflex over (d)}.sub.k?j?1).(24)
In (24), {circumflex over (d)}.sub.k?j and L({circumflex over (d)}.sub.k?j) are given by
{circumflex over (d)}.sub.k?j={circumflex over (d)}.sub.k?j+se.sub.k.Math.(?1).sup.j?1,1?j?i,(25)
L({circumflex over (d)}.sub.k?j)=L({circumflex over (d)}.sub.k?j)+2.Math.se.sub.k.Math.(?1).sup.j?1,1?j?i(26)
We note that L({circumflex over (d)}.sub.k)=L({circumflex over (d)}.sub.k) and {circumflex over (d)}.sub.k={circumflex over (d)}.sub.k since {circumflex over (d)}.sub.k is assumed to be the error exit symbol.
(30) Let the competing error e.sub.k?j be defined by
e.sub.k?j=y.sub.k?j??.sub.k?j(27)
It can be shown that
?.sub.k?j=e.sub.k?j??e.sub.k?j(28)
?e.sub.k?j=L({circumflex over (d)}.sub.k?j)?L({circumflex over (d)}.sub.k?j)+?.Math.(L({circumflex over (d)}.sub.k?j?1)?L({circumflex over (d)}.sub.k?j?1)(29)
In (29) L({circumflex over (d)}.sub.k?j)=L({circumflex over (d)}.sub.k?j), when j=0 and j=(i+1).
(31) Define ?P.sub.i=P.sub.i?P.sub.i. After some mathematical operations, it can be shown that ?P.sub.i is given by
?P.sub.i=?.sub.j=0.sup.i[(?e.sub.k?j).sup.2?2.Math.?e.sub.k?j.Math.e.sub.k?j](30)
If i=1,
?P.sub.i=4?.sup.2?4.Math.?.Math.se.sub.k.Math.e.sub.k+4?4.Math.se.sub.k.Math.e.sub.k?1(31)
If i>1,
?e.sub.k?j=2se.sub.k.Math.(?1).sup.j?1.Math.(1??),1?j?i,(32)
?P.sub.i=4(?.sup.2??.Math.se.sub.k.Math.e.sub.k+1?se.sub.k.Math.(?1).sup.i?1.Math.e.sub.k?i??.sub.j=1.sup.i?1ce.sub.k?j)(33)
where ce.sub.k?j is given by
ce.sub.k?j=(1??).sup.2?se.sub.k.Math.(1??).Math.(?1).sup.j?1.Math.e.sub.k?j(34)
When the DFE tap ?=1,
ce.sub.k?j=0,1?j?i,(35)
(32) Omitting the common factor 4, from (33), the ?P.sub.i computation is further simplified to:
?P.sub.i=?.sup.2??.Math.se.sub.k.Math.e.sub.k+1?se.sub.k.Math.(?1).sup.i?1.Math.e.sub.k?i(36)
(33) Now let
(34)
If ?P.sub.i_min<0, the previous i_min decisions {circumflex over (d)}.sub.k?j, 1?j?i_min are errors that should be corrected, replacing {circumflex over (d)}.sub.k?j with
d.sub.k?j={circumflex over (d)}.sub.k?j+se.sub.k.Math.(?1).sup.j?1,1?j?i_min(38)
Conversely, if ?P.sub.i_min?0, the decisions {circumflex over (d)}.sub.k?j, 1?j?M, do not need to be changed.
(35) If there exists j, 1?j?M, such that the competing symbol decision is invalid, i.e., {circumflex over (d)}.sub.k?j .Math.{0, 1, 2, 3}, then let J be the minimum of such values, such that J?1 is the number of potential error burst lengths. The ?P.sub.i only needs to be computed for 1?i?J instead of 1?i?M, and the rest of the process remains unchanged.
(36) Now, we summarize the proposed DFE postprocessing method as follows: (A) Monitor symbol decisions for an error exit symbol (a symbol {circumflex over (d)}.sub.k?{0,3} with |e.sub.k|>T.sub.e). (B) when an error exit symbol is detected, compute the likelihood differences ?P.sub.i for different burst lengths 1?i?min{M,J}. (C) Find the minimum likelihood difference and corresponding index i_min,
(37)
(D) If ?P.sub.i_min<0, then replace decisions {circumflex over (d)}.sub.k?j, 1?j?i_min, with competing symbol decisions {circumflex over (d)}.sub.k?1. If ?P.sub.i_min?0, no correction is needed.
(38) The limit on trace back length M can be set to, e.g., 32, without adding undue complexity. Other limits can also be evaluated empirically for suitability. The main computation load of the proposed algorithm is the sequence metric ?P.sub.i computation in (33) and (34). Note that the ?.sup.2, (1??).sup.2 and (1??) only need to be computed once for large chunk of data; and se.sub.k ?{?1}. The overall computation complexity of the algorithm is substantially lower than that for maximum likelihood sequence detectors (MLSD) or even than for the reduced complexity 2-state MLSD described in co-pending application Ser. No. 17/656,751.
(39)
(40) A control circuit 506 evaluates the sequence of symbol decisions and equalization errors from the decision feedback equalizer to detect potential error exit symbols, enabling metric circuit 502 and corrector circuit 504 to operate only when such symbols are detected. Note that circuits 502, 504 have shift registers that continue to operate when these circuits are disabled. It is these shift registers that enable the post-processing operation of the corresponding circuits.
(41)
(42) On the left side of
(43)
(44) When the DFE tap ?=1, the post-processor can be simplified.
(45) With reference to equation 36, we observe that the minimum likelihood difference will be determined by the maximum of the sign-changed errors for the valid competing symbol decisions. The validity signals v.sub.k?i are determined as in
(46) A set of multiplexers 820 pass the sign-changed errors for the valid competing symbol decisions. A chain of compare-and-select (CAS) units 821 each pass the larger of their inputs, thereby determining e.sub.max, the maximum of the sign-changed errors. The comparator outputs of the CAS units are combined by a chain of logical OR gates to derive the replacement control signals r.sub.k?j for the multiplexers of the shift register 702. Note, however, a set of AND gates 822 blocks the replacement control signals unless equation (36) using e.sub.max produces a negative value, in which case it is desired to replace the original symbol decisions with their competing symbol decisions.
(47)
(48) Numerous alternative forms, equivalents, and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. Though PAM4 was used for the foregoing discussions, the disclosed principles are applicable to larger PAM constellations and to QAM signaling. Though a positive feedback coefficient value was presumed, the disclosed principles are similarly applicable with negative feedback coefficient values. Moreover, the disclosed analysis is readily extendible to multiple feedback taps for DFEs with suitable coefficient values. It is intended that the claims be interpreted to embrace all such alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims.