How to plot BER Vs SNR of a received signal 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. Or its is given by Eb/N0, where Eb is the energy of bits received and N0 is the noise. The question might be very silly, what I do not understand is how I should find Eb and No from these complex received values that is plotted on a constellation diagram. I am doing all the coding in python.
From the plot it seems the transmitted QAM points are $(0.5, 0.5),(-0.5,0.5),(-0.5,-0.5),(0.5,-0.5)$, and if you can model your comm system as just AWGN channel, then your signal amplitude will just be $\sqrt{0.25+0.25} = \sqrt{0.5}$ and hence signal power will be $0.5$. In doing so, I have assumed all 4 QAM symbols equiprobable. 

You can get your noise power by averaging all squared Euclidean distances of received points from their true QAM points.

From this you can get received SNR.