RJ/DJ Extraction Methods - Theory and Discussion
This page will describe some of the theory behind, and discuss the results of, M1™'s multiple Rj/Dj extraction algorithms.
Background Note:
A
great deal of work regarding Rj/Dj extraction and analysis has been
published in the MJS and MJSQ documents which were originally produced
under the auspices of the Fibre Channel committee. A number of other
high-speed serial data technologies have simply incorporated these
documents by reference. For additional detail on much of the
information on this page, please consult the MJSQ document directly.
Note that ASA's official position on Rj/Dj extraction is that the theory
behind the concept is based on some suspect assumptions. MJSQ itself
lists many different general methods of extracting Rj/Dj values, and
acknowledges that they are uncertain which is "Right." The fact that
different extraction algorithms in M1, when run on exactly the same set
of data, can produce different Rj/Dj values would seem to support this
position.
Theory:
With
the exception of the Pattern-Based method, the underlying theoretical
basis of all of the current extraction methodologies is the 'sliding
strobe' technique discussed in MJSQ. In this technique, a BERT's data
strobe is slowly moved across the unit interval, and the measured
Bit-Error Rate at each point is recorded, for reasonable BERs such as 10-4 or 10-5.
This data is plotted as a Bathtub Curve, and curve-fitted to find Rj
and Dj values. The Rj and Dj values can then be used to extrapolate the
Bathtub Curve down to BER levels, such as 10-16, which would require an unacceptably long test time otherwise.
For the actual data acquisition, a real-time oscilloscope is used to
capture a large number of fully adjacent pulses of the data stream.
This data can then be treated either as a single complete record (for
No Filter and Hipass Filter methods), or 'resampled' in a variety of
manners that approximate the way a Time-Interval Analyzer (TIA)
collects data (for Max Data Length methods). This data may then be
analyzed to create a list of, e.g., Edge Jitter values. The data is
then assembled into a Bathtub Curve and the Rj/Dj values are extracted.
The
Pattern-Based method implements the "Pattern Marker with Known Pattern"
method described in MJSQ and therefore will only work with repetitive
data. Note that the Pattern Marker in this case is not an actual
signal, but rather a software construct, based on the Pattern
information given by the user to M1.
Approaches:
The following table lists all of the Filter Type/Extraction Method
possibilities available in M1, along with some comments regarding their
use.
| Filter Method |
Extraction Methods |
Description |
| None |
Edge Jitter |
TIE
on entire record with no filtering. Good method, but does not filter
out low frequency jitter, so it produces results that are not fully
compatible with specs that require filtering. However, comparison with
filtered results can give an indication of how much low-frequency
jitter is present in the device/system.
|
| |
Pulsewidth Jitter |
Pulsewidth
Jitter on entire record with no filtering. Will overpredict due to
relationship between Pulsewidth Jitter and Edge Jitter (see MJSQ Rev 10
§6.5.3 for an explanation). Does not apply 'correction factors' noted in MJSQ due to perceived invalid assumptions behind their use.
|
| |
Pattern-Based |
Will generally overpredict Rj and underpredict Dj because Pj is included with Rj rather than Dj. Dj is
a good prediction of DCD+ISI. Only works on Repetitive signals, using
the "Pattern Marker with Known Pattern" method as mentioned previously.
Effectively does a 'max data length' filter at a frequency determined
by the pattern length. As this frequency is unlikely to be the required
filter frequency, may not produce compatible results.
|
| Hi-pass Filter |
Edge Jitter |
TIE
on entire record with highpass filtering. Believed by ASA to have the
closest philosophical agreement to what the specs actually ask for.
|
| |
Pulsewidth Jitter |
Pulsewidth Jitter on entire record with highpass filtering. Will overpredict for same reasons stated for previous PWJ method.
|
| Max Data Length |
TIA - All Data |
TIE
on chunks of data of a length appropriate to perform the desired
highpass filtering. This method will use all edges in the acquisition
multiple times. This method is recommended above the following two
methods for reasons noted below.
|
| |
TIA - Lossy 1 |
Similar
to above, but includes pseudo-'trigger holdoff' between chunks of data,
similar to how a TIA has gaps between acquired bits of data. Makes one
pass through the acquisition, using all data points in each chunk.
|
| |
TIA - Lossy 2 |
Similar
to Lossy 1, but makes multiple passes through the acquisition, using
only one data point from each chunk on each pass. This is close to the
way in which a TIA actually acquires data, except that M1 is
"acquiring" Edge Jitter values rather than Pulsewidth Jitter values as
a TIA does.
|
| |
TIA - Corrected |
Data
is collected in the same manner as for Lossy 2, except that Pulsewidth
Jitters are "acquired" rather than Edge Jitters. This requires the use
of 'correction factors' as noted in MJSQ. Believed by ASA to be
philosophically closest to how a TIA acquires and analyzes data.
|
Notes:
Filter Ratio - Filter Ratio applies to Hi-pass Filter and Max Data Length methods, but not to No Filter methods.
Holdoff Parameters – Holdoff Parameters apply only to Max Data Length methods, with the exception of the TIA - All Data method. These parameters simulate the
trigger rearm time of a TIA. At the end of each resampled event, M1
will skip forward in the acquisition a random amount of time between
Holdoff Min and Holdoff Max before resampling the next event.
Reference – reference to either the Mean UI or an Ideal UI are available for all
extraction methodologies. For the No Filter methods, Mean UI is
recommended to avoid the effects of any small difference between the
Ideal UI and the measured Mean UI from accumulating through the record
and adversely affecting the results. For the filtered methods, either
choice should produce nearly identical results, because the filtering
will effectively negate the effects of any difference between the Mean
and Ideal UIs.
Max Data Length:
- With the exception of All Data, these methods do not use all of the data
available in the acquisition in their analysis, due to the
pseudo-'trigger holdoff' implemented. Therefore, if one were to run one
of these analyses on the exact same set of data multiple times, it is
possible to see slightly different results as the analysis randomly
chooses different parts of the dataset each time.
- It should be noted that in ASA's internal testing, the Rj/Dj values
extracted, as well as the distribution of values used in the analysis,
are very similar among the All Data, Lossy 1, and Lossy 2 methods. This
provides strong evidence that the All Data method, despite its lack of
the large data gaps present in true TIA acquisitions, nonetheless
produces an equivalent final result. The All Data method is therefore
recommended above either of the Lossy methods because it makes much
better use of the available data.
All of these analysis methods (with the exception of Pattern-Based) can be
used to analyze either Random or Repetitive data streams. Note that, in
general, measuring a Repetitive data stream with a relatively short
(e.g. 20-40 bits) pattern length will result in smaller Rj/Dj numbers
than measuring a longer pattern or Random (e.g. PRBS) data under the
same conditions. This is presumably due to the fact that a short
pattern does not fully exercise all possible edge positions or
sequences of pulse width sizes. For this reason, it is recommended to
measure only long patterns or Random data streams in order to obtain
more appropriate results, unless a specification requires otherwise.
Discussion:
An important point to note is that, in general, the different Rj/Dj
extraction approaches can produce different Rj/Dj results from the same
acquisition of data. This is despite the fact that all approaches are
based on published methods for extracting Rj/Dj information from a
signal.
At ASA, we see this as evidence of what we have believed and noted to our
customers for some time now - that the very concept of Rj/Dj extraction
is flawed due to its basis in questionable assumptions. Nonetheless,
since our customers have requested the ability to be able to use M1 to
extract Rj/Dj values for various specifications, we have decided that
the best approach is to give our customers as many different ways of
extracting Rj/Dj values as possible. The information on this page
regarding how each of the methodologies is implemented, and the
perceived advantages and disadvantages of each, allows the customer to
use their own best judgement to determine which formulation to use for
their own testing.
We have a video showing the capabilities of SEEj in M1. Watch Video
|