[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Second & Fourth Moment Noise Estimation (M2M4)

From: Richard Bell
Subject: Re: [Discuss-gnuradio] Second & Fourth Moment Noise Estimation (M2M4)
Date: Thu, 15 Oct 2015 11:24:30 -0700

Hey Tom,

I just re-read the section around eq 39, and you are right. I looked at 39 and thought he setup the ratio, Eq37/Eq38, but that's not what he did. It's clear now and you're code is correct. Sorry about that.


On Thu, Oct 15, 2015 at 10:57 AM, Tom Rondeau <address@hidden> wrote:
On Thu, Oct 15, 2015 at 1:49 PM, Richard Bell <address@hidden> wrote:
I figured out what was causing my numbers to be incorrect using M2M4. I was overlooking the fact that I was injecting noise at sample rate, but estimating noise power and a decimated rate. Once I took this into account, the estimate was in line with what I expect.

I have not reconciled the difference between the paper algorithm and implemented gnuradio algorithm, but that will have to wait for another day, since it seems to work for now.


Good. I was just about to respond.

I'm not sure what you're missing between eq. 39 in the paper and the code as it's written? Ignoring that I call them d_signal and d_noise (and the results of the estimates always looked fine to me), what's different?

The mpsk_snr_est_m2m4 is specific to PSK constellations where ka and kw are assumed known. For other modulations, he solves it, but you need to know ka and kw as parameters, which is where the problem lies in using it. I put it in there as a tool for future use in other scenarios, but it's unnecessary for M-PSK and more computations.


On Tue, Oct 13, 2015 at 6:10 PM, Richard Bell <address@hidden> wrote:
I've been comparing the m2m4 algorithm from the Norman Beaulieu paper "A Comparison of SNR Estimation Techniques" to what is implemented in the mpsk_snr_est.cc file. I see two implementations of the algorithm in that file, one of which looks perfectly in-line with the paper and the other does not. I am having issues producing proper noise power estimates using the MPSK SNR Estimator Probe block, so it forced me to dig into this stuff.

The algorithm that does not match the paper, is what is actually used in gnuradio, so I'd like to discuss this. The two different implementations are in the mpsk_snr_est.cc file and are defined in two different functions

1) mpsk_snr_est_m2m4::snr()
2) snr_est_m2m4::snr()

The algorithm in 1) is what is instantiated and used referring to the set_type() function defined in probe_mpsk_snr_est_c_impl.cc.

The problem with 1) is that it uses equation 39 from the paper, which represents SNR and concluded the Signal power must be the numerator and the noise power must be the denominator. This is not necessarily true, because much simplification has occurred to produce that SNR equation. The algorithm in 2) does not make this mistake and is what I believe should be used.

As far as I can tell, 2) snr_est_m2m4::snr never gets used. This happens to be the algorithm that agrees with the paper perfectly. What is going on here, is this a place holder or can this be used without re-compiling GNU Radio?


Discuss-gnuradio mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]