On Thu, Oct 15, 2015 at 1:49 PM, Richard Bell <[email protected]>
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.
>
> Rich
>

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.

Tom




> On Tue, Oct 13, 2015 at 6:10 PM, Richard Bell <[email protected]>
> 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?
>>
>> Thanks,
>> Rich
>>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to