1
$\begingroup$

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.

QPSK Constellation points after frequency and phase correction

$\endgroup$
1
$\begingroup$

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.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.