In modern communication systems, high-speed digital signals are typically passed through transmission channels and/or media that are less than ideal. The transmission channel and/or media transmission characteristics may degrade a transmitted original digital signal to the point that a receiver is unable to accurately differentiate between a received zero and/or one in the received digital signal at the receiver. This problem is more acute for communication test systems that are utilized to test and characterize numerous types of electronic devices (generally known as “devices under test” or “DUTs”) because on the need to accurately characterize the DUTs.
One approach to solve this problem includes compensating the deterministic effects introduced by sources such as frequency dependent losses and non-linear phase of the transmission medium, discontinuities from vias and connectors, etc., to correct the received digital signals using equalization so that the receiver may correctly receive the received digital signals. As an example of this approach, in
As an example of operation, the data source 102 may send a digital input signal 112 through the channel 104 to the receiver 106. It is appreciated by those skilled in the art that the channel 104 is typically less than ideal and therefore usually degrades the digital input signal 112 based on the transmission characteristics of the channel 104. As a result, the channel output signal 114 is the digital input signal 112 degraded by the transmission characteristics of the channel 104. The equalizer 108 then receives the channel output signal 114 and equalizes the channel output signal 114 in an attempt to compensate for the transmission characteristics of the channel 104. The resulting equalized output signal 116 is then passed to the symbol detector 110 that detects the data on the equalized output signal 116.
Examples of the channel 104 in a typical test system 100 are shown in
An example of a known equalizer is shown in
Generally, it is appreciated by those skilled in the art that there are advantages to utilizing the example LFE 400. A first advantage is that the LFE 400 type of equalizers are generally well-known in the art and are generally easily modeled and/or simulated because of the linear nature of the LFE 400. A second is that the LFE 400 is stable and does not oscillate (i.e., it has a finite impulse response) because there is no feedback path. Additionally, a wide variety of signal impairments may be corrected by the LFE 400 because the delays τ and the number of taps n may be varied independent of the data rate of the transmitted signal. Generally, the type of signal impairments that may be corrected include skin effect, dielectric loss, and multi-path interference.
Unfortunately, the typical design and evaluation of a high-speed digital transmission network with one or more LFEs 400 involves the derivation of the plurality of n tap coefficients K 406. It is appreciated that this usually requires a difficult formal derivation approach with technical expertise utilizing trial and error, inverse filter estimation from S-parameter or TDT channel characterization, or the iterative convergence algorithms of adaptive filters. Generally, there is a need for a closed form method to determine the n tap coefficient K 406 values. A solution to this problem is the use of a Direct Determination Equalization System as described in U.S. patent application Ser. No. 11/090,383, titled “A Direct Determination Equalization System,” filed Mar. 25, 2005, which is herein incorporated by reference in its entirety.
An example of another known equalizer is shown in
In an example of operation, the DFE 500 may receive an analog signal 510 from the channel (not shown), filter it with the front filter 502, and then combine the resulting filter output 512 (which may be either a discrete-time or continuation-time signal) with a feedback signal 514 from the second discrete-time filter 504 to produce a combined signal 516 that is passed to the symbol-by-symbol detector 506. The front filter 502 may be a continuous-time LFE filter. The symbol-by-symbol detector 506 then detects the symbols from the combined signal 516 to produce a received symbols signal 518 that is both output to other devices (not shown) and passed to the second discrete-time filter 504 via signal path 520.
Generally, an advantage of the DFE 500 is that it may be implemented on an integrated circuit (“IC” or “chip”) utilizing less space than a LFE. However, the feedback path generally produces unstable filters and the non-linear nature of the symbol-by-symbol detector 504 generally adds complexity to models or simulations of the DFE 500.
Referring back to
Additionally, the receiver 106 is generally not capable of directly measuring the equalized signal (i.e., equalized output signal 116) from the equalizer 108 because in many implementations the equalizer 108 is usually located on the same device (not shown, such as the same IC) as the symbol detector 110. Therefore, there is a need for a system capable of simulating the equalized signal 116 by characterizing the equalized signal 116 after equalization by the equalizer 108.
A number of techniques exist to characterize the test system 100. As an example, one approach involves utilizing a real-time oscilloscope to capture a section of the transmitted signal from the data source 102 through the channel 104 (also known as the received signal, i.e., channel output signal 114, at the receiver 106) and then utilizing post-processing to apply a mathematical model of an equalizer to the captured waveform of the channel output signal 114. Unfortunately, while this approach functions well when the equalizer 108 is implemented utilizing a LFE, it does not function well when the equalizer 108 is implemented utilizing a DFE because, unlike an LFE, the output of a DFE is a string of bits that cannot be measured and manipulated by an oscilloscope. Therefore, a DFE implementation requires a statistical measurement approach. Additionally, current real-time oscilloscopes typically have insufficient bandwidth to measure the response of DFEs. Equivalent-time oscilloscopes have better bandwidth but they still do not work well with DFEs.
Another approach includes utilizing either Time Domain Reflectometry (“TDR”) or a Vector Network Analyzer (“VNA”). These techniques involve first measuring the scattering parameters of the corrupting channel (i.e., channel 104), then utilizing the scattering parameters to simulate the effect of the channel 104 on an ideal waveform (i.e., the digital input signal 112) from the data source 102, and then simulating the corrective effect of the equalizer 108 would have on the corrupted signal (i.e., channel output signal 114). Unfortunately, these approaches have several drawbacks. As an example, the characterization can usually only be done on passive channels. Additionally, only those portions of the channel that can be measured are being simulated and equalized. An actual equalizer, however, is capable of correcting for both the passive channel and also the imperfections of the transmitter. Moreover, full statistical behavior (e.g., the behavior of the test system 100 in the presence of random noise or other uncorrelated interference) is generally unavailable and difficult to predict because both the transmitted signal (i.e., the digital input signal 112) and the channel 104 are being simulated.
Another problem associated with known test system 100 is related to timing aberrations known as “jitter.” In general, an ideal test system 100 transmits the digital input signal 112 as a pure bit stream from the data source 102, through the channel 104, to the receiver 106. The bit stream on the digital input signal 112 has a given timing (i.e., a bit clock) generated by a clock circuit (not shown) at the data source 102. The receiver 106 attempts to regenerate the bit clock at the receiver 106 through the use of a clock and data recovery (“CDR”) circuit (not shown). Unfortunately, timing aberrations (i.e., jitter) of the incoming bit stream on the digital input signal 112 cause problems in the CDR and results in bad sampling of the bit stream data in the digital input signal 112 causing bit errors that increase the Bit Error Rate (“B ER”). Jitter is significant because it is one of the major potential causes for data being received in error. It is appreciated by those skilled in the art that based on an Eye diagram, as the jitter increases the Eye in the Eye diagram closes in the horizontal dimension and the BER figure increases. Eventually, the jitter may increase to the point that receiver 106 will not be able to receive the channel output signal 114 without equalization. A channel output signal 114 of this type is often referred to a signal having a “Closed Eye.”
Therefore, there is a need for system and method to simulate and predict the effect of a DFE in a test system. Additionally, there is a need for a system capable of compensating for the deterministic effects of a channel and data source utilizing a DFE.
A Decision-Feedback Equalizer Simulator (“DFES”) for predicting a bit-error rate (“BER”) of a transmitted signal through a channel, wherein the transmitted signal includes a repeating pattern having a length of N bits and wherein the transmitted signal is sampled by a bit-error rate tester (“BERT”) that produces a BER value as a function of a decision threshold ν of the BERT (“BERT(ν)”). The DFES may include a decision-feedback equalizer (“DFE”) having a symbol detector, and a processor configured to define a vector of random variables (“{right arrow over (X)}”) in response to determining the BER value, wherein {right arrow over (X)} has the same length of N bits as the repeating pattern of the transmitted signal, and determine the BER value in the DFE as a function of a DFE decision threshold z (“BER(z)”) of the symbol detector utilizing {right arrow over (X)}.
In an example of operation, the DFES may perform a method that includes receiving a transmitted signal through a channel at a bit-error rate tester (“BERT”), wherein the transmitted signal includes a repeating pattern having a length of N bits, sweeping a decision threshold ν of the BERT across a first range of voltage levels, determining a BER value for each individual bit, in the repeating pattern of the transmitted signal, at each voltage level of the decision threshold ν, defining a vector of random variables (“{right arrow over (X)}”) in response to determining the BER value, wherein {right arrow over (X)} has the same length of N bits as the repeating pattern of the transmitted signal, and determining the BER value in the DFE as a function of a DFE decision threshold z (“BER(z)”) of the symbol detector utilizing {right arrow over (X)}.
Other systems, methods and features of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.
The invention can be better understood with reference to the following figures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
In the following description of the preferred embodiment, reference is made to the accompanying drawings that form a part hereof, and which show, by way of illustration, a specific embodiment in which the invention may be practiced. Other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
In general, the invention is a Decision Feedback Equalizer Simulator (“DFES”) that is configured to predict the deterministic effects of a transmission channel (i.e., a channel) and a data source. The DFES is configured to utilize equalizer coefficients to compensate for the deterministic effects of the channel by predicting the Bit-Error Rate (“BER”) given a particular equalizer implementation and a repeating bit stream (also referred to as a “repeating pattern”) measured by an Error Performance Analyzer such as, for example, a bit error rate tester (“BERT”). In general, the DFES predicts the BER of a transmitted signal through a channel, wherein the transmitted signal includes a repeating bit stream having a length of N bits and wherein the transmitted signal is sampled by a BERT that produces a BER value as a function of a decision threshold ν of the BERT (“BER(ν)”). The DFES may include a DFE having a symbol detector, and a processor configured to define a vector of random variables (“{right arrow over (X)}”) in response to determining the BER value, wherein {right arrow over (X)} has the same length of N bits as the repeating bit stream of the transmitted signal, and determine the BER value in the DFE as a function of a DFE decision threshold z (“BER(z)”) of the symbol detector utilizing {right arrow over (X)}.
Example BERT devices may be a N4901B produced by Agilent Technologies, Inc. of Palo Alto, Calif., a BERTScope™ produced by SyntheSys Research, Inc. of Menlo Park, Calif., or a MP1776A produced by Anritsu Company of Morgan Hill, Calif.
In
As an example of operation, the data source 604 may send a digital input signal 622 through the channel 606 to the receiver 608. It is appreciated by those skilled in the art that the channel 608 is typically less than ideal and therefore usually degrades the digital input signal 622 based on the transmission characteristics of the channel 606. As a result, the channel output signal 624 is the digital input signal 604 degraded by the transmission characteristics of the channel 606. The receiver 608 receives the channel output signal 624 (also known as the “transmitted signal”) and produces a receiver output signal 626 that includes a digital data stream of received symbols.
The data source 604 is any device capable of producing a digital data signal that is receivable by the receiver 608. As an example, the data source 604 and receiver 608 may be modules within an N4910B BERT produced by Agilent Technologies, Inc. of Palo Alto, Calif., a LECROYM1/ADV-1D Oscilloscope produced by LeCroy, Inc. of Chestnut Ridge, N.Y., ME7760B, ME7780A, MP1632C, MP1764, MP1775A, and MP1776A bit error rate test and measurement devices by Anritsu Company of Morgan Hill, Calif., BERTScope™ produced by SyntheSys Research, Inc. of Menlo Park, Calif., or similar devices. The data source 604 and the receiver 608 may both optionally be part of a signal testing system such as, for example, BERT 628.
The channel 606 may be similar to the channels 200 and 300 described in
The processor 612 may be any type of processor, microprocessor, microcontroller, controller, digital signal processor (“DSP”), application specific integrated circuit (“ASIC”), or programmable machine, or similar type of device and/or module. The receiver 608 may also include an optional memory (not shown) that may be any type of storage device, module, or medium capable of storing data from the processor 612. The memory may also store software (not shown) capable of controlling the operation of the processor 612.
The random noise generator 610 may be any type of device capable of producing a random noise signal 630 having a zero-mean noise process defined by a vector of random variables “n.” The DFES 602 may be implemented as shown in
In
The channel 704 may be in signal communication with the equalizer 710, pattern generator 714, and error detector module 716 via signal paths 718, 720, and 722, respectively. The Equalizer 710 may also be in signal communication with the symbol detector 712 via signal path 724.
In an example of operation, the pattern generator 714 produces a digital input signal 726 that is sent to the equalizer 710, of the receiver 706, through the channel 704. The channel 706 degrades the digital input signal 726, based on the transmission characteristics of the channel 704, and produces a channel output signal 728. Part of the channel output signal 728 is sampled at a connection point or node 730 between the output of the channel 704 and the input of the receiver 706. The sampled channel output signal 732 is then passed to the error detector module 716 that determines the errors between the channel output signal 728 and the digital input signal 726, which correspond to the errors introduced by the channel characteristics of the channel 704.
The Equalizer 710 may be either a LFE or DFE equalizer and will result in an equalized output signal 734 that is passed to the signal detector 712, which detects the digital symbols from the equalized output signal 734 and produces an output signal 736 of received symbols.
In
In an example of operation, the DFES 800 may receive a channel output signal 814 (such as, for example, channel output signal 624,
Referring back to
The combiner 802 then combines the channel output signal 814 with the feedback signal 816 that represents a correction offset (which may be represented by a vector of random variables {right arrow over (ε)}) to produce the combined signal 818, which may be represented by a new random vector {right arrow over (Y)}, that is passed to the symbol detector 804. The symbol detector 804 then receives the combined signal 818 and produces a detector output signal 822, which may be described by a discrete random variable vector {right arrow over (S)}, that may be fed back to the feedback filter 806 via signal path 812.
The symbol detector 804 may include a threshold detector (not shown) that utilizes a decision threshold “z” for determining the bit-error rate (“BER”) seen by the DFES 800. In this example, the BER is a function of z, i.e., BER(z), and is directly proportional to the associated density functions of the combined signal 818{right arrow over (Y)}.
Each random variable has an associated density function fx(x) and in the case of a vector of random variables of {right arrow over (X)}=[X0, X1, . . . XN] the associated vector of density functions is {right arrow over (f)}x(x)=[f0(x0), (x1), . . . fN(xN)]. Additionally, each random variable also has an associated expected value (i.e., the “mean” value), which may be represented by ηi=E[Xi]. In this case, ideally the expected value ηi equals the transmitted bit (i.e., “ZERO” or “ONE”) in the channel output signal 814{right arrow over (X)} that may be represented as “−1” for a ZERO and “+1” for a ONE. As an example, the vector of random variables {right arrow over (X)} 906 in
In the case of the DFES 800 utilizing a DFE (not shown), a rudimentary prediction of BER as a function of the decision threshold (i.e., “z”) of the symbol detector 804 (also known as a symbol “slicer”) may be made by assuming that the DFE operates only on the portion of the combined signal 818{right arrow over (Y)} that is correlated to the transmitted bit sequence (i.e., the channel output signal 814{right arrow over (X)}) and that the DFE has, in the past, made the correct “decision.” Thus in the case of DFE, the DFE may determine the correction offset {right arrow over (ε)} for the feedback signal 816 that may be utilized to determine the BER. As a result, {right arrow over (Y)}={right arrow over (X)}+{right arrow over (ε)} and {right arrow over (ε)}={right arrow over (a)}{right arrow over (S)}, where {right arrow over (a)} is coefficients of the feedback filter 806.
The resulting density of combined signal 818{right arrow over (Y)} is {right arrow over (f)}y(y)={right arrow over (f)}x(y−ε)=[f0(y0−ε0), f1(y1−ε1), . . . fN(yN−εN)] with a corresponding cumulative distribution function of
This may be assembled into a BER prediction by grouping the distributions into those associated with the ZEROs and those associated with the ONEs. The BER(z) seen by the DFES 800 symbol detector 804 as a function of the decision threshold z 820 would be
While this method produces a BER prediction, it is a rudimentary prediction.
The BER prediction may be improved by modifying the above approach as shown in
Similar to the DFES 800 of
Unlike the DFES 800 of
The scalar deterministic vector {right arrow over (d)} represents a dependent interference signal 1018 that is the portion of the channel output signal that is based on deterministic signal-dependent interference from the channel. The random vector {right arrow over (n)} represents an uncorrelated interference signal 1020 that is not correlated to the dependent interference signal 1018. The first combiner 1002 then combines the dependent interference signal 1018 with the uncorrelated interference signal 1020 to produce a first combined signal 1022{right arrow over (X)}.
In this example, {right arrow over (X)}={right arrow over (d)}+{right arrow over (n)} and Xi=di+ni, where each ni is both independent of each other and independent of di, and where “i” is the index of the vector ranging from 1 to N. The first combined signal 1022 may represents an analog signal supplied to the input of the second combiner 1004 at the instant that the symbol detector 1006 makes a decision as determined by a clock signal (not shown). The decision may be based on a decision signal 1024 provided by a processor (not shown) such as, for example, the processor 612,
The second combiner 1004 then combines the first combined signal 1022 with a feedback signal 1026 that represents a correction offset, which may be represented by vector of random variable {right arrow over (ε)}, to produce a second combined signal 1028 that may be represented by a new random vector {right arrow over (Y)} that is passed to the symbol detector 1006. The symbol detector 1006 then receives the second combined signal 1028 and produces a detector output signal 1030, which may be described by a discrete random variable vector {right arrow over (S)}, that may be feed back to the feedback filter 1008 via signal path 1016.
Similar to
This also may be expressed as a convolutions of the distributions of εi and Xi as described by the relationship
In this example, the random variable {right arrow over (Y)} representing combined signal 1028 describes the analog signal immediately before the symbol detector 1006. The discrete random variable vector {right arrow over (S)} representing the detector output signal 1030 describes the digital signal immediately after the symbol detector 1006, which may only have binary values of “+1” and “−1” with non-zero probability. As an example, for a fixed decision threshold z, the probability that Si has on the values “+1” and “−1” are, respectively:
P{Si=+1}=P{symbol detected as a “ONE”}=1−FY(z) and
P{Si=−1}=P{symbol detected as a “ZERO”}=FY(z),
where FY(z) is the cumulative distribution function of fY(z) as defined above.
In
The first combiner 1102 and second combiner 1104 may be summers and the slicer 1106 may be a decision circuit (such as, for example, a symbol detector) that may include a threshold detector (not shown). The slicer 1106 may receive a decision threshold signal 1120 that is utilized by the slicer 1106 to digitize the incoming analog signal 1122 into a slicer output signal 1124 having two distinct digital values. The shift register 1108 is a device capable of delaying the binary slicer output signal 1124 by utilizing a shift register that may include a plurality of “k” binary shifting positions R1, R2, R3, . . . Rk 1126. Similar to
In an example of operation, if a data source (not shown) transmits a data signal that includes a repeating sequence of N bits, the DFES 1100 may receive the channel output signal. Similar to
Again, the scalar deterministic vector {right arrow over (d)} represents a dependent interference signal 1134 that is the portion of the channel output signal that is based on deterministic signal-dependent interference from the channel. The random vector {right arrow over (n)} represents an uncorrelated interference signal 1136 that is not correlated to the dependent interference signal 1134. The first combiner 1102 then combines the dependent interference signal 1134 with the uncorrelated interference signal 1136 to produce a first combined signal 1138{right arrow over (X)}, which represents an analog signal supplied to the input of the second combiner 1104 at the instant that the slicer 1106 makes a decision as determined by a clock signal 1140 produced by a clock circuit (not shown) in the receiver (not shown). The decision may be based on a decision signal 1120 provided by a processor (not shown) such as, for example, the processor 612,
The second combiner 1104 then combines the first combined signal 1138 with the correction offset signal 1132, which represents a correction offset that may be represented by the random variable vector {right arrow over (ε)}, to produce the second combined signal 1122 (referred to earlier as incoming analog signal 1122) that may be represented by random variable vector {right arrow over (Y)} that is passed to the slicer 1106. The slicer 1106 then receives the second combined signal 1122 and produces the slicer output signal 1124 that may be described by the discrete random variable vector {right arrow over (S)} that is passed to the shift register 1108. In this example, similar to
P{Si=+1}=P{symbol detected as a “ONE”}=1−Fy(z) and
P{Si=−1}=P{symbol detected as a “ZERO”}=Fy(z).
However, in this example, the correction offset random variable may be produced by the accumulator 1110 by calculating the correction offset as
εi=a1Sii-1+a2Si-2+ . . . +aNSi-N.
As a result, the DFES 1100 is capable of producing a second combined signal 1122 that is a recursive definition of {right arrow over (Y)} as a function of the decision threshold z that may be used with the following relationship
to predict the BER as a function of the decision threshold z. This is accomplished by representing the analog signal (i.e., the second combined signal {right arrow over (Y)} 1122) immediately before the slicer 1106 with the random variable Yi and defining Yi in terms of the input (i.e., Xi 1138) to the DFES 1100 and the feedback signal (i.e., correction offset signal {right arrow over (ε)} 1132) of the DFES 1100. The feedback signal is a function of the statistics of the shift register (Si-1, Si-2, . . . Si-n), which in turn is a function of the previous random variables (Yi-1, Yi-2, . . . Yi-n) and the decision threshold z.
In step 1314, the DFES determines BER1 for the first bit of the input data pattern signal, which will be a different value than the initial value determined for BER1 because the initial determination assumed the shift register was error free. The process then repeats between steps 1312 and 1316 until the value of BER1 has converged to within a predetermined value that corresponds to a desired tolerance that may be preprogrammed in the DFES and/or provided by an external user. Once the has converged, decision step 1316 allows the process to continue to step 1318 where the DFES determines the BER for the decision threshold z, i.e., BER(z).
Persons skilled in the art will understand and appreciate, that one or more processes, sub-processes, or process steps described in connection with
While the foregoing description refers to the use of a DFES, the subject matter is not limited to such a system. Any equalization system that could benefit from the functionality provided by the components described above may be implemented in the DFES.
Moreover, it will be understood that the foregoing description of numerous implementations has been presented for purposes of illustration and description. It is not exhaustive and does not limit the claimed inventions to the precise forms disclosed. Modifications and variations are possible in light of the above description or may be acquired from practicing the invention. The claims and their equivalents define the scope of the invention.