Main Content

jitterPeriodic

Measure periodic jitter from waveform

Since R2024b

Description

[aPJ,fPJ] = jitterPeriodic(x,y,SymbolTime = t) estimates the amplitude and frequency of the periodic jitter from input jittery waveform by using the specified symbol time.

Periodic jitter captures the periodic trend in timing error in the fundamental waveform together with its harmonics.

The function estimates periodic jitter based on an FFT with a rectangular window. Measurement accuracy is directly correlated with how well centered each component is on its frequency bin. The SymbolTime argument is used as the time step of the FFT data. The number of FFT points is one less than the number of symbols. If there are no held symbols, then the number of FFT points equals to the number of edges.

[aPJ,fPJ] = jitterPeriodic(y,SampleInterval = s,SymbolTime = t) estimates the periodic jitter by using the specified sample interval and symbol time.

[aPJ,fPJ] = jitterPeriodic(x,y,xr,yr) estimates the periodic jitter from input jittery waveform with respect to the reference waveform.

[aPJ,fPJ] = jitterPeriodic(y,yr,SampleInterval = s) estimates the periodic jitter with respect to the reference waveform and specified sample interval.

[aPJ,fPJ] = jitterPeriodic(___,Name=Value) estimates the periodic jitter using name-value arguments. Unspecified arguments take default values.

[aPJ,fPJ,pPJ] = jitterPeriodic(___) estimates the amplitude, frequency, and phase of the periodic jitter using the above arguments.

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 = jitterPeriodic(x,y,SampleInterval = s, Plot = on) calculates and plots the periodic jitter 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.

Note

The timing error waveform is resampled based on the value of SymbolTime. So you must provide an accurate value.

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 periodic jitter, specified as true (1) or false or (0).

Data Types: logical

Maximum number of sinusoidal jitter frequencies to measure, specified as a scalar.

Data Types: double

Output Arguments

collapse all

Amplitude of each periodic jitter component, returned as a vector. The unit is the same as the unit of x and xr.

Frequency of each periodic jitter component, returned as a vector. The unit is the inverse of the unit of x and xr.

Phase of each periodic jitter component, returned as a vector. The unit is in radian.

Version History

Introduced in R2024b