PAM4 optical transmission - weird curves in eye diagram


Hi everyone,

I’m an exchange student from France in China, currently working on my final research project, dealing about optimizing an optical transmission using PAM4 modulation.
The simulation I built consists in a chain using two PRBS converted via NRZ to be used as the two entries of a MZM modulator, which generated optical signal is received and converted by a photodetector, to be finally displayed on an eye diagram.

Here, you can see the result I obtain by doing so.

As you can see, a weird curve appears and crosses the diagram in the middle. Since an eye diagram represents the signal periodically superimposed on itself, I don’t see any reason for the signal to stop being periodical at a certain time (hence creating this curve)…

Is this a common issue or bug of Interconnect ? Am I doing something wrong ? Is there a way to correct it ?

[edit] I forgot to say that the greater the datarate (here, 25Gbit/s), the more weird curves there are.

Thank you all for your support.


Hi @romain.pujol,

Nice to E-meet you :slight_smile: I think it is possible that this problem is caused by some crappy signal/bits at the beginning or at the end of the signal sequence which is most likely due to system delays. So that you can see several odd bits floating around an ordinary eye. Could you please attach your simulation file and I will have a deep look into it to figure out the exact problem.

I hope this could help.


Thanks for your answer ! Nice to E-meet you too :slight_smile:

Since everything is automatically generated by PRBS, is it avoidable ?
Here is my simulation file : DD-MZM optical 4-PAM.icp (658.9 KB)

Many thanks for your time !


Hi @romain.pujol,

Thanks for the file. There is actually nothing to do with the PRBS, the real problem it is indeed in the delay compensation. When you set the ‘delay compensation’ to be ‘automatic’ and you provide the reference signal to the ‘Eye Diagram’, the analyzer will do an auto-correlation between the reference and input signals, then shift the input signal accordingly. However in your case, it is better not to provide the reference signal since the input is the combination of two NRZs, and you will never get the right shift by taking any one of them as reference.

To solve this issue, you just need to set the ‘Standard -> signal reference input’ to ‘false’ and the eye will be clear. Modified file attached DD-MZM optical 4-PAM.icp (717.2 KB)

I hope this could help :slight_smile:


Hi @gwang,

I see, I thought the eye diagram block used the reference input (which I didn’t know you could remove) only for time / clock matters, not for correlation : of course it gets bad if you want to correlate a NRZ with a combination of two NRZ ! So remove the reference to get input autocorrelation.

I couldn’t open your file because Interconnect says it’s from a newer version (and the program is terminated “due to insufficient memory”), but I just corrected as you suggested and it’s perfectly fine !

Thank you so much, I’m impressed how fast you solved this :wink:
See you !


Hi @romain.pujol,

You are very welcome, I am glad my input helped. You are right about the clock part, the reference input does several things including the clock correction and auto-correlation. Generally we still recommend to enable this option if you are sure about the reference :slight_smile:

For the error message, you get it when you try to open a newer version IC file with an old version software. I am using the latest available version on our website, you could update to this version if you want through the following link, there are several newly added elements and scripts:


Hey Guanhui, I have another question about this: if i use eye diagram, can it calculate ER/BER for PAM4?


Hi Rui,

The Eye Diagram analyzer treats all the signals as two level signals when calculate BER/SER. To calculate the BER for multi-level signals, you can use the Vector Signal Analyzer (VSA, Element Library\Analyzer\Electrical\VSA). You can define the modulation format in this analyzer then it calculates the BER/Q-factor accordingly. It also plots the constellation diagram of the signal.

Please have a try of it and let me know if you have further problems. :slight_smile:


Hi Rui,

Your problem is taken into consideration and we’ve upgraded the Eye Diagram model with the ability calculate BER for multi-level signals. You can get the updated version of software here with the latest build INTERCONNECT 2017b R1 (v7.0.1262).


Hey Guanhui,
Thank you very much for this!
Best Regard