Why does BER in PAM4 system abnormally stay high?

When I use two level NRZ to modulate microring, the BER is 0 when I turn off all the noise. However, when I use four level NRZ to modulate, the BER is high even when all the noise is closed. The EYE diagram seems to be clearly distinguishable. The BER mode is Gaussian. PAM4_BER_measure.icp (541.6 KB)

I wonder if there is any bug in the BER measurement. I change the parameter and get two eye diagram. One is clear but with high BER, another is totally a mass but with a low BER.

BER of this one reaches 10^-7. while has BER of 10^-3…

Hi @james_zhan,

You don’t need to come up with a script yourself, the element ‘Eye Diagram’ can be used to calculate for error rates. Make sure you set the ‘calculate measurements’ to be ‘true’ and the measurements will then be calculated and shown in the ‘Result View’ window after run simulation.

There are some simulation tips for communication systems and especially the ‘Eye Diagram’ measurements in the page Simulation Methodology & Tips, hopefully it could help :slight_smile:

1 Like

Thx a lot.

I found that the BER does not decrease with the power increases. After analysis, I think it may have something to do with signal noise rate, but cannot find SNR in measurement in Eye Diagram. Do I need to calculate?

This is the simple system:

1 Like

Hi @james_zhan,

The figure is not displayed properly. But you are right that the ‘Eye Diagram’ element doesn’t measure nor set the system’s noise rate. If you always get zero BER regardless of the input power (which is the case for some of the low noise simple systems), you could look at the Q-factor as a system performance measurement. To increase the system’s noise level in order to get some error bits, you could make some of the elements ‘non-ideal’. For example, you could increase the RIN and the line width of the Laser source, increase the noise figure of the amplifiers if you have any in your system and you could increase the shot and thermal noises in your photo-detector. By adding some noises in your system, you should be able to see some error bits.

Another thing to mention here, the BER measurement could only be considered as accurate when you provide enough number of bits in your system. It is a statistic measurement and you have to at least provide 1e+9 bits to get a BER of 1e-9.

I hope this could help :slight_smile: Please attach your file if you want me to have a look at it :slight_smile:

I have set some noise into the system, But I do not know how to provide 1e+9 bits. Also, the BER oscillates instead of decreasing with the increasing of power. Here is my file, can you have a look at it?
PAM-4.icp (556.6 KB)

Hi @james_zhan,

You can change the number of bits/samples by modifying the ‘Simulation’ properties in the Root Element Property View window. To do so, simply click on the white space in the Schematic Editor and modify the properties in the Property View window. The ‘Sequence length’ is the number of bits.

You get the Oscillating BER result exactly because you don’t have enough number of bits, so that one more or less error bit can cause a big oscillation effect. I increased your sequence length to 2^15 bits in the file PAM4_BER_measure.icp (593.0 KB) and the sweep result now is much more reasonable by showing the BER increasing trend as shown below:

One thing to note in the sweep setting, the default unit for the CW Laser power is ‘W’, so that the sweep number values should be set accordingly. I swept through the power of the CW Laser instead of the attenuation in the modified file.

I hope this could help :slight_smile: You should be able to get more reasonable results by further increasing the sequence length, while the simulation time will grow accordingly at the same time.

It seems strange that BER increases with the increase of power. Theoretically, BER decreases in an exponential rate with the increase of SNR (here SNR is not available). Thus two problems still remain: 1) the trend of BER 2) how to get SNR (now I can only approximately replace it with Q factor) .

Hi @james_zhan,

Generally the BER should decrease a bit at the start with the increase of the launching power and then increase back, which matches the trend shown in the figure. The turning point depends on the system’s noise level and also depends on the source of the noise. For the SNR, I don’t think there is a way to define the back-ground noise level, but you can modify the level of the noise for each of the elements. I will double check to make sure whether or not there is a way to measure the SNR and get back to you.

I hope this could help :slight_smile:

Hi James,

To calculate for the BER using the Eye Diagram element is always non-trivial. I took a look at your file and there are several things to keep in mind.

First of all, the detected signal is the opposite of the original signal, and that indeed depends on the modulation point. It is better to add a -1 gain before the BER calculation, like the following figure PAM4_BER_measure_modified.icp (727.9 KB)

Then obviously there is a delay in the received signal compares to the original signal.

The BER is a mathematical statistic calculation. If you look at the ‘Measurement’ section in the ‘Result View Window’, the calculation is based on the mean and variation (sigma) of the zero and one levels. In your previous case, the second figure has a larger variation, thus it has a lower BER.

At the end of the day, if you want to do a digital signal processing and compare the received bits to the transmitted ones for the error rate, I suggest to use the ‘Oscilloscope’ instead. Remember that there will almost always be some delays in the system, so probably to do an auto-correlation to compensate for that.

I hope this could help :slight_smile: let me know if you have any difficulties reading these.

Hi, my question applies to this topic also, so I didn’t create another one:

How would you explain that the ‘level one sigma’ measurement is systematically and substantially higher than ‘level zero sigma’? This is visible in the table in your last reply, and also on 1st image of the post. I would expect similar values for both levels. I observe the same phenomenon in an OOK simulation, using a measured MZM:

This behavior seems to be present regardless of the biasing point, amplitude, MZM loss, position of RF amps in the transceiver or bitrate.

In my simulations, the oscilloscope located after the PD shows the anticipated level of noise for the ‘one’ amplitude level, but almost no noise for the ‘zero’ level. I know this is the cause for the visual aspect of my eye diagram, but I can’t seem to normalize it (i.e. have similar noise standard deviations for both amplitude levels).

If I can try an explanation: For all the components of the system, noise is defined as being proportional to frequency (A/Hz, …), and the spectral content is broader for ones than for zeros, according to an RFSA at the end of my transceiver. Would that be a potential cause, or I am misunderstanding something?

Thank you very much,


Hi @maxime.jacques,

Do you include the ‘shot noise’ in the photodetector? I think that might be the explanation. But please attach your file so that I can have a look to make sure; the difference is obvious on the eye diagram.

I hope this could help :slight_smile:

I do not think the phenomenon is due to the shot noise. Here is a simulation result of a transceiver link I am recently working on. The level one sigma is higher than level zero sigma regardless if the shot noise is turned on.

I am also curious/concerned about the explanation of this.

Hi @z_zhang,

Indeed the shot noise doesn’t have a significant impact on the signal cause it already starts to show a higher noise level on the ‘on’ signal level right after the MZM (according to the waveform measured by the OOSC_1). @maxime.jacques and I had another conversation about this in another thread and we came to the conclusion that for his case, this effect is caused by the RIN noise in the laser. It is very possible that you see this same effect because of the RIN noise as well. Please try to turn off the the RIN noise and let me know if this doesn’t solve the problem.

Hopefully this could help :slight_smile:

1 Like