Electronic – How to plot BER Vs SNR of a received signal

communicationdigital-communicationsqpsksnrwireless

I am using USRP to transmit and received MIMO frames similar to Wi-Fi standard that I created on my own. After receiving the signal, it is processed as described in the standard.

While I plot the QPSK constellation points after frequency and phase correction, I have a plot (shown above) which is noisy. Now I want to plot (BER Vs SNR). I know that we can calculate BER as: (Error Bits/Total No. of bits). But I am not sure how to calculate SNR from these complex symbols.

What I understand from online materials is that SNR is the noise variance that is estimated from around the constellation points (maybe some distance/deviation measurement form the true point. The question might be very silly, but I really appreciate anyone helps to understand how this is actually done. I am doing all the coding in python.

QPSK Constellation points after frequency and phase correction

Best Answer

If you were to increase the dispersion about 3X, you'd no longer have a robust system, in that outliers of your 4 points would have moved into neighboring boxes, and your system would make Bit Errors.

Consider adding 10dB Noise Power to your datalink, and examine the 4 regions again.

==================================

Your 4 points are of course not points at all. If these spreads are due to non-linearities and InterSymbolInterference, then as show, your SNR is infinite.

Add noise power that is 1% of the signal power. And think about the new points.

========================================

for any set of data, you can compute the mean and standard_deviation/sigma/rms

I'd view the mean as signal power, and the sigma as noise power.

Related Topic