discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Correlation Estimator block threshold settings in Absolute/Dynamic mode


From: Fabian Missbrenner
Subject: Correlation Estimator block threshold settings in Absolute/Dynamic mode
Date: Wed, 1 Apr 2020 17:49:44 +0200

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

Attachment: corr-est.pdf
Description: Adobe PDF document

Attachment: wur_test.grc
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]