I'm working on processing, in MATLAB/Octave, some data that I've taken with a communication device we've built. We're planning on moving to USRP/GNURadio, but before that happens, I've got to get this data processed.
Previously we've done communication with an on-off-keying signal (OOK with a laser). We wanted to estimate the SNR of the signal, so we use a data-aided approach. Now I'm changing the system to use complex signaling and I'm struggling with how to do the SNR estimation with complex signals. Previously, we did this: Y=2*(RxSymbols-mean(RxSymbols)); % First statistic, E(Yi^2) Stat1=var(Y); % Second statistic, E(Yi*Xi) Stat2=mean(Y.*X); % SNR = 2*E(Yi*Xi)^2/( E(Yi^2)-E(Yi*Xi)^2 ) SNRlin=2*Stat2^2/(Stat1-Stat2^2); SNR_dB=10*log10(SNRlin); Now I need to modify this for complex signals. Should I: a) compute the SNR for the real and imaginary components separately and then somehow combine them? b) compute the SNR on the complex signals directly. If a), then how should I combine them? It's AWGN noise, btw. If b), then I need to take the covariance of Y, but I don't know how to take the two variances and use them. I've never been all that good at this stuff and I'm learning slowly. Thanks for your help. -William
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
