Semi OT - data-aided SNR estimate of a complex signal in MATLAB/Octave

I’m working on processing, in MATLAB/Octave, some data that I’ve taken
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

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
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:


% First statistic, E(Yi^2)

% Second statistic, E(Yi*Xi)

% SNR = 2E(YiXi)^2/( E(Yi^2)-E(YiXi)^2 )

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
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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs