Hi Richard, > From: > Richard Bell > Subject: > Re: [Discuss-gnuradio] Correlation > Estimation Block Oddity > Date: > Thu, 23 Apr 2015 15:38:38 -0700 > > ______________________________________________________________________ > I have another question on tag placement for the correlation > estimation block. In the screenshot I've attached, you'll see that the > corr_start tag is placed well before the preamble actually starts.
OK. That's the first thing you should try to fix. You are crossing the correlation threshold too early. Either a. Get rid of leading 0's in the correlation sequence that you are using, b. Set the threshold on the corr_est block to something higher than the default 0.9 (90%), or c. make the correlation sequence "more unique" somehow, e.g. make it longer. As I mentioned in my previous email, the "corr_start" tags is placed at the length of your matched filter samples before where the correlation peak was detected. You can eyeball how the correlation is going by plotting the Magnitude^2 of the "corr" output on top of the output signal (use a tag_gate block to block the tags coming out of the "corr" output). The output signal is delayed by the length of the matched filter, so you can see the correlation peak and the "corr_start" tag line up. See the attached screen shot of an AIS preamble and the scaled magnitude squared of the correlator output. > If I use the 'delay tag' field to move it to the end of the preamble > where I need it, it stops delaying, no matter how big I make the > delay, Yup, the code forces a maximum delay. You can delay it to the end of your matched filter and no further: https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/corr_est_cc_impl.cc#L65 The code does this because GnuRadio will not let us tag samples outside of the window of samples passed to the current call to work. By setting the bound of the marking delay to the start and end of the matched filter, with other mechanisms in the block, we are guaranteed to be able to mark the sample. > before it reaches the end of the preamble. Well as far as the block is concerned, you are able to mark to the end of the matched filter where the correlation peak occurred (but no further), which should be the end of your preamble. Your problem is that the block declared a correlation too early. > This is shown in the picture. I need this tag to denote the start of > the header for the Header Payload Demux block. Out of curiosity, what's doing timing recovery, i.e. finding the optimal bit sampling times? I use the tagging delay out of the corr_est block to mark the center of the first bit in the preamble, to tell downstream bit timing recovery blocks to reset/realign at that point. Regards, Andy > > My question is, given the situation in the screenshot, is there a way > I can delay just the tag in grc using a block? I'm not sure how to get > the tag positioned where I need it at this point. > > > Help is greatly appreciated > > > v/r, > > Rich > > >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio