jitter
Syntax
Description
measures jitter from input jittery waveform by using the specified symbol time.J
= jitter(x
,y
,SymbolTime
= t)
measures jitter by using the specified sample interval and symbol time.J
= jitter(y
,SampleInterval
= s,SymbolTime
= t)
measures jitter with respect to the reference waveform and specified sample interval.J
= jitter(y
,yr
,SampleInterval
= s)
measures jitter using namevalue arguments. Unspecified arguments take default
values.J
= jitter(___,Name=Value)
Examples
Measure Waveform Jitter with Reference Waveform
This example shows how to measure edge jitter in oversampled timedomain waveform data, particularly waveforms produced by sampled data systems.
Load Data
Load the waveform data, including a waveform with jitter (tj
, yj
) and a reference waveform without jitter (tr
, yr
), from a file.
load("JitterPAM2.mat", "tj", "yj", "tr", "yr");
Measure Jitter
Use the function jitter()
to measure edge jitter in the waveform. Edge jitter characterizes trends in timing error, which is the time difference between any observed edge and the corresponding nominal or reference edge.
J = jitter(tj, yj, tr, yr, "Plot", "on")
J = struct with fields:
TJrms: 4.1554e10
TJpkpk: 4.9621e10
RJrms: 1.0115e10
DJrms: 9.4134e11
DJpkpk: 4.7368e10
DDJrms: 6.0662e11
DDJpkpk: 2.9648e10
SJa: 8.6490e11
SJf: 1.8311e+05
SJp: 1.7257
DCDrms: 5.5722e11
DCDpkpk: 1.1144e10
ISIrms: 3.3659e12
ISIpkpk: 1.8504e10
The edge jitter is characterized by the following metrics:
TJ (Total Jitter)  Both RootMeanSquare (RMS) or PeaktoPeak (PkPk) values are calculated directly from the timing error sequence.
DCD (Duty Cycle Distortion)  Odd/even DCD applies one timing offset to edges with odd indices and another to edges with even indices. The PkPk is the difference between the larger and smaller of the two timing offset values.
SJ (Sinusoidal Jitter)  This metric captures sinusoidal trends in the timing error sequence. These are reported as the Amplitude (SJa), Frequency (SJf), and Phase (SJp) of a cosine.
ISI (Intersymbol Interference)  This metric correlates the jitter at each edge with the pattern before (and after) that edge in time. The result of this correlation is a Dirac delta function for each symbol/delay combination. Groups for each delay are convolved together to produce an estimate of a PDF for ISI. The RMS and PkPk ISI metrics are derived from this PDF.
DDJ (Data Dependent Jitter)  The PDF estimate for DDJ is the result of convolution of the ISI and DCD PDF estimates.
DJ (Deterministic Jitter)  The PDF estimate for DJ is the result of convolution of the DDJ and SJ PDF estimates.
RJ (Random Jitter)  Is the residual jitter remaining in the system after DJ has been compensated. Random Jitter, unlike the other jitter metrics, is assumed to be unbounded and so only its RMS is reported.
Input Arguments
x
— Time coordinates of jittery signal
vector
Time coordinates of the jittery signal, specified as a monotonically increasing vector.
If you do not provide y
, the function interprets
x
as edge times.
Data Types: double
y
— Amplitude coordinates of jittery signal
vector  eyeDiagramSI
object
Amplitude coordinates of the jittery signal, specified as a vector or as an
eyeDiagramSI
object.
If you do not provide x
, the function assumes
y
is uniformly sampled at the rate specified by
SampleInterval
.
Data Types: double
xr
— Time coordinates of reference signal
vector
Time coordinates of the reference signal, specified as a monotonically increasing vector.
Data Types: double
NameValue Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Namevalue arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: J = jitter(x,y,SampleInterval = s, Plot = on)
calculates and
plots the histograms of the jitter metrics from the input waveform defined by
(x
,y
) and sample interval specified by
s
.
SymbolThresholds
— Thresholds to separate symbol levels in jittery waveform
vector
Thresholds to separate symbol levels in the jittery waveform, specified as a vector.
If you do not provide SymbolThresholds
, the function calculates it
from the histogram of y
.
Data Types: double
ReferenceThresholds
— Thresholds to separate symbol levels in reference waveform
vector
Thresholds to separate symbol levels in the reference waveform, specified as a vector.
If you do not provide ReferenceThresholds
, the function calculates
it from the histogram of yr
.
Data Types: double
SampleInterval
— Sample time for uniformly sampled jittery and reference waveforms
scalar
Sample time for uniformly sampled jittery and reference waveforms, specified as a scalar.
When you provide the time vectors of jittery and reference signals, the function
ignores SampleInterval
and uses time vectors instead.
Data Types: double
SymbolTime
— Symbol time for uniformly sampled jittery and reference waveforms
scalar
Symbol time for uniformly sampled jittery and reference waveforms, specified as a
scalar. For clock waveforms, SymbolTime
is half the of the
period.
Data Types: double
Match
— Options to compare data edge to clock edge
time
(default)  order
Options to compare the data edge to the clock edge, specified as one of these:
time
— Compares the closest edge times.order
— Compares the first edge on each set.
The function uses this argument in two scenarios only:
Both the measured and reference waveforms are clocks.
The measured waveform is a data waveform and the reference waveform is a clock waveform.
When both waveforms are data waveforms with the same pattern, the function matches the edges is based on the pattern.
Plot
— Option to display histograms of jitter metrics
true
or 1
(default)  false
or 0
Option to display histograms of jitter metrics, specified as
true
(1
) or false
or
(0
). The histograms include total jitter, random jitter,
deterministic jitter, datadependent jitter, sinusoidal jitter, intersymbol
interference, and duty cycle distortion.
Data Types: logical
DebounceGain
— Positive feedback gain for hysteresis
0.5
(default)  real scalar in the range [0, 1]
Positive feedback gain for hysteresis, specified as a real scalar in the range [0, 1].
The function uses DebounceGain
to calculate the modified thresholds
by using the equation:
$${\text{threshold}}_{\text{new}}(i)={\text{threshold}}_{\text{old}}(i)+\text{DebounceGain}\xb7\frac{\text{EyeAmplitude}(i)}{2}$$
Data Types: double
DebounceUI
— Fraction of unit interval to hold hysteresis threshold level
1/3
(default)  nonnegative scalar in the range [0, 1]
Fraction of a unit interval to hold the hysteresis threshold level before returning to the nominal threshold, specified as a nonnegative scalar in the range [0, 1].
Data Types: double
DelayTime
— Custom channel delay
[]
(default)  real scalar
Custom channel delay, specified as a real scalar.
If your data has aggressive decision feedback equalization, you can manually override
the channel delay compensation calculated by the jitter function and specify the delay
of the measured waveform (x
,y
) with respect to
the reference waveform (xr
,yr
). A positive
Delaytime
indicates that a reference edge matches to an edge
later in time in the measured signal. A negative Delaytime
indicates that a measured edge matches to an edge later in time in the reference
signal.
Data Types: double
Frequencies
— Maximum number of sinusoidal jitter frequencies to measure
1
(default)  scalar
Maximum number of sinusoidal jitter frequencies to measure, specified as a scalar.
Data Types: double
PastSymbols
— Number of symbols prior to given edge to correlate jitter
31
(default)  scalar
Number of symbols prior to a given edge to correlate the jitter with, specified as a scalar.
Data Types: double
FutureSymbols
— Number of symbols after to given edge to correlate jitter
scalar
Number of symbols after a given edge to correlate the jitter with, specified as a
scalar. If the signal uses PAM2 modulation, the default value for
FutureSymbols
is 0
. For a modulation scheme
of PAM3 or higher, the default value is 1
.
Data Types: double
DCDMethod
— Reference for correlating duty cycle distortion
oddeven
(default)  risefall
Reference for correlating duty cycle distortion, specified as
oddeven
or risefall
.
Data Types: char
BinEdges
— Bin edges for PDFs during correlation
vector
Bin edges for PDFs during correlation, specified as a vector.
By default, the function distributes BinEdges
evenly with twice
the resolution of Scott's rule.
Note
For best results, specify a bin centered at 0
.
Data Types: double
ISI
— Timing error values due to intersymbol interference
vector  structure
Timing error values due to intersymbol interference (ISI), specified as a vector or a structure.
The structure contains the correlation information and is the output of the jitterIntersymbol
(MixedSignal Blockset) function. The structure must contain these
fields.
Field  Description 

Mean  [N×M] matrix, where N is the number of modulation levels and M is the sum of future symbols and past symbols.

SymbolIndex  M long vector, where M is
the sum of future symbols and past symbols. The vector cannot
contain
Delay is relative to the symbol edge at
which the function applies the ISI. A delay of 
The elements of the vector denote the ISI values for each edge.
DCD
— Timing error values due to duty cycle distortion
vector  structure
Timing error values due to duty cycle distortion (DCD), specified as a vector or a structure.
The elements of the vector denote the DCD values for each edge.
The structure contains the correlation information and is the output of the jitterDutyCycle
(MixedSignal Blockset) function. The structure must contain the
Mean
field, which is a 2by1 matrix. The first element is the
odd or rising DCD value and the second is the even or falling DCD value.
Data Types: double
SJ
— Sinusoidal jitter
Nby3 matrix
Sinusoidal jitter, specified as an Nby3 matrix. N is the number of sinusoidal jitter (SJ) peaks or frequencies.
Each row of SJ contains the amplitude, frequency, and phase values. Amplitude must be
in the same unit as SampleInterval
and
SymbolTime
. Frequency is in the inverse of the unit of
amplitude. Phase is in radians.
Data Types: double
Output Arguments
J
— Jitter metrics
structure
Jitter metrics, returned as a structure.
Version History
Introduced in R2024b
See Also
jitterTotal
(MixedSignal Blockset)  jitterRandom
(MixedSignal Blockset)  jitterDeterministic
(MixedSignal Blockset)  jitterDataDependent
(MixedSignal Blockset)  jitterDutyCycle
(MixedSignal Blockset)  jitterIntersymbol
(MixedSignal Blockset)  jitterPeriodic
(MixedSignal Blockset)  jitterSinusoidal
(MixedSignal Blockset)  timingError
(MixedSignal Blockset)  timeIntervalError
(MixedSignal Blockset)
External Websites
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令：
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)