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?

Thanks,
Rich
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to