Main Content

jitterIntersymbol

Measure jitter correlated with intersymbol interference

Since R2024b

Description

[ISIrms,ISIpkpk] = jitterIntersymbol(x,y,SymbolTime = t) measures the inter-symbol interference (ISI) from input jittery waveform with specified symbol time.

[ISIrms,ISIpkpk] = jitterIntersymbol(y,SampleInterval = s,SymbolTime = t) measures ISI from input jittery waveform with specific sample interval and symbol time.

[ISIrms,ISIpkpk] = jitterIntersymbol(x,y,xr,yr) measures ISI from input jittery waveform with respect to the reference waveform.

[ISIrms,ISIpkpk] = jitterIntersymbol(y,yr,SampleInterval = s) measures ISI with respect to reference waveform and specific sample interval.

[ISIrms,ISIpkpk] = jitterIntersymbol(___,Name=Value) measures ISI using the Name-Value pair arguments. Unspecified arguments take default values.

[ISIrms,ISIpkpk,C] = jitterIntersymbol(___)measures the rms and peak-to-peak ISI using the above arguments. It also estimates the correlation information for ISI.

Input Arguments

collapse all

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

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

Time coordinates of the reference signal, specified as a monotonically increasing vector.

Data Types: double

Amplitude coordinates of the reference signal, specified as a vector. If you do not provide x, yr must be sampled at the same points as y.

Data Types: double

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: J = jitterIntersymbol(x,y,SampleInterval = s, Plot = on) calculates and plots the histogram of the inter-symbol interference from the input waveform defined by (x,y) and sample interval specified by s.

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

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

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

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

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.

Option to display histogram of inter-symbol interference, specified as true (1) or false or (0).

Data Types: logical

Number of symbols prior to a given edge to correlate the jitter with, specified as a scalar.

Data Types: double

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

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

Output Arguments

collapse all

Observed rms inter-symbol interference, returned as a scalar.

Observed peak-to-peak inter-symbol interference, returned as a scalar.

Correlation information for IS, returned as a structure. The structure contains these fields.

FieldDescription
Metric

Name of the metric.

Mean

Mean of each case, returned as an array.

The number of rows in the array equals to the modulation of the waveform, ordered from the lowest symbol to the highest. The number of columns equals to the number of symbols to correlate with, ordered from the farthest past symbol to the farthest future symbol.

Variance

Variance of each case, returned as an array.

The number of rows in the array equals to the modulation of the waveform, ordered from the lowest symbol to the highest. The number of columns equals to the number of symbols to correlate with, ordered from the farthest past symbol to the farthest future symbol.

PDF

PDFs for each case, returned as an array.

The number of rows in the array equals to the modulation of the waveform, ordered from the lowest symbol to the highest. The number of columns equals to the number of symbols to correlate with, ordered from the farthest past symbol to the farthest future symbol.

BinEdges

Bin edge vector for PDFs.

SymbolIndex

Maps the delays for mean and variance for each column to the corresponding symbol.

Version History

Introduced in R2024b