MATLAB Answers

How to perform eye diagram measuremet from a .mat file that contains "Enumerated" data type from a Simulink model

4 views (last 30 days)
Joyeeta Bhattacharya
Joyeeta Bhattacharya on 11 Aug 2020
Edited: Joyeeta Bhattacharya on 16 Aug 2020
I want to do EyeDiagram measurements using comm.EyeDiagram in Matlab. I have made a Simulink model of a DLL and the output (pulse signal) has been transferred To Workspace and then saved into a .mat file format in the local directory. Then I loaded the file in matlab in a variable "src". Which is showing this " struct with fields:
out: [1×1 Simulink.SimulationOutput]"
Then I initialized the display properties of eye diagram. After that I used the command/defined system object eyeObj(src). It showed the following error:
Error using comm.EyeDiagram/setupImpl
System objects do not support 'Enumeration' type or 'Objects' as inputs. Pass a valid 'Numeric' type to the Step function.
Could anyone please guide me which link am I missing here?
Thanks in advance!

Answers (1)

Sarvani Panguluri
Sarvani Panguluri on 14 Aug 2020
Hi,
I assume you are trying to perform Eye diagram measurements using comm.EyeDiagram in MATLAB and the output of your simulink model that is saved to workspace is of the form struct.
ed=comm.EyeDiagram()
ed(x)
After creating comm.EyeDiagram object , while usage it is expected that the input signal 'x' must be either a vector or a matrix.That might be the reason for your error.Please refer to the following link for more detailed insight
Try using the signal values present in your src to obtain the eye diagram.
Hope it helps!
  1 Comment
Joyeeta Bhattacharya
Joyeeta Bhattacharya on 16 Aug 2020
Hello,
Thank you for replying.
Yes, my data type is "var". I cannot extract the signal values from the signal separately. The values appear in separate lines like this (just an example, where I have used get command to save my data into "data2"):
data2(:,:,1) =
0
data2(:,:,2) =
0
.
.
.
data2(:,:,100) =
1
I understood your comment that I cannot use an comm.EyeDiagram object for such data type. It would be very helpful if you could elaborate how can I extract tese values into matrix or integer.
Thanks in advance!

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!