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

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