The magnitude of the correlation depends on the magnitude of your signal.
The AGC normalizes the signal amplitude before the correlator, so you see
expected behavior. The correlation estimator block expects the input to
have a normalized amplitude.

Nick

On Wed, Apr 1, 2020 at 8:58 AM 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
>

Reply via email to