eyeContour
Description
Use the eye contour
object to store data related to a set of
contours at the specified symbol error rate (SER). The eye contours are generated from an eye
diagram.
Creation
Description
creates an eye contour object from the eye diagram object c
= eyeContour(eyeObj
)eyeObj
using default values.
sets the Properties of the eye contour
object to the specified values.c
= eyeContour(eyeObj
,Name=Value)
For example,
creates an eye contour object from the eye diagram object c
=
eyeContour(eyeObj
,SER
=1e-3,Extrapolation
='None')eyeObj
at
the symbol error rate 1e-3
.
Input Arguments
Eye diagram object used to create the eye contour object. The eye diagram object is created as an accumulation of 2-D histograms from the eye diagram data.
Properties
Numeric contour data consisting of upper and lower contours for each eye opening,
specified as a 3-D array. Contours are row vectors with one element for each of the
TimeBins
properties from the original
eyeDiagramSI
object. The object indexes the contours from the lowest
eye center amplitude to the highest.
By default, the property is automatically set from the value defined in the
eyeObj
eye diagram object.
Example
Contour(1, :, 3)
represents the lower contour of the third
eye.
Contour(2, :, 1)
represents the upper contour of the first
eye.
Data Types: double
Numeric contour data consisting of two outer (below and above) contours for the whole eye diagram, specified as a vector.
OuterContour(1, :)
represents the lower limit of the eye.
Contour(2, :)
represents the upper limit of the eye.
By default, the property is automatically set from the value defined in the
eyeObj
eye diagram object.
Data Types: double
Symbol error rate to generate contours, specified as a scalar.
Data Types: double
Extrapolation method to generate contours. For more information, see Extrapolation.
Data Types: char
Elapsed time between adjacent samples in the input data, specified as a scalar in seconds.
By default, the property is automatically set from the value defined in the
eyeObj
eye diagram object.
Data Types: double
Time span of one symbol, specified as a scalar in seconds.
By default, the property is automatically set from the value defined in the
eyeObj
eye diagram object.
Data Types: double
Nominal center amplitude for each eye opening in the eye diagram, specified as a vector.
By default, the property is automatically set from the value defined in the
eyeObj
eye diagram object.
Data Types: double
Object Functions
eyeHeight | Measure vertical eye opening |
eyeWidth | Measure horizontal eye opening |
eyeArea | Measure eye area |
upperContour | Measure upper contour of eye diagram |
lowerContour | Measure lower contour of eye diagram |
closedContour | Measure closed contour of eye diagram |
More About
The Eye Measurement block extrapolates its 2-D histogram to a specified symbol error rate whenever it generates bathtub curves or eye contours.
During extrapolation method, the block pre-processes the data, one symbol at a time on only a 1-D slice of the said symbol. The block extrapolates the eye diagram at the specified SER value using the interpolation between the adjacent bins.
The block provides five interpolation methods (none
,
linear
, spline
,
pchip
, and makima
) and two
extrapolation methods (gaussian
and
dualdirac
) to extrapolate data.
This image shows how the block uses interpolation methods to extrapolate data.
The blue dots represent the cumulative sum of the eye diagram going outward from the center of the eye. The blue dot at the x-axis value zero represents the eye opening. The dotted red line shows the interpolated samples.
The log scale image is used to create the bathtub curves. The discontinuity at the logarithmic scale is to show the zero x-axis value. The linear scale image shows how the cumulative sum of the 1-D slice of the eye looks on the same scale as the slice itself..
For example, the none
extrapolation method uses a previous
neighbor interpolation of the cumulative sum an eye slice. For horizontal eye slices, the
extrapolation uses the timing origins. For vertical eye slices, the extrapolation uses the
symbol thresholds.
When moving outward from the center of the eye, it is a previous neighbor interpolation. When moving across the eye from one side to the other, it appears as a next neighbor interpolation that switches to a previous neighbor interpolation as you pass the center of the eye. This way, the result for a symbol error rate is a conservative estimate from the perspective of the eye opening, based on the data.
On the other hand, the dualdirac
extrapolation algorithm
first fits the Dual-Dirac PDF to a column of the split histogram. Then it uses those
coefficients to calculate the inverse Dual-Dirac CDF for the specified SER(s). It is only
applicable to systems with an exponential impulse response whose time constant is on the
order of the time for one symbol, or less. The algorithm is also significantly slower that
the None extrapolation method.
This table summarizes the different extrapolation methods the block supports.
Method | Description | Comments |
---|---|---|
none | Uses previous neighbor interpolation of each eye slice to find the SER values. The interpolated value at any query point is the value at the previous sample grid point. |
|
dualdirac | Fits a Dual-Dirac model to each slice of the eye, then uses the fitted model to find the SER values. |
|
gaussian | Uses the Gaussian defined by the sample mean and sample standard deviation of each eye slice to find the SER values. |
|
linear | Uses linear interpolation of each eye slice to find the SER values. The interpolated value at any query point is based on linear interpolation of the values at neighboring grid points in each respective dimension. |
|
spline | Uses natural spline interpolation of the cumulative sum out from the center of each eye slice to find SER values. |
|
pchip | Uses shape-preserving piecewise cubic interpolation of each eye slice to find the SER values. The interpolated value at any query point is based on a shape-preserving piecewise cubic interpolation of the values at neighboring grid points. |
|
makima | Uses modified Akima cubic Hermite interpolation of each eye slice to find the SER values. The interpolated value at a query point is based on any piecewise function of polynomials with degree at most three. The Akima formula is modified to avoid overshoots. |
|
Version History
Introduced in R2024a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)