Eye Diagram Density Plot
Better eye diagram generation code in MATLAB. Used a lot in my DPhil Thesis.
How much better?
A before and after is provided here:
Unlike MATLAB's built in
eyediagram() function, the more data you provide
eyediagram_dense() the prettier it looks, case in point (for a different communications system with a higher error rate):
What does your code do?
eyediagram_dense creates a raster image of an eye diagram, capturing signal density at each point on the image. This function creates a diagram, alongside returning all the important information captured within it as a MATLAB struct.
eyediagram_dense() also has the ability to detect zero crossings, and automatically label the x axis accordingly.
I mainly work with On-Off Keying, so for the y axis the system is able to detect two levels. In a future update I will be able to detect PAM.
With optional arguments, histograms can be placed along the x and y axis, for zero crossing distributions (a way to test if you have double-Dirac) and to sanity check your bit levels.
What is coming next? My goals for this repo are as follows:
|Q factor estimation||From the eye diagram we can estimate Q factors, which are important quantities to know for any communications system.|
|BER estimation||From calculated Q factors we can estimate the BER. This is handy if we don't have all afternoon to resolve a 10^-12 BER.|
|Eye Opening Metrics||Use standard textbook metrics and return to the user.|
|Jitter||Quantify the jitter and return it to the user.|
|Colormaps||Add colormaps for custom eye diagram output|
|More...||I'm sure I've missed lots, but more eye diagram related features will be included|
William Matthews (2023). Eye Diagram Density Plot (https://github.com/WillMatthews/EyeDiagram/releases/tag/v0.0.2), GitHub. 取得済み .
See release notes for this release on GitHub: https://github.com/WillMatthews/EyeDiagram/releases/tag/v0.0.2