Transceiver52M: Reduce RACH and TSC correlation windows

Start the correlation search window at 4 symbols before
the expected correlation peak. End the search at 10
symbols and 4 + maximum expected delay for RACH and TSC
bursts respectively.

This change lowers receive side cpu utilization while
maintaining reasonable timing jitter and accuracy tolerance.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
This commit is contained in:
Thomas Tsou
2013-09-18 16:21:26 -04:00
parent 0e44ab360e
commit dafb33700e

View File

@@ -1215,8 +1215,8 @@ static int detectBurst(signalVector &burst,
* *
* Correlation window parameters: * Correlation window parameters:
* target: Tail bits + RACH length (reduced from 41 to a multiple of 4) * target: Tail bits + RACH length (reduced from 41 to a multiple of 4)
* head: Search 8 symbols before target * head: Search 4 symbols before target
* tail: Search 8 symbols after target * tail: Search 10 symbols after target
*/ */
int detectRACHBurst(signalVector &rxBurst, int detectRACHBurst(signalVector &rxBurst,
float thresh, float thresh,
@@ -1234,8 +1234,8 @@ int detectRACHBurst(signalVector &rxBurst,
return -1; return -1;
target = 8 + 40; target = 8 + 40;
head = 8; head = 4;
tail = head; tail = 10;
start = (target - head) * sps - 1; start = (target - head) * sps - 1;
len = (head + tail) * sps; len = (head + tail) * sps;
@@ -1268,8 +1268,8 @@ int detectRACHBurst(signalVector &rxBurst,
* *
* Correlation window parameters: * Correlation window parameters:
* target: Tail + data + mid-midamble + 1/2 remaining midamblebits * target: Tail + data + mid-midamble + 1/2 remaining midamblebits
* head: Search 8 symbols before target * head: Search 4 symbols before target
* tail: Search 8 symbols + maximum expected delay * tail: Search 4 symbols + maximum expected delay
*/ */
int analyzeTrafficBurst(signalVector &rxBurst, unsigned tsc, float thresh, int analyzeTrafficBurst(signalVector &rxBurst, unsigned tsc, float thresh,
int sps, complex *amp, float *toa, unsigned max_toa, int sps, complex *amp, float *toa, unsigned max_toa,
@@ -1285,8 +1285,8 @@ int analyzeTrafficBurst(signalVector &rxBurst, unsigned tsc, float thresh,
return -1; return -1;
target = 3 + 58 + 16 + 5; target = 3 + 58 + 16 + 5;
head = 8; head = 4;
tail = head + max_toa; tail = 4 + max_toa;
start = (target - head) * sps - 1; start = (target - head) * sps - 1;
len = (head + tail) * sps; len = (head + tail) * sps;