Skip to content
Failed

Changes

Summary

  1. trx: Fix tx/rx-sps 4 for USRP1 devices (details)
Commit 063d939744dd201c309059d5d4be13ac0f8c3ce7 by jackleea1b
trx: Fix tx/rx-sps 4 for USRP1 devices

The existing code sets the pingOffset variable to -7231(269 - 7500) with tx-sps = 4. The (apparent) correct value for pingOffset for tx/rx-sps 4 is 272.
While I'm not completely sure how this patch works to fix the increased sps value, my theory is that(as seen in the block comment on lines 72-77) OpenBTS, where this code is adapted from, only supported a split sps setup(tx-sps=4, rx_sps=1 for sps=4), which created a differing decimation rate between Tx and Rx on the board. In this case, apparently you needed to account for an advance in the timestamp for a correct output.
However, in the case tx_sps == rx_sps, the decimation/sample rates will be the same, and(I guess) this advance doesn't need to be accounted for. I also had to change a line in the initialization of the Rx end of the USRP device to allow it to have a correct decimation rate when the sps values are 4.
Also commented out the line that would create different pingOffset values for split sps values, since osmo-trx won't allow nonequal values for tx-sps and rx-sps. I left it visible in the file for reference however.

Tested & working on the URAN-1, a USRP1 clone designed for GSM.

Change-Id: I3b08c23a3e7d4a226cd23b9fe42558f596a63257
The file was modifiedTransceiver52M/device/usrp1/USRPDevice.cpp