OK. I'm seeing pretty good estimates myself, for the few input noise std
devs I've tried. I'm glad I didn't have to write this myself.

Thanks,
Rich

On Thu, Sep 17, 2015 at 12:12 PM, Tom Rondeau <t...@trondeau.com> wrote:

> On Thu, Sep 17, 2015 at 2:46 PM, Richard Bell <richard.be...@gmail.com>
> wrote:
>
>> It's hard to tell from the slide, but are you feeding the Estimator the
>> same data that is fed into the Costas loop?
>>
>> Rich
>>
>
> Yes, in this case, that's the way it's configured. For one, I use this to
> show how to control upstream blocks through messages. But also, some SNR
> estimators require a locked constellation. The ones in use in the SNR
> Estimator block don't, but new ones might. You should be able to move this
> in front of the Costas Loop block and have the same results.
>
> Tom
>
>
>
>
>> On Thu, Sep 17, 2015 at 11:28 AM, Tom Rondeau <t...@trondeau.com> wrote:
>>
>>> On Thu, Sep 17, 2015 at 2:19 PM, Richard Bell <richard.be...@gmail.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I've attached an image of my flowgraph and the figures it produces to
>>>> coincide with the following.
>>>>
>>>> I would like to do two things to a BPSK radio implementation. One is
>>>> feed an SNR estimate to the Costas Loop to improve performance at low SNR.
>>>> The second is display the measured SNR to a user in the GUI. I'm using the
>>>> MPSK SNR Estimator Probe to generate SNR messages and feeding that into the
>>>> Costas Loop, simple enough.
>>>>
>>>> Question 1: Where do you place the estimator block in your flowgraph?
>>>> Currently, I have it estimating SNR based on the input to the Costas Loop,
>>>> but I could make estimates based on the stream coming right out of the USRP
>>>> Source. Does it matter/help/hurt?
>>>>
>>>> Question 2: What type of SNR estimator from this block do people with
>>>> experience find works best? Welcoming recommendations. In the simple
>>>> flowgraph attached, I find Simple, 2nd and 4th Moment and SVR produce
>>>> relatively close estimates, while Skewness is way off and sometimes
>>>> produces NaN.
>>>>
>>>> Question 3: How do I turn the SNR Estimator messages into a stream that
>>>> I can pass to QT GUI blocks? I've tried the PDU to Tagged Stream and the
>>>> Message Source blocks, but they don't work for this purpose. I just get
>>>> streams of 0's or can't use the block at all (Message Source is the wrong
>>>> kind of message input). Using the Message Debug block shows the output of
>>>> the estimator is not 0, which you can see in the terminal of the attached
>>>> flowgraph image.
>>>>
>>>> Thank you for the help,
>>>> Rich
>>>>
>>>
>>> Rich, check out slide 34 of my presentation from last year:
>>>
>>>
>>> http://static1.1.sqspcdn.com/static/f/679473/25461695/1411159929500/Sep16_11_Rondeau_mpsk.pdf?token=xIP07wC3RjGheLkPPTsErRmwwrE%3D
>>>
>>>
>>> The Costas Loop is already equipped to handle this. However, notice that
>>> I'm passing the noise estimate, not the SNR estimate. We don't want that
>>> block (or the tag version of the estimator) doing an SNR estimate and
>>> passing it on for every single sample. That's a lot of overhead.
>>>
>>> Instead, I take the noise estimate from this block, which the M2M4
>>> estimator produces quite well at low SNRs, and use that inside the Costas
>>> loop. The Costas loop will then calculate the instantaneous SNR of the
>>> sample by taking the signal power from the sample itself against the
>>> current noise floor estimate (which isn't expected to change rapidly). As
>>> you can see in the next few slides, the performance difference is rather
>>> dramatic.
>>>
>>> Make sure you go to the Costas Loop block options and say "Yes" for "Use
>>> SNR" -- it's added computations, which you want to avoid if you don't want
>>> to use it or don't have a good noise estimator.
>>>
>>> Tom
>>>
>>>
>>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to