Thursday, August 28, 2014

Re: [Discuss-gnuradio] m2m4 SNR estimator off by 3 dB

On Wed, Aug 27, 2014 at 9:33 AM, Jared Dulmage <Jared.Dulmage@aero.org> wrote:
It appears that the MPSK m2m4 SNR estimator has an extra factor of 2.

gnuradio/gr-digital/mpsk_snr_est.cc:169:175
double
    mpsk_snr_est_m2m4::snr()
    {
      double y1_2 = d_y1*d_y1;
      return 10.0*log10(2.0*sqrt(2*y1_2 - d_y2) /
            (d_y1 - sqrt(2*y1_2 - d_y2)));
    }

where d_y1 and d_y2 are the running 2nd and 4th moments of the input, respectively.

The 2.0* is not present in the estimate expression from the reference (Pauluzzi and Beaulieu eq. 39).

The 3 dB offset can also be seen by generating a signal (say random BPSK) with AWGN, measuring the signal and noise powers separately while estimating the SNR via the m2m4 on the sum.

It's an easy fix, I just wanted to get verification and notify other users.

Thanks,
Jared.

Hi Jared,

I'd have to review the paper again, but I suspect you're right. I was using this estimator just the other day and scratching my head about the results. I was on a plane, though, and was really focused on something else.

Thanks!

Tom
 

No comments:

Post a Comment