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:

RjDjOptions 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:

RjDjSmallWith 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