aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/radioVector.h
AgeCommit message (Collapse)AuthorFilesLines
2013-11-15Transceiver52M: Set const qualifier on appropriate radio vector methodsThomas Tsou1-2/+2
Pointer accessor and noise average methods for radio and noise vectors respectively. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-11-15Transceiver52M: Use independent noise vectors for each channelThomas Tsou1-2/+2
Each ARFCN channel may be independently configureted and possibly on separate hardware, so don't share a single vector for noise estimate calculations. Allow a non-pointer based iterator so we can get away with using the default copy constructor. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-11-15Transceiver52M: Add vectorized radio burst capabilityThomas Tsou1-4/+11
This patch allows multiple signalVectors to be stored within a single radioVector object. The motivation is to provide a facility for diversity and/or MIMO burst handling. When no channel value is specified, single channel bevhaviour is maintained. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-11-15Transceiver52M: Preallocate head room for burst correlationThomas Tsou1-0/+1
Set a transceiver high level length value that specifies the largest number of complex or real filter taps that we will encounter. This allows preallocation of head room and prevents an extra allocation and copy on every incoming receive burst. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-11-15Transceiver52M: Remove extra copy in receive drive pathThomas Tsou1-0/+1
Currently the code allocations a signalVector and then copies into a radioVector. This is unnecessary because the latter is a derived class making the first allocation unnecessary. Modify the radioVector constructor to allow direct use in the case above. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-11-15Transceiver52M: Add multi channel transceiver supportThomas Tsou1-9/+1
This patch primarily addresses devices with multiple RF front end support. Currently device support is limited to UmTRX. Vectorize transceiver variables to allow multiple asynchronous threads on the upper layer with single downlink and uplink threads driving the UHD I/O interface synchronously. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-10-18Transceiver52M: Update noise measurement calculationThomas Tsou1-0/+10
Previous removal of the energy detector requirement broke the noise level calculation loop. The previous adaptive approach was finicky - noticably at high gain levels. Since we no longer use the energy threshold for primary burst gating, we can return to a simpler world. In the new approach, we compute a running average of energy levels and track them with a noise vector. A timeslot that passes the correlator threshold is a valid burst. These are not used in the noise calculation. Everything else is considered noise and used to compute the noise level with respect to full scale input level, which for almost all supported devices is 2^15. Signed-off-by: Thomas Tsou <tom@tsou.cc>
2013-06-16Fix build of the Transceiver.Alexander Chemeris1-0/+1
2011-11-26transceiver: rename getting radio vector time to getTime()kurtis.heimerl1-1/+1
Small name change to match setTime for a get/set pair. Signed-off-by: Thomas Tsou <ttsou@vt.edu> git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2673 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2011-11-26transceiver: separate radio clock and vector interfaceskurtis.heimerl1-0/+56
Remove radio clock and vector interfaces into their own files. This clears up and simplifies the radio interface and, additionaly, prepares for a further split of the I/O portion for optional resampler use. Signed-off-by: Thomas Tsou <ttsou@vt.edu> git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2669 19bc5d8c-e614-43d4-8b26-e1612bc8e597