aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/sigProcLib.cpp
diff options
context:
space:
mode:
authorTom Tsou <tom.tsou@ettus.com>2016-06-29 14:50:25 -0700
committerTom Tsou <tom.tsou@ettus.com>2016-07-01 03:14:29 -0700
commita84e162672b1ccca94994f132b89fb024bcd15d4 (patch)
treeecbc81c784888fc01015db37b65d3fc761d82d3a /Transceiver52M/sigProcLib.cpp
parent76764278169d252980853251daeb9f1ba0c246e1 (diff)
sigproc: Adjust burst detection threshold criteria
Reduce the burst detection threshold to pass more bursts to upper layers, but force stricter requirements on the computation itself. For the latter, we now require at least 5 samples (rather than 2) to compute a peak-to-average value. End result is increased burst detection at low SNR conditions with a small increase in false positive bursts when no signal is present. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
Diffstat (limited to 'Transceiver52M/sigProcLib.cpp')
-rw-r--r--Transceiver52M/sigProcLib.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 6495b1e..3682227 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -1678,6 +1678,17 @@ release:
return status;
}
+/*
+ * Peak-to-average computation +/- range from peak in symbols
+ */
+#define COMPUTE_PEAK_MIN 2
+#define COMPUTE_PEAK_MAX 5
+
+/*
+ * Minimum number of values needed to compute peak-to-average
+ */
+#define COMPUTE_PEAK_CNT 5
+
static float computePeakRatio(signalVector *corr,
int sps, float toa, complex amp)
{
@@ -1691,7 +1702,7 @@ static float computePeakRatio(signalVector *corr,
peak = corr->begin() + (int) rint(toa);
- for (int i = 2 * sps; i <= 5 * sps; i++) {
+ for (int i = COMPUTE_PEAK_MIN * sps; i <= COMPUTE_PEAK_MAX * sps; i++) {
if (peak - i >= corr->begin()) {
avg += (peak - i)->norm2();
num++;
@@ -1702,7 +1713,7 @@ static float computePeakRatio(signalVector *corr,
}
}
- if (num < 2)
+ if (num < COMPUTE_PEAK_CNT)
return 0.0;
rms = sqrtf(avg / (float) num) + 0.00001;