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.

Rich

On Thu, Oct 15, 2015 at 10:57 AM, Tom Rondeau <[email protected]> wrote:

> 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