Data Dependent Jitter VI
- Updated2023-02-21
- 6 minute(s) read
Data Dependent Jitter VI
Owning Palette: Jitter VIs
Requires: Jitter Analysis Toolkit
Computes the worst-case amounts of different types of data-dependent jitter (DDJ) from time interval error values measured in a waveform. Data-dependent jitter is a form of deterministic jitter caused by level crossing time deviations correlated to the sequence of bits. You must manually select the polymorphic instance to use.
Data Dependent Jitter (Periodic)
Use this polymorphic instance when the TIE sequence was computed from a waveform that contains a sequence of bits whose period is known, or periodic. When you know the length and pattern of the bit sequence, this polymorphic instance requires less processor resources to measure the data-dependent jitter than the Arbitrary instance.
This VI divides the TIE sequence into segments that are # bits long and then averages the segments to remove the uncorrelated jitter components.

![]() |
TIE sequence specifies the time interval error measurements from which to calculate data-dependent jitter values. You can use the Time Interval Error VI to generate these measurements. | ||||||||
![]() |
# bits specifies the length, in bits, of the repeating sequence of time interval error values in TIE sequence. | ||||||||
![]() |
data contains information about the data bit sequence between transitions in a waveform. You can use the Clock Recovery (Mean Clock) VI to generate this cluster.
| ||||||||
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | ||||||||
![]() |
TIE (less DDJ) sequence returns the time interval error measurements with all forms of data-dependent jitter removed. Any remaining jitter in the sequence is uncorrelated deterministic jitter or random jitter. | ||||||||
![]() |
data dependent jitter (s p-p) returns the peak-to-peak value of the averaged time interval error values in the TIE sequence. | ||||||||
![]() |
inter-symbol interference (s p-p) returns the peak-to-peak value of inter-symbol interference values. This output returns the greater of the peak-to-peak value of averaged time interval error in rising edges and the corresponding value for falling edges. | ||||||||
![]() |
duty cycle distortion (s p-p) returns the peak-to-peak value of duty cycle distortion values. This VI subtracts the mean time interval error average for falling edges from the mean time interval error average for rising edges to measure the duty cycle distortion. | ||||||||
![]() |
error out contains error information. This output provides standard error out functionality. |
Data Dependent Jitter (Arbitrary)
Use this polymorphic instance when the TIE sequence was computed from a waveform that contains a sequence of bits that does not repeat and whose period is unknown, or arbitrary.

![]() |
TIE sequence specifies the time interval error measurements from which to calculate data-dependent jitter values. You can use the Time Interval Error VI to generate these measurements. | ||||||||
![]() |
# bits specifies the length, in bits, of the repeating sequence of time interval error values in TIE sequence. | ||||||||
![]() |
data contains information about the data bit sequence between transitions in a waveform. You can use the Clock Recovery (Mean Clock) VI to generate this cluster.
| ||||||||
![]() |
minimum population specifies a threshold for the number of instances a particular bit pattern must repeat for this VI to include jitter at those bits in measurements of data-dependent jitter. | ||||||||
![]() |
error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | ||||||||
![]() |
data dependent jitter (s p-p) returns the peak-to-peak value of the averaged time interval error values in the TIE sequence. | ||||||||
![]() |
inter-symbol interference (s p-p) returns the peak-to-peak value of inter-symbol interference values. This output returns the greater of the peak-to-peak value of averaged time interval error in rising edges and the corresponding value for falling edges. | ||||||||
![]() |
duty cycle distortion (s p-p) returns the peak-to-peak value of duty cycle distortion values. This VI subtracts the mean time interval error average for falling edges from the mean time interval error average for rising edges to measure the duty cycle distortion. | ||||||||
![]() |
error out contains error information. This output provides standard error out functionality. | ||||||||
![]() |
DDJ collector is an array of clusters that describe repeated bit patterns in the TIE sequence.
|
Data Dependent Jitter Details
The following pseudocode illustrates the algorithm this VI uses.
TIEavg = ensemble average TIE[k, k+1, .. K + Nb –1], yielding M waveforms M = floor(N / Nb)
TIE+avg = average of rising edges
TIE–avg = average of falling edges
data dependent jitter = P-P of TIEavg
inter-symbol interference = max [ (P-P(TIE+avg), P-P(TIE–avg) ]
duty cycle distortion = mean(TIE+avg) – mean(TIE–avg)
Example
Refer to the ISI Jitter Measurement VI in the labview\examples\Jitter Analysis\Jitter Measurements directory for an example of using the Data Dependent Jitter VI.











