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