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