Refer now to
In the paradigm of
RJ 8 is assumed to arise for inescapable natural reasons, after the fashion of thermal noise or quantum effects, and is further assumed to be Gaussian in nature. PJ 7 is jitter that has a strong periodic content, say, for example, that a strong periodic signal from another-system is coupled via cross talk into the system being measured. It might have no correlation whatsoever with events in the SUT (System Under Test), but is nevertheless regular. And while the presence of PJ in our paradigm allows for this sort of thing, we don't demand that it actually be there. That is, in some SUTs there might not be any detectable PJ.
The other component of TJ 2 is DDJ 3. This is jitter that is caused by, or is correlated with, the particular patterns of bits in the data being transmitted. It turns out that there are mechanisms that allow what has already been sent, or that will be sent, to affect the reception of the bit currently being received. (‘Already been sent’ seems benign enough; perhaps local heating or cooling related to certain activity in the data disturbs thresholds or alters rise or fall times. But ‘will be sent’ might seem as if it requires an effect to precede its cause. Not to worry. The idea is that a complex transmitting mechanism, such as a SERDES, say, has a highly pipelined parallel architecture with busses interconnecting FIFOs and registers all susceptible to cross talk, and that the complex transmitting mechanism DOES ALREADY CONTAIN the evil data that is the ‘cause.’ That data just hasn't been sent yet over the transmission path to the receiver, and the jitter will get into the data as it is sent. Thus, causation still precedes its effect, and no mysterious metaphysics is required.) Since these phenomena are already reported in the literature, we needn't dwell on them further. One measure of such DDJ is ISI 5 (Inter-Symbol Interference) and another is DCD 6 (Duty Cycle Distortion). Those seeking further information about these measures of jitter are referred to some product literature cited in an application entitled METHOD AND APPARATUS USE RE-SAMPLED TIE RECORDS TO CHARACTERIZE JITTER IN A DIGITAL SIGNAL (Ser. No. 10/929,194, filed 3 Aug. 2004), which is variously incorporated in some of the applications incorporated herein.
Finally, we group ISI, DCD and PJ together as DJ 9 (Deterministic Jitter). It will be appreciated that while the DDJ portion of DJ is separable into ISI and DCD, those components are not necessarily independent nor mutually exclusive, and they generally do not combine by convolution. In any event, the intent of this grouping is that DJ 9 is all jitter that is not truly random in nature (RJ, 8), but that is either somehow correlated with the data, or is downright periodic, which in neither case fits our intuitive notion of ‘random.’ An important difference between RJ and DJ is that RJ has (in principle) a PDF (Probability Density Function) with an infinite domain, while DJ has a PDF whose domain is bounded.
Refer now to
To continue, then, our plan is to assert that there exists some histogram 11 describing Total Jitter, and argue that, whatever it is, that Total Jitter can be decomposed into Random Jitter and Deterministic Jitter. That is, we will assume that such a decomposition is a true partition of the Total Jitter: i.e., any type of jitter is either in one category or the other, and that none is in both. This leads us to assert that there is some representation 12 for Deterministic Jitter 9 that can be combined with a representation 13 for Random Jitter 8 that “adds up to” the histogram 11 for the Total Jitter. We note that we expect the Deterministic Jitter to usually be discrete and static, as indicated by the collection of spectra-like lines 14 (note that we are not accusing them of being spectral components in the signal . . . just that their shapes resemble a displayed spectra). We also expect the Random Jitter to follow some plausible distribution found in nature, such as a Gaussian one represented by distribution 15.
In
To continue in the DSO case, the samples representing the Acquisition Record 16 can be processed with DSP techniques and/or interpolation to discover with suitable precision the locations along a time axis when an edge in the data signal crossed the threshold 17. With a correctly set threshold (very probably one set in the middle of the signal's voltage excursion), jitter, if it is present, will cause the time locations of the threshold crossings to vary from the ideal sequence of consecutive UIs. This is shown in the middle portion of the figure, wherein is depicted an ideal time reference line 20, appended to which are indications of correct (21), early (22) and late (23) transitions. The lengths of these appendages are indicative of the degree of error. It is clear that if a Timing Analyzer provided time stamped transition data (as opposed to a DSO's digitized samples), the same correct/early/late actual time of transition information can be produced.
The process of discovering the Time Interval Error for an edge involves knowledge of what the UI ought to be, and that information might arise from how a clock signal that is supplied by the SUT, or that is recovered from its data, exhibits a transition in a particular direction. It might involve the phase locking of a time base in the DSO or Timing Analyzer to one in the SUT, since even precision laboratory grade time bases that are independent can be expected to drift relative to one another by amounts that correspond to significant amounts of jitter in a high speed system.
As an aside, we wish to point out that, although
The bottom portion of
Henceforth, when we refer to a TIE Record, we shall have in mind a data structure implemented in the memory of suitable test equipment, such as a real time DSO or Timing Analyzer, which contains time interval error information of the sort depicted in the lower third of
Given that we had an Original Time Interval Record 24 such as shown in
While such a continuous (‘short?’) Original TIE Record is not suitable of extracting long period jitter, we are well justified in asserting that it will do just fine for the discovery of DDJ (assuming, that is, that none of DDJ is ‘long’). So, let us begin by forming such a continuous Original TIE Record and discovering DDJ. See the incorporated METHOD OF FINDING DATA DEPENDENT TIMING AND VOLTAGE JITTER IN AN ARBITRARY DIGITAL SIGNAL IN ACCORDANCE WITH SELECTED SURROUNDING BITS or FINDING DATA DEPENDENT JITTER WITH A DDJ CALCULATOR CONFIGURED BY REGRESSION for exemplary information concerning how this may be accomplished. Such discovered DDJ can then be removed from the Original TIE Record. That is, once the DDJ for each, or whatever various ones, of the transitions in the Test Pattern has been discovered an Adjusted TIE Record could be made from the Original TIE Record by altering each entry in the latter by the amount of DDJ associated with each entry. This is indeed eminently doable, although in and of itself, it does not help us with the problem of long period jitter where an Original (and non-segmented) Acquisition Record is too short. However, it occurs to us that if we can adjust a non-segmented Original Acquisition Record for DDJ, then we ought to be able to adjust a segmented one that (owing to ‘hole tolerance’) is long enough. We are getting ahead of ourselves, since we have not yet described a Segmented Original Acquisition Record. At present it is sufficient to say that such ‘adjustment’ is entirely comparable. (What is more, and to risk an opportunity for confusion, it may well be possible to dispense with the ‘short’ version of the Original Acquisition Record, only ever acquire a ‘long’ Original Segmented Acquisition Record, and accurately find DDJ from it anyway, and then proceed to adjust that to form an Adjusted Segmented Acquisition Record.)
Let us temporarily set aside the worries of long period jitter, and gain an appreciation of a jitter measurement and separation technique that is ‘hole tolerant.’ Assuming that we now have an Adjusted TIE Record for which DDJ has been defined, isolated and removed from a continuous Original (think: TJ) TIE Record (that is ‘short’ in the sense that it is ‘not long enough’ to preserve long period information), what remains in the Adjusted TIE Record is the effect of Periodic Jitter combined with Random Jitter (denoted by PJ+RJ). It is this remnant combination that we wish to separate into individually identified amounts for PJ in isolation and for RJ in isolation.
We would like to perform this RJ−PJ separation in the frequency domain using a threshold-based technique similar to that used in the aforementioned METHOD AND APPARATUS USE RE-SAMPLED TIE RECORDS TO CHARACTERIZE JITTER IN A DIGITAL SIGNAL. However, the presence of holes in the Adjusted TIE Record corrupts the spectrum too much to use the simple single-threshold technique described therein. The solution to this problem lies in an appreciation of the following relationship: the FT of the Adjusted TIE Record (with holes) is equivalent to the FT of the Adjusted TIE Record without holes convolved with the FT of the TP (Transition Pattern). That is, TP is a ‘derivative’ waveform record that is equal to ONE where transitions are present in the Test Pattern and equal to ZERO where transitions are absent. We do indeed appreciate that relationship because the Adjusted TIE Record (with holes) would be equivalent to an Adjusted TIE Record without holes (if such there were) as ‘multiplied’ by the TP.
Since we can't simply de-convolve the FT of the TP-combined-with-jitter and by applying a ‘one-size-fits all’ PJ-related threshold to remove PJ, we shall perform a ‘synthetic’ de-convolution by the application of a more sophisticated PJ-related threshold, as implemented by the following iterative technique. First, ensure that the logical sequence of ONEs and ZEROs in the measured Test Pattern is at hand; we will need it, so re-construct it from the sampled data, if it is not already known. Now calculate the PDS (Power Density Spectrum) of the PJ+RJ, and determine a threshold applicable thereto that indicates the presence of a frequency component that is likely to be associated with PJ. Identify in the PDS the frequency component with the largest amplitude that also exceeds the threshold, if there is one. If there is not such a frequency component, then there is no significant PJ and all of what was thought to be PJ+RJ can be taken as RJ, and we are finished separating RJ.
If, on the other hand, there is an identified frequency component that exceeds the threshold, take the one with the largest amplitude, calculate the convolution of that frequency component with the FT of the Transition Pattern (TP) in the data of the Test Pattern. Even though there may well be more contributors to PJ, this identifies the jitter for this particular contributor, as if it did occur in isolation. Surely this amount is ‘part of’ the PJ+RJ for which we have a description. Let us make a note of this partial amount, and then remove it from the FT of the PJ+RJ to produce a diminished PJ+RJ (which is an improved approximation for RJ). Now take the diminished PJ+RJ as the next PJ+RJ and calculate its PDS as before, and recalculate a next threshold, and find (if there is one) a next largest frequency component. As before, we then convolve the FT of that next largest frequency component with the FT of the TP to find another ‘part of’ PJ+RJ that is noted and then removed, and so forth with continued iterations, until there are no further PJ components identifiable in the newest PDS. At this point we are justified in believing that we have ‘extracted’ all significant PJ from PJ+RJ, and have a remnant RJ PDS with an associated list of component PJs. The remnant PDS (or the original PDS, if no threshold criteria was met) can be summed and root squared to produce an RMS value for RJ.
The preceding three paragraphs are essentially the Simplified Description (Summary) of the incorporated FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL, and a more thorough explanation may be found in the text describing FIGS. 4 and 5 of that application. What is of interest to us at present is that, even though it won't characterize long period jitter, the technique described in FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL tolerates holes. Crudely put, we plan to take an Acquisition Memory that is ‘too short’, divide it into segments, and then ‘stretch it’ by adding ‘artificial holes’ between the segments (while leaving the segments themselves intact) so that it is ‘long enough’ for measurement of the long period jitter that we are interested in. In essence, we are going to sample the long period jitter. However, in the process we won't neglect or inadvertently relinquish the ability to sample any high frequency jitter to be measured, since within each burst we will be characterizing the corresponding segment of the waveform with a significant number of consecutive high speed samples.
We now return to the problem at hand concerning long period jitter, and address the issue of a creating a Segmented Original Acquisition Record that contains useful information about a high speed signal that has both ‘long’ and ‘short’ period jitter (and for that matter, might have jitter of any period within the range of ‘long’ to ‘short’).
As a point of departure, there is a heuristic from the DSP community that says: “If you give me at least two points along each cycle of the highest frequency sinusoid contained in some complex waveform, I can create a pretty decent re-construction of that cycle which will work for most purposes, although more samples is better, and equally space samples are much more convenient for computational purposes.” What is true for the highest frequency component of interest is also true for one of a lower, or even the lowest, frequency component. So, we would prefer at least two equally spaced samples for any long period periodic jitter we intend to measure. Suppose, for the sake of example only, that we arbitrarily decide to make five equally spaced samples over a period TLONG
T1=T0
T
2
=T
0
+T
LONG
DELTA
T
3
=T
0+2TLONG
T
4
=T
0+3TLONG
T
5
=T
0+4TLONG
Clearly, we are not interested in taking a total of just five samples! We never said what we actually have available as a size for the Acquisition Memory. It doesn't really matter, so long as it is ‘enough,’ where that is apt to be anywhere from a few megabytes to perhaps many hundreds of megabytes. As we said earlier, high-end DSOs tend to come with as much memory as is practical, and one goes forth from there with what is available. So, suppose Q is the size (say, in ‘samples’) of the Acquisition Memory, and that, as before, at the maximum sample rate (TSHORT
Finally, in principle the bursts need not be equally spaced, nor do the samples within a burst. In practice it is most convenient if the samples within bursts all occur at a regular rate, and if the bursts occur at a regular rate, too. Otherwise, we would need to keep careful track of the actual times that the samples were taken (as opposed to just letting it be implicit in the computations), and, we would lose the ability to employ certain streamlined algorithms that the DSP community has developed to ease the number and complexity of the numerical operations to be performed (e.g., avoidance of an infinite number of summations of a translated sinc function . . . ).
Now refer to
At step 29 the data signal is sampled at a rate of TSHORT
Step 31 determines if all segments have received data from a burst. If not, then step 32 waits TLONG
Now refer to
At the top of the figure is a Time Axis 35 along which have been depicted a series of N-many time intervals 36 that represent the bursts of samples that will be taken. These burst 36 may be thought of as Tmax/N in length, or, as being M(TSHORT
In Step I the various segments (27, 38, . . . 39) of a Segmented Acquisition Memory are shown.
In Step II an arbitrary Test Pattern is represented in a Segmented Acquisition Record (40, 41, . . . 42) as consecutive samples meeting the Sampling Theorem's requirements. This Segmented Acquisition Record is created by a suitable measurement process (probably assisted by DSP performed upon the corresponding segments in the Acquisition Memory, and is almost certainly a tabular representation of times-of-transitions), and is the basis for the jitter measurements to follow. The Test Pattern is, in principle, arbitrary, in that it may be random data, live data or some other favorite sequence of bits prized for some special property. Pseudo random data is usually ideal for this purpose, although it is believed that live data generally works about as well provided that a long enough Acquisition Record is obtained.
For convenience, a time scale 44 of ideal unit intervals is included in proper alignment with the sections below it. This is useful, as there are edges shown as part of Step III that, owing to jitter, do not transition at the edges of a UI.
In Step III the bit pattern for the arbitrary Test Pattern is discovered, if it is not already known. For example, the discovery may be made in a real time DSO environment, where the Acquisition Record is consecutive digitized samples, by applying DSP to those samples to obtain a rendered result that is suitably dense and then comparing that against a threshold that is, say, midway between average maximum and average minimum values. We have shown the information found in Step III as a waveform corresponding to the meaning of the Segmented Acquisition Record (40, 41, . . . 42) of Step II, as this visual device comports well with the Segmented TIE Record of Step V; in an actual system the information of Step III might be just a table indexed by consecutive ordinals corresponding to the consecutive UIs.
Step IV is the construction of a Segmented Transition Pattern (STP) Record 45, which we show in the same general format as for normal TIE Records (it was convenient) but which in an actual system might also be just a table indexed by consecutive ordinals corresponding to the consecutive UIs.
In Step V a complete Segmented Original TIE Record (50) is created from an inspection of the bit pattern produced in Step III. As described in connection with the bottom portion of
Step VI is the optional discovery of DDJ. We have no truly graceful way to indicate the result (with DDJ cause and effect can be widely separated, and an effect can seem to ‘precede’ its cause . . . ), although we could make it look like a TIE Record. In any event, Step VI probably produces another table.
Step VII is the creation of a Segmented Adjusted TIE Record 51 that is the Segmented Original TIE Record 50 of Step V after having the DDJ of Step VI removed. (Assuming DDJ was found. If DDJ is not an issue, then just assume that all values of DDJ are zero, and the Segmented Adjusted TIE Record and the Segmented Original TIE Record are simply the same.) And although we have shown it in graphical form, Segmented Adjusted TIE Record 51 (and the Segmented Original TIE Record 50) are almost certainly implemented as tables or other data structures in memory. No great complexity needs to permeate this Step VII, and it can be as simple as signed addition between corresponding elements of the Original TIE Record and the sequential elements of the record for DDJ. On the other hand, we do acknowledge that there operating environments where the amounts of jitter can exceed a UI, and that may entail some appropriate sophistication in understanding exactly what the correspondence is between ‘corresponding’ elements. Enough said.
Finally, consider
In step 60 a thing called PJ_LIST is cleared. PJ_LIST can be a simple data structure that is used to record the frequency components that are discovered as contributing to PJ.
In step 61 the Fourier Transform (FT) of the Transition Pattern (TP) is formed; the notation is FT([TP])→{TP}, and is consistent with the legends 54-59 at the bottom of the figure. What this does is create ahead of time an FT (namely, {TP}) that will be used as a constant in an iterative loop of steps 63, 64, 65, 66 and 67.
Next, at step 62 we find a work copy of a Fourier Transform {WORK} that starts out as FT([TJ]). This quantity will be manipulated by removing iteratively discovered PJ-related frequency components, so that {WORK} will converge toward {RJ}.
At step 63 we enter the top of the iterative loop proper. At this step we find the Power Density Spectrum (PDS) of {WORK}. As shown in the accompanying legend, this is accomplished by squaring the amplitude component and discarding the phase component.
At step 64 a threshold T (68) is found from an analysis of the PDS (69) found in step 63. We can think of the PDS as containing ‘grass’ and ‘trees’. The ‘grass’ is just noise that can ignored, while the ‘trees’ represent periodic signals that are almost certainly related to PJ. One way to find the threshold T is to simply average all the values in the record, and set T as some related value, say, 110% of that average. The expected situation is shown in the diagram 69 to the right of step 64. We expect that ofttimes there will be peaks in the PDS (‘trees’) that extend above the threshold T (68). One such peak (70) represents the frequency components fi.
Now, in step 65 the question is asked: does the largest fi in the PDS of steps 63 and 64 exceed the threshold T? There are a number of alternate and generally equivalent ways this basic question might be framed, including the trivial variations of including equality in the comparison. In any event, if the answer is NO, then there are two cases. The first is that there have been no iterations (YES answers) and that evidently there is no significant PJ, which is to say that all of RJ+PJ is just RJ. But that is what is represented by {WORK} at this point (it never got changed!), so at step 71 we convert that to an RMS value for RJ (namely, RJRMS). On the other hand, if there have been iterations (previous YES answers at qualifier 65), {WORK} will have previously been diminished by the various PJ components that have been identified, and step 71 is still correct.
To conclude the NO branch from qualifier 65, the step 72 after step 71 is the optional processing of PJ_LIST to create a value for discovered PJ. This may be accomplished in a manner that is already known in the art. Once that is accomplished (or not) an instance of activity for flowchart 52 has been concluded.
We, however, have not yet concluded our description of flowchart 52, as the YES branch from qualifier 65 remains still to be described. That YES branch leads to step 66, where the PJ-related frequency component (fi-70) is removed from RJ+PJ, and the diminished result saved back in {WORK}. This is the essence of the ‘synthetic de-convolution’ mentioned earlier.
Here is some additional detail concerning step 66. Subsequent to a Fourier transformation, let us denote as Ai and Pi the respective amplitude and phase of the complex value of the frequency component, fi. The symbol {circle around (×)}, as before, represents convolution. Keep in mind that an individual PJ frequency component (sine wave in the time domain) fi, would not be manifest in {WORK} as a single complex value at location fi. It would instead appear as the FT of the PJ sine wave convolved with the FT of PT. This will be so because the presence of holes (whether ‘natural’ or ‘artificial’) in the Segmented Adjusted TIE Record act like amplitude modulation of the PJ by the Transition Pattern (TP). So when we say we remove the frequency component fi from {WORK}, we mean to remove the quantity {Ai cos(2πtfi+Pi)} {circle around (×)} {TP} from {WORK}. This will, of course, be a complex subtraction, since each of the transforms {Ai cos( . . . )} {circle around (×)} {TP} and {WORK} has both a phase and an amplitude.
The final step 67 in the iterative loop is to incorporate fi into PJ_LIST. Following that the iterative loop is closed by a return to step 63, where a new PDS for the diminished {WORK} is found, followed by the finding of a new threshold T, etc.
The subject matter of this patent application is related to that of U.S. patent application Ser. No. <as yet unknown> entitled FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL and filed on 14 Jul. 2006 by Steven D. Draving and Allen Montijo, and which has been assigned to Agilent Technologies, Inc. For the sake of brevity and yet guard against unforeseen oversights, FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL is hereby incorporated herein by reference. The subject matter of FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL is in turn related to that of two other U.S. patent applications: application Ser. No. 10/978,103 entitled METHOD OF FINDING DATA DEPENDENT TIMING AND VOLTAGE JITTER IN AN ARBITRARY DIGITAL SIGNAL IN ACCORDANCE WITH SELECTED SURROUNDING BITS filed 29 Oct. 2004 by Steven D. Draving and Allen Montijo and assigned to Agilent Technologies, Inc.; and application Ser. No. <unknown> entitled FINDING DATA DEPENDENT JITTER WITH A DDJ CALCULATOR CONFIGURED BY REGRESSION filed 29 Jun. 2006 by Steven D. Draving and Allen Montijo and assigned to Agilent Technologies, Inc. These latter two patent applications describe methods of discovering values of Data Dependent Jitter that can plausibly be ascribed to the various bits in an arbitrary digital signal. For the same reasons as above, and because the subject matter of both the instant patent and FINDING RANDOM JITTER IN AN ARBITRARY NON-REPEATING DATA SIGNAL presumes that any Data Dependent Jitter has already been found, METHOD OF FINDING DATA DEPENDENT TIMING AND VOLTAGE JITTER IN AN ARBITRARY DIGITAL SIGNAL IN ACCORDANCE WITH SELECTED SURROUNDING BITS and FINDING DATA DEPENDENT JITTER WITH A DDJ CALCULATOR CONFIGURED BY REGRESSION are each hereby incorporated herein by reference.