How close to 1 did you use thresholds for the relative threshold method? For the relative threshold method I use thresholds between 1-exp(-5) .. 1-exp(-8).
Cheers. Christoph On Wed, Apr 1, 2020 at 5:58 PM Fabian Missbrenner <fabian.missbren...@gmail.com> wrote: > > Hi everyone, > > I am currently developing a wireless transceiver and try to get the > transmission detection running at the receiving end. To help with > detection and synchronization, a known word is prepended to every > message. I now want to use the Correlation Estimator block to detect > the presence of the known word on a noisy, bursty channel. The block > computes the (magnitude squared of the) correlation of the incoming > stream of complex baseband samples with the known word: > https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/corr_est_cc_impl.cc#L219 > > Attached you can find the Flowgraph I am using for testing purposes. > > With Threshold Method set to Absolute, once the correlation exceeds a > user-defineable share of the auto-correlation peak of the known word > (Threshold parameter: between 0 and 1), > https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/corr_est_cc_impl.cc#L178, > the known word is considered detected and a tag is added to the stream. > > Unfortunately, the block does not quite behave like expected. The > threshold needs be set to a value that is off by a factor of 1000 in > my case: > cf. PDF attachment, slide 1. > With a Threshold of 0.8/1000=800u, detection works reliably. But I > don't understand where this factor of 1000 comes from. > > When using an AGC3 block before the Correlation Estimator (yes, I made > sure to correlate against the normalized known word now), there is no > correction by factor 1000 necessary anymore: > cf. PDF attachment, slide 2. > Here, with a threshold of 0.5, detection works reliably. > > With the Dynamic mode, the semantic of the Threshold parameter > changes: Now it means a probability of false alarm: > https://github.com/gnuradio/gnuradio/blob/master/gr-digital/lib/corr_est_cc_impl.cc#L175. > Unfortunately, regardless of configuring a Threshold close to 0 or > close to 1, there are many false-positive detections: > cf. PDF attachment, slides 3 and 4. > > I'm not quite sure if I am missing some important point about using > the block or if the described oddities are bugs. Maybe you can help me > out? I also saw a discussion about this block in a Github issue > mentioning its lack of documentation: > https://github.com/gnuradio/gnuradio/issues/1207#issuecomment-279573149 > > Best regards > Fabian Missbrenner