sigProcLib: add a CorrType for extended (11-bit) RACH

This is a preparatory change that enables a possibility to choose
the amount of synch. sequences to be used for Access Burst (RACH)
detection. The VTY flag will be introduced in further changes.

There are two correlation types now:

  - RACH (default) - TS0 only;
  - EXT_RACH - all TS0, TS1, and TS2 together.

Change-Id: Ia4f20524350bb8c380d7e10360758eddae8b03e9
Related: OS#3054
This commit is contained in:
Vadim Yanitskiy 2018-10-22 02:25:23 +02:00
parent a79bc70737
commit 444ff34396
2 changed files with 12 additions and 6 deletions

View File

@ -1602,18 +1602,22 @@ static int detectGeneralBurst(const signalVector &rxBurst,
* tail: Search 8 symbols + maximum expected delay
*/
static int detectRACHBurst(const signalVector &burst, float threshold, int sps,
complex &amplitude, float &toa, unsigned max_toa)
complex &amplitude, float &toa, unsigned max_toa, bool ext)
{
int rc, target, head, tail;
CorrelationSequence *sync;
int i, num_seq;
target = 8 + 40;
head = 8;
tail = 8 + max_toa;
sync = gRACHSequences[0];
num_seq = ext ? 3 : 1;
rc = detectGeneralBurst(burst, threshold, sps, amplitude, toa,
target, head, tail, sync);
for (i = 0; i < num_seq; i++) {
rc = detectGeneralBurst(burst, threshold, sps, amplitude, toa,
target, head, tail, gRACHSequences[i]);
if (rc > 0)
break;
}
return rc;
}
@ -1682,9 +1686,10 @@ int detectAnyBurst(const signalVector &burst, unsigned tsc, float threshold,
rc = analyzeTrafficBurst(burst, tsc, threshold, sps,
amp, toa, max_toa);
break;
case EXT_RACH:
case RACH:
rc = detectRACHBurst(burst, threshold, sps, amp, toa,
max_toa);
max_toa, type == EXT_RACH);
break;
default:
LOG(ERR) << "Invalid correlation type";

View File

@ -29,6 +29,7 @@
enum CorrType{
OFF, ///< timeslot is off
TSC, ///< timeslot should contain a normal burst
EXT_RACH, ///< timeslot should contain an extended access burst
RACH, ///< timeslot should contain an access burst
EDGE, ///< timeslot should contain an EDGE burst
IDLE ///< timeslot is an idle (or dummy) burst