aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-03-28sigProcLib: Constify demodulation functions burst argument.Alexander Chemeris2-10/+10
demodCommon() used to scale input vector in place which changed original data. That's a bad practice and is not really necessary, so I've changed the code to scale burst after it's copied to a new vector during a delay operation. Change-Id: Ic45f71b634e48808356d68925bb9f5783e0bf0d3
2017-03-28sigProcLib: constify signalVector arguments for detectBurst() functions.Alexander Chemeris2-23/+24
Change-Id: Ic033371a387353eb12b1827a0eb16c00c07da88a
2017-03-28Move Transceiver::demodulate() to sigProcLib to make it reusable.Alexander Chemeris4-17/+14
Change-Id: I2cad47160e53f65612bd1da8998c83a0a22bce9b
2017-03-28sigProcLib.h: Fix whitespaces. No non-whitespace changes.Alexander Chemeris1-46/+46
The file seem to be using "2 spaces" indent, bt some lines are using tabs which breaks formatting. Change-Id: I7718cca45c245c9e91250ab2877f5436d4029698
2017-03-28sigProcLib: Add operator<< to print CorrType to a string.Alexander Chemeris2-0/+25
Change-Id: I3d68cbdab8fb504d7f155029654a576d318a201e
2017-03-28Move BURST_THRESH from Transceiver.cpp to sigProcLib.h to make it reusable.Alexander Chemeris2-9/+9
Change-Id: I5a888890e26858c0fbb2ddb7ef23cb0fd66a64b4
2017-03-24Move Transceiver::detectBurst() to sigProcLib to make it reusable.Alexander Chemeris4-37/+56
Change-Id: I3cbe8e6e4f39dde02c945e6c9086c040e276845c
2017-03-24sigProcLib: rename signalError type to SignalError.Alexander Chemeris1-1/+1
Change-Id: I1a5ae6e87d4c69945053fdefec185d0fb1a26399
2017-03-24Move CorrType type from Transceiver to sigProcLib.Alexander Chemeris3-12/+12
Required to move Transceiver::detectBurst to sigProcLib. Change-Id: I3e0e74a98bbca4d19657f50a5fb447f078663c9b
2017-03-24vector: Introduce shrink() function to shrink vector size without loosing data.Alexander Chemeris1-0/+7
Change-Id: I9c0ac2715aea1a90c9e6ebcd982522b80a547099
2017-03-24vector: Introduce segmentMove() method to move data inside of a vector.Alexander Chemeris1-0/+15
Change-Id: I2f3f4267b4137a0bc031f27e0f896fba9b9f3433
2017-03-24signalVector: Implement segment().Alexander Chemeris2-0/+8
Change-Id: I6fe3aae53fb2fa5bb7637e976de6059eabe08202
2017-03-22BitVector: Convert SoftVector from 0..1 to -1..+1 soft bits.Alexander Chemeris2-13/+13
This makes code simpler and will allow us send -127..127 soft bits towards osmo-bts instead of 0..255 bits. Change-Id: I16ecc3d4c829dcf0f619ad995bc9d4a4ed8af0a4
2017-03-22BitVector: Remove convolutional codec - we don't use it in osmo-trx.Alexander Chemeris3-411/+1
Now we have more fexibility in how we represent SoftVector, since we no longer depend on the particular convolutional codec implementation. Change-Id: I3006b6a26c5eff59dbe9c034f689961802f1d0d0
2017-03-22CommonLibs: Print soft bits with less confidence to console when printing a ↵Alexander Chemeris1-0/+4
soft vector. We use other symbols to show that these bits has less confidence: o and . for 0 with less confidence | and ' for 1 with less confidence Change-Id: I747a17568ee48f1f3163e8dfab2e450af85e6435
2017-03-22Call vectorSlicer() right before packing bits for transmission to osmo-bts.Alexander Chemeris2-3/+3
vectorSlicer() converts soft-bits from -1..+1 to 0..1 while we want to keep SoftVector in -1..+1 mode until the last minute, because at some point we'll want to transmit -1..+1 to osmo-bts instead of converting it from 0..1 back to -1..+1 on the osmo-bts side. Plus it removes code duplication - we call it once instead of twice. Change-Id: Idd6ddd7ac219afb0df055a692632678b66373764
2017-03-22sigProcLib: Slice SoftVector instead of signalVector for GMSK demod.Alexander Chemeris2-26/+22
This makes it similar to 8-PSK demod and also saves a bit of lines ofcode and should give us a tiny improvement in performance. Ideally we need to remove vector slicing at all, because in osmo-bts-trx we convert back to +-1.0 again (actually to +-127, but it doesn't mater). So we should rather transmit +-1.0 values to avoid double conversion. Change-Id: If9ed6f0f80fbe88c994b2f9c3cae91d0d57f4442
2017-03-22sigProcLib: Rename demodulateBurst() to demodGmskBurst() for clarity.Alexander Chemeris3-6/+6
Change-Id: Ibcef8d7d4a2c06865bed7e4091ccc8dbbd494d77
2017-03-22sigProcLib: make energyDetect() simpler by returning actual energy.Alexander Chemeris3-17/+9
Change-Id: I9bf97f2dc03fea9bebcf43198dfb05f6e4694e9c
2017-03-20sigProcLib: Fix documentation, sync argument names in .cpp and .h files.Alexander Chemeris2-47/+49
Documentation in sigProcLib.h was noticeably out of sync with the actual implementation - e.g. not all arguments were documented and arguments which are already removed are still in the documentation. Also argument names were different between declaration in .h and implementation in .cpp which was confusing. I've fixed this for detect*Burst() functions. Change-Id: I4dfd07125d9a1e9a42a78b79faff539f003deb16
2017-03-20radioBuffer: Remove extra ; at the end of inline function definitions.Alexander Chemeris1-4/+4
Change-Id: I8911adf0a0bb1ae828ac9cdf1a76c904639f6c06
2017-03-20sigProcLib: Typo sybols -> symbolsAlexander Chemeris1-1/+1
Change-Id: I8cbef852374d0458c4f4ad4be0df0aa998e3796a
2017-03-20CommonLibs: Remove unused files.Alexander Chemeris17-1313/+49
Change-Id: I2bfb45a1c7d01785bdb30204dba38c683a4288a9
2017-03-14Add autoconf-archive to dependenciesMax1-0/+1
We use AX_EXT in ./configure for checking CPU features anyway, so it's better to add it as explicit dependency. Related: OS#1923 Change-Id: I7ba48e1df4ede8b477574da3faa15fd02e15c69b
2017-03-07uhd: Increase MC-BTS FPGA clock rate to 51.2 MHzTom Tsou1-10/+13
Addresses following issues where UHD 3.9 and likely other UHD versions would report a master clock (FPGA) rate error. Update MC-BTS FPGA clock for B200 and B210 to 51.2 MHz, which is supported by all UHD versions. Only B200/B210 is supported for MC-BTS operation. https://osmocom.org/issues/1963 https://osmocom.org/issues/1648 ALERT UHDDevice.cpp:548:set_master_clk: Failed to set master clock rate ALERT UHDDevice.cpp:549:set_master_clk: Requested clock rate 3.2e+06 ALERT UHDDevice.cpp:550:set_master_clk: Actual clock rate 5e+06 Change-Id: I78fb2c0959abd0e666628ba39f433162aafb067e
2017-03-07uhd: Add support for UHD-3.11 logging controlTom Tsou2-7/+16
The logging API changes in UHD-3.11, which causes build failure if not properly handled. Change-Id: I223ebb9fae3f4061e0cb37c05263c1b569e8f628
2017-01-26Fix building against sqlite3Max7-11/+12
* Explicitly check for sqlite3 at configure stage, remove old include dir, fix header inclusion. * Use configure results for linking instead of hardcoded linker option for sqlite. * Add dependency on -dev package for .deb Change-Id: I6d7f697d67651f02ceb77fc4da4317b64fa47f9e Fixes: OS#1928
2017-01-24Remove embedded sqlite3Max6-145782/+1
Previous patch switches to using system-wide sqlite3 so it's safe to remove local copy now. Change-Id: Ie8e751cc62132fe1f7748ccd78c5d48469027329
2017-01-24Do not embed sqlite3 when buildingRuben Undheim2-2/+1
Change-Id: If5edadc04c3ff953b451676e55ad3d00d4e43c82
2017-01-24Integrate Debian packaging changesMax3-24/+182
debian/control: * restructure to make it easier to incorporate further changes * update package descriptions * update project URL debian/rules: * use proper hardening syntax debian/copyright: update to match Debian format Change-Id: I9a89e7311c8632ae26ac2e6c02d1e427d94b1608 Related: OS#1694
2017-01-24Add gerrit settingsMax1-0/+3
Make it simple to setup and use this repo with 'git review' command. Change-Id: I6bbe65cc09e086685995f084a07a646a7d60b93c
2017-01-24debian: Require fftw3 header files for osmo-trxHolger Hans Peter Freyther1-1/+1
Install missing development package to get osmo-trx to build. Change-Id: Id80937724d5e4da4ed555cbabfcd3e2457cb2a19
2017-01-19Revert "uhd: Set minimum supported version to 3.9.0"Tom Tsou2-2/+11
This reverts commit 93ca09ea61d044e5f8662b28bf084c808cac4f2c. Ettus Research recommends the use of 3.9 series of UHD releases, but requiring this version has lead to issues with broken OBS and packaged binaries by Debian, Ubuntu, and other distributions. Change-Id: Ie6b175ac6d46d091937380c79fdd0125b16ec75f Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2017-01-11uhd: Add X300 sample timing for 4 SPSTom Tsou1-0/+1
Previously only 4/1 and 1/1 configurations Tx/Tx samples-per-symbol were supported. Change-Id: I9153171fe3af95e1cb0d9d35a9287dfde155d184
2016-10-26transceiver: Fix mismatched allocations and deallocationspierre.baudry3-4/+6
The behaviour of a mismatched pair of allocation and deallocation is undefined Also fixes a memory leak if malloc fails (which stops the application anyway) Change-Id: I9c8bbade8531e8c9c02dcd43bac38cb954b3c89f
2016-10-25uhd: Set minimum supported version to 3.9.0Tom Tsou2-11/+2
Versions of UHD prior to 3.9.0 are no longer supported. Rather then backport and ifdef UHD version specific API and behavioral changes, set minimum support to the current LTS release, which is 3.9.0. Change-Id: Id7d15b52cd4e45f1d856a6ef3a84832a28f2dd04 Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-10-25transceiver: Fix command build warningTom Tsou1-2/+3
Place conditional brackets on handover table reset. Reset table only on successful start or restart. Change-Id: I74032b49785bd68835a0a68cb0f14cdaab4fcd26
2016-10-18uhd: Add missing B200 sample timing for 4 SPS receiveTom Tsou1-1/+2
Only B210 timing was previously set in the timing table. Change-Id: Idc8d1be8201ad086c57dd9b3d6d72d277306cd2b
2016-10-17add contrib/jenkins.sh, for gerrit build botNeels Hofmeyr1-0/+7
Change-Id: If8887525b0062090e9445a35e32b03e3b8e7eede
2016-08-11sigproc: Match differential GMSK start/end bits to tail bitsTom Tsou1-4/+4
Invert the initial and trailing diffential bits in the 4 sps GMSK modulator to fix power-time mask irregularity at start and end of burst. GSM tail bits are always zero, so we can safely use fixed bit values. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-08-08The INSTALL file is being overwritten by autoreconf, but it is committedNeels Hofmeyr2-0/+1
as empty file. As a result, the INSTALL file always shows as modified. Instead, remove INSTALL from git and ignore it.
2016-07-20uhd: Update USRP2/N200/N210 for 4 SPS RxTom Tsou5-48/+47
Requires changing the radioInterface API to pass in Rx side SPS value. Update the (deprecated) diversity configuration to match as well. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-19sigproc: Fix missing 8-PSK tail symbolsTom Tsou1-1/+1
Agilent E4406A measurement of TSC synchronized RF envelope measurement. showed failing power levels at the tail end of EDGE bursts. Regression traced back to following commit. Commit d2b070369dd5341ac42ec091370d8bcd5a8ac5ee "uhd: Correct timing alignment in 8-PSK and GMSK downlink bursts" In the patch, the EDGE burst was delayed one symbol, but erroneously truncated at the tail end causing the failing RF envelope measurement. The missing tail symbol did not appear to affect end-to-end EGPRS tests. This patch corrects the truncation. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-19transceiver: Fix 4 SPS receive TOA valueTom Tsou1-1/+1
The time-of-arrival (TOA) value out of sigProc is specified in symbols or, equivalently, 1 sample per symbol and does not need to be normalized. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-19transceiver: Fix mixed GSMK / 8-PSK transmissionTom Tsou1-1/+1
Input burst construction was declared static causing the first downlink burst from upstream to determine subsequent burst size and modulation. Consequently, fixed sequence EGPRS tests would pass, however, switching between 8-PSK and GMSK bursts would fail with only one modulation type being transmitted. Internally generated test sequences '-r' option were not affected because the bursts are not received through the socket interface. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-17uhd: Add command line option for GPS referenceTom Tsou5-13/+60
Unlike earlier versions of UHD, the current release (3.9.2) does not automatically select on-board GPSDO as the reference source. Modify the command line settings to allow explicit selection of GPS in addition to the external setting. Simultaneous GPS and external reference settingis disallowed. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-12UHD: Initial LimeSDR support.Alexander Chemeris1-1/+24
Only EDGE mode is currently supported. Traditional 1 SPS Rx / 4 SPS Tx mode requires different sampling rates which is not currently working. RF performance is also sub-optimal and requires more tuning.
2016-07-12radioInterface: Fix multi-channel buffer index bugTom Tsou1-1/+1
Discrete RF multi-channel was using hard coded buffer index on the channel iteration for transmit sample conversion. End result was segmentation fault on dual RF channel devices with both channels active (Ettus B210 and UmTRX). Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-08mcbts: Allow out of order channel setupTom Tsou2-6/+9
Previous checks on multi-channel TSC and ARFCN settings would fail if channels were initialized out of order. Namely, if channel 0 was not configured first, osmo-trx would error on the control interface leading osmo-bts to fail. Allow global TSC setting on all channels with added logging notice. Notify if channel frequency is unexpected - which may happen if channels are setup out of order - but do no report as error. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
2016-07-07transceiver: Remove HANDOVER warningsTom Tsou1-2/+0
These warnings simply echo the socket command arguments with no indication of any unexpected or improper operation. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>