Main Content

measurements

Measure eye diagram parameters

Description

example

m = measurements(ed) returns the parameter measurements calculated by eye diagram System object™.

Note

This method is available when EnableMeasurements is true.

Examples

collapse all

Create a combined jitter object having random jitter with a 2e-4 standard deviation.

jtr = commsrc.combinedjitter('RandomJitter','on','RandomStd',2e-4);

Generate an NRZ signal having random jitter and 3 ms rise and fall times.

genNRZ = commsrc.pattern('Jitter',jtr,'RiseTime',3e-3,'FallTime',3e-3);
x = generate(genNRZ,2000);

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

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

Create an eye diagram object. Enable the measurements.

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

To compute the rise and fall times, determine the rise and fall thresholds from the eye level and eye amplitude measurements. Plot the eye diagram to calculate these parameters.

ed(y)

Eye diagram plot with measurements displayed

Pass the signal through the eye diagram object again to measure the rise and fall times.

ed(y)
hide(ed)

Display the data by using the measurements method.

eyestats = measurements(ed);
riseTime = eyestats.RiseTime
fallTime = eyestats.FallTime
riseTime =

    0.0030


fallTime =

    0.0030

The measured values match the 3 ms specification.

Input Arguments

collapse all

Eye Diagram System object, where the parameter measurements are calculated.

Output Arguments

collapse all

Eye Diagram parameters measurement, returned as a structure containing all 18 parameters mentioned in Measurements, along with their values.

Data Types: double

Introduced in R2016b