BER for PAM4 signal available in .mat file

12 views (last 30 days)
mohit choudhary
mohit choudhary on 20 Apr 2021
Answered: Soumya on 19 Feb 2025
I want to calculate the BER/ bath tub curve of a measured PAM4 signal available as .mat file. I was looking into berawg, but it need E0Nb and I am not sure where to get that.
.mat file for the PAM4 signal is attached with this mail.
Followind code has been used to see eye diagram for the provided data.
eyediagram(PAM4,200);
plot of PAM4 data and eye diagram pngs are attached.

Answers (1)

Soumya
Soumya on 19 Feb 2025
Hi Mohit,
The Bit Error Rate (BER) is the number of bit errors divided by the total number of transmitted bits during an observation time interval.
The“berawgnfunction as stated in the documentation returns the bit error rate (BER) and symbol error rate (SER) in an additive white Gaussian noise (AWGN) channel for uncoded data using various modulation schemes. The first input argument, “EbNo, is the ratio of bit energy to noise power spectral density in dB (Eb/N0).
ber= berawgn(EbNo,modtype,M)
You can define the “EbNo manually in your script and use this function to get the bit error rate.
The following code is an example on how to get on with that:
EbNo = 10;
snr = convertSNR(EbNo,'ebno',samplespersymbol=sps,bitspersymbol=k);
Some additional information for the berawgn function is linked in the following MATLAB documentation:
Another method that seems appropriate in your case is to extract the values from the  .MAT  file, compare the received bits with the transmitted bits, count the number of bit errors, and calculate the BER using the definition formula.
noErr = sum(transmittedData ~= receivedData);
noBits = length(transmittedData);
BER = noErr / noBits;
I hope this offers some valuable insights!

Categories

Find more on Propagation and Channel Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!