Main Content


Jitter histogram



jh = jitterHistogram(ed) returns the bin counts for decision boundary crossings set in eye diagram System object™.


This method is available when EnableMeasurements is true.


collapse all

Display the eye diagram for a waveform having dual-dirac and random jitter. Plot the jitter and noise histograms.

Specify the sample rate, the samples per symbol, and the number of traces parameters.

fs = 1000;
sps = 200;
numTraces = 1000;

Create an eye diagram object.

ed = comm.EyeDiagram('SampleRate',fs,'SamplesPerSymbol',sps, ...
    'SampleOffset',sps/2, ...
    'DisplayMode','2D color histogram','ColorScale','Logarithmic', ...
    'EnableMeasurements',true,'YLimits',[-1.2 1.2]);

Generate a waveform having dual-dirac and random jitter. Specify 3 ms rise and fall times.

src = commsrc.pattern('SamplesPerSymbol',sps, ...
    'RiseTime',3e-3,'FallTime', 3e-3);
src.Jitter = commsrc.combinedjitter('RandomJitter','on', ...
    'DiracJitter','on','DiracDelta',[-10e-04 10e-04],'RandomStd',5e-4);

Generate two symbols for each trace.

x = src.generate(numTraces*2);

Pass the signal through an AWGN channel with a fixed seed for repeatable results.

randStream = RandStream('mt19937ar','Seed',5489);
y = awgn(x,30,'measured',randStream);

Eye diagram

Calculate the jitter histogram count for each bin by using the jitterHistogram method. Plot the histogram.

jbins = jitterHistogram(ed);

Jitter histogram

Calculate the noise histogram count for each bin by using the noiseHistogram method. Plot the histogram.

nbins = noiseHistogram(ed);

Noise histogram

Input Arguments

collapse all

Eye Diagram System object, where the count for decision boundary crossings is set.

Output Arguments

collapse all

Jitter histogram, which represent the counts for decision boundary crossings, specified as a nonnegative integer.

Data Types: double

Introduced in R2016b