
In telecommunication, an eye pattern, also known as an eye diagram, is an oscilloscope display in which a digital signal from a receiver is repetitively sampled and applied to the vertical input, while the data rate is used to trigger the horizontal sweep. It is so called because, for several types of coding, the pattern looks like a series of eyes between a pair of rails. It is a tool for the evaluation of the combined effects of channel noise, dispersion and intersymbol interference on the performance of a baseband pulse-transmission system. It is the synchronised superposition of all possible realisations of the signal of interest viewed within a particular signaling interval.
Several system performance measures can be derived by analyzing the display. If the signals are too long, too short, poorly synchronized with the system clock, too high, too low, too noisy, or too slow to change, or have too much undershoot or overshoot, this can be observed from the eye diagram. An open eye pattern corresponds to minimal signal distortion. Distortion of the signal waveform due to intersymbol interference and noise appears as closure of the eye pattern.[1][2][3]
Calculation
From a mathematical perspective, an eye pattern is a visualization of the probability density function (PDF) of the signal, modulo the unit interval (UI). Typically a color ramp is applied to the PDF in order to make small brightness differences easier to visualize.
Source data
The first step of computing an eye pattern is to obtain the waveform being analyzed in a digitized form. This may be done by measuring an actual electrical system with an oscilloscope of sufficient bandwidth, or by creating synthetic data with a circuit simulator in order to evaluate the signal integrity of a proposed design. A combination of the two approaches may be used as well: simulating the effects of an arbitrary circuit or transmission line on a measured signal, perhaps to determine whether a signal will still be intelligible after passing through a long cable. Interpolation may also be applied at this time in order to increase the number of samples per UI and produce a smooth, gap-free plot.
Slicing
Next, the position of each sample within the UI must be determined. There are several methods for doing this depending on the characteristics of the signal and the capabilities of the oscilloscope and software in use. This step is critically important for accurate visualization of jitter in the eye.
Triggering
A very simple method of slicing is to set the oscilloscope display to be slightly more than one UI wide, trigger on both rising and falling edges in the signal, and enable display persistence so that all measured waveforms "stack" into a single plot. This has the advantage of being possible on almost any oscilloscope (even fully analog ones) and can provide decent visualization of noise and overall signal shape, but completely destroys the jitter content of the signal since the instrument's trigger re-synchronizes the plot to each UI. The only jitter visible with this method is that of the oscilloscope itself.
Fixed rate
One way to overcome this issue is to estimate the symbol rate of the signal (perhaps by counting the average number of zero crossings in a known window of time) and acquiring many UIs in a single oscilloscope capture. The first zero crossing in the capture is located and declared to be the start of the first UI, and the remainder of the waveform is divided into chunks one UI long.
This approach can work adequately for stable signals in which the symbol rate remains exactly the same over time, however inaccuracies in the system mean that some drift is inevitable so it is rarely used in practice. In some protocols, such as SATA, the symbol rate is intentionally varied by use of spread spectrum clocking, so assuming a fixed rate will lead to the eye grossly exaggerating the actual jitter present on the signal.
Reference clock
With some protocols, such as HDMI, a reference clock is supplied along with the signal, either at the symbol rate or at a lower (but synchronized) frequency from which a symbol clock can be reconstructed. Since the actual receiver in the system uses the reference clock to sample the data, using this clock to determine UI boundaries allows the eye pattern to faithfully display the signal as the receiver sees it: only jitter between the signal and the reference clock is displayed.
Clock recovery
Most high speed serial signals, such as PCIe, DisplayPort, and most variants of Ethernet, use a line code which is intended to allow easy clock recovery by means of a PLL. Since this is how the actual receiver works, the most accurate way to slice data for the eye pattern is to implement a PLL with the same characteristics in software. Correct PLL configuration allows for the eye to conceal the effects of spread spectrum clocking and other long-term variation in the symbol rate which do not contribute to errors at the receiver, while still displaying higher frequency jitter.
Integration
The samples are then accumulated into a two-dimensional histogram, with the X axis representing time within the UI and the Y axis representing voltage. This is then normalized by dividing the value in each histogram bin by the value in the largest bin. Tone_mapping, logarithmic scaling, or other mathematical transformations may be applied in order to emphasize different portions of the distribution, and a color gradient is applied to the final eye for display.
Large amounts of data may be needed to provide an accurate representation of the signal; tens to hundreds of millions of UIs are frequently used for a single eye pattern. In the example below, the eye at left was accumulated from slightly over twelve thousand UIs and only shows the basic shape of the eye, while the eye at right used about eight million UIs and shows far more nuance on the rising and falling edges.
Interpretation
NRZ signals
MLT-3 signals
PAM-4 signals
Example
The eye diagram of a binary PSK system
The eye diagram of the same system with multipath interference (MI) effects added
Eye diagram of a 4 level PAM signal
Measurements
There are many measurements that can be obtained from an eye diagram:[4]
Amplitude measurements
- Eye amplitude
- Eye crossing amplitude
- Eye crossing percentage
- Eye height
- Eye level
- Eye signal-to-noise ratio
- Quality factor
- Vertical eye opening
Time measurements
- Deterministic jitter
- Eye crossing time
- Eye delay
- Eye fall time
- Eye rise time
- Eye width
- Horizontal eye opening
- Peak-to-peak jitter
- Random jitter
- RMS jitter
- CRC jitter
- Total jitter
Interpreting measurements
Eye-diagram feature | What it measures |
---|---|
Eye opening (height, peak to peak) | Additive noise in the signal |
Eye overshoot/undershoot | Peak distortion due to interruptions in the signal path |
Eye width | Timing synchronization & jitter effects |
Eye closure | Intersymbol interference, additive noise |
See also
Notes
- ^ Christopher M. Miller "High-Speed Digital Transmitter Characterization Using Eye Diagram Analysis". 1266 Hewlett-Packard Journal 45(1994) Aug., No,4, pp. 29-37.
- ^
This article incorporates public domain material from the General Services Administration document: "Federal Standard 1037C". (in support of MIL-STD-188)
- ^ John G Proakis, Digital Communications 3rd ed, 2001
- ^ "Matlab's help file description of how to use the Eye Diagram Functions in the Communications Toolbox".
References
- "HP E4543A Q Factor and Eye Contours Application Software Operating Manual" (PDF). 1999.
- "Agilent 71501D Eye-Diagram Analysis User's Guide" (PDF).
External links
- Ruckerbauer, Hermann. "An Eye is Born". Gives an example video of construction of an eye pattern
- Understanding Data Eye Diagram Methodology for Analyzing High Speed Digital Signals