Feature #3664
closedOptimize EDGE burst detection
100%
Description
In the current code, when EDGE demodulator is enabled, OsmoTRX is trying to detect
each normal burst as EDGE burst first, and fall-backs to GSM if detection is failed.
Transceiver::pullRadioVector(): ... /* Set time and determine correlation type */ GSM::Time time = radio_burst->getTime(); CorrType type = expectedCorrType(time, chan); /* Enable 8-PSK burst detection if EDGE is enabled */ if (mEdge && (type == TSC)) type = EDGE; ...
Detection of EDGE bursts only makes sense on PDCH channel combinations,
and (probably, to be clarified) on TCH combinations that can be combined
with PDCH, i.e. dynamic time-slots.
Related issues
Updated by laforge over 5 years ago
On Mon, Oct 22, 2018 at 04:22:31PM +0000, fixeria [REDMINE] wrote:
Detection of EDGE bursts only makes sense on PDCH channel combinations,
ACK.
and (probably, to be clarified) on TCH combinations that can be combined
with PDCH, i.e. dynamic time-slots.
I think the channel combination should be switched/changed when the dyn TS changes?
If not, then that's probably a BTS bug?
Updated by pespin over 4 years ago
May be useful for optimization purposes, here's a perf output of a osmo-trx-uhd with EDGE network enabled (percentatge is absolute percentatge of samples):
- 37.20% 0.00% RxUpper0 osmo-trx-uhd [.] RxUpperLoopAdapter - 37.20% RxUpperLoopAdapter - 37.19% Transceiver::driveReceiveFIFO - 37.11% Transceiver::pullRadioVector - 35.69% detectAnyBurst - 17.67% detectEdgeBurst - detectGeneralBurst - 10.00% detectBurst - 9.10% downsampleBurst - 5.93% Resampler::rotate - 4.84% convolve_real 4.16% sse_conv_real16 - 1.23% signalVector::signalVector - Vector<Complex<float> >::Vector - Vector<Complex<float> >::resize 0.84% Complex<float>::Complex 1.19% Vector<Complex<float> >::copyToSegment 0.58% convolve + 7.38% maxAmplitude - 16.24% analyzeTrafficBurst - detectGeneralBurst - 9.19% detectBurst - 8.44% downsampleBurst - 5.46% Resampler::rotate - 4.58% convolve_real 3.93% sse_conv_real16 - 1.24% signalVector::signalVector - 1.24% Vector<Complex<float> >::Vector - Vector<Complex<float> >::resize 0.90% Complex<float>::Complex 1.17% Vector<Complex<float> >::copyToSegment - 6.89% maxAmplitude 2.64% Vector<Complex<float> >::operator[] 1.50% Vector<Complex<float> >::size 0.57% Complex<float>::real - 1.78% detectRACHBurst - detectGeneralBurst - 0.97% detectBurst 0.75% downsampleBurst 0.75% maxAmplitude
Updated by pespin over 4 years ago
- Status changed from New to Feedback
- Assignee set to fixeria
Related commit I wrote from what I understood was needed in this ticket:
https://gerrit.osmocom.org/c/osmo-trx/+/15291 Transceiver: Enable EDGE detection only on PDCH timeslots
Assigning to fixeria for review.
Updated by pespin over 4 years ago
- Related to Bug #4175: osmo-bts-trx: Make sure SETSLOT is sent to TRX on dynamic channels when they are switched added
Updated by fixeria over 4 years ago
- Status changed from Feedback to Resolved
- % Done changed from 0 to 100
Patch has been merged and confirmed to work, closing. Thanks, pespin!