Hi all,
This patch set adds to libosmocore an optimized Viterbi decodeer for
architecture specific (Intel SSE) and non-specific cases. The
implementation covers codes with constraint lengths of K=5 and K=7 and
rates 1/4 to 3/4, which make up the majority of GSM use cases. Speedup
from the current implementation is in the range of 5 to 20 depending on
the processor and code type. API is unchanged.
Tested on Haswell (i7-4770K) and Atom (D2550). Additional test codes
from osmo-bts are included. Further tests for AWGN bit-error-rate
and benchmarks can be found in the following repository.
https://github.com/ttsou/osmo-conv-test
Here are some examples.
Bit error test for GPRS CS2 with SNR of 5 dB and 100000 bursts.
$ ./conv_test -c 2 -e -r 5 -i 100000
=================================================
[+] Testing: GPRS CS2
[.] Specs: (N=2, K=5, non-recursive, flushed, not punctured)
[.] Input length : ret = 290 exp = 290 -> OK
[.] Output length : ret = 588 exp = 588 -> OK
[.] BER tests:
[..] Testing base:
[..] Input BER.......................... 0.042443
[..] Output BER......................... 0.000006
[..] Output FER......................... 0.001350 (135)
[..] Testing SIMD:
[..] Input BER.......................... 0.042460
[..] Output BER......................... 0.000005
[..] Output FER......................... 0.001240 (124)
Timed AFS benchmark with 8 threads and 100000 bursts per thread.
$ ./conv_test -b -c 10 -j 8 -i 100000
=================================================
[+] Testing: GSM TCH/AFS 6.7
[.] Specs: (N=4, K=5, recursive, flushed, punctured)
[.] Input length : ret = 140 exp = 140 -> OK
[.] Output length : ret = 448 exp = 448 -> OK
[.] Performance benchmark:
[..] Encoding / Decoding 800000 bursts on 8 thread(s):
[..] Testing base:
[..] Elapsed time....................... 4.320001 secs
[..] Rate............................... 25.925920 Mbps
[..] Testing SIMD:
[..] Elapsed time....................... 0.458272 secs
[..] Rate............................... 244.396341 Mbps
[..] Speedup............................ 9.426718
-TT
Dear all,
the valuable L1SAP abstraction has been sitting out of master for too
long time. It is a pity that this has taken so long. I've finally been
able to put some time into osmo-bts again and reviewed the following
patch series. It consists of mostly Andreas' work, interspersed with
smaller patches/fixups that I introduced after the respective original
patch from Andreas.
I have started a sysmobts between all of the major steps in this patch
series and did a short manual tests involving registration (LU) of two
MS, mobile-to-mobile call and vty-to-mobile SMS. So far I couldn't see
any problems. What has not been tested yet is the PCU interface as well
as encryption support. I plan to do this later this week.
I intend to merge the code after this current review cycle. Please take
your time to have a look and provide feedback (if any), so we can get
this over and work on new features again, rather than infrastrutural
changes.
I didn't yet rebase the osmo-bts-trx interface on top of the L1SAP, as I
don't have a hardware setup for it, and I will leave it to the owners of
such hardware to publish/push the respective code after L1SAP is merged.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
While testing with multiple devices I found a problem where Samsung phones
don't correctly respond to identity request messages.
Attached is the pcap file of the GPRS-NS transmission.
Regards,
Pierre
Hi all.
Is stuff from ETSI TS 100 543 supported? I mean all the "call forwarding" features
like CFU, CFB, CFNRy and CFNRc. If yes than how to configure that? If not that what's
missing?
--
best regards,
Max, http://fairwaves.co
Total new to SDR and Osmocom.
I have USRP1 with clock-tamer installed.
1 daughtercard - RFX1800 <https://www.ettus.com/product/details/RFX1800>(I
believe)
I have been following this tutorial:
http://openbsc.osmocom.org/trac/wiki/network_from_scratch
My phones can see network but not register. Nothing comes up in the log
file when phones try to connect.
Not sure if its a config problem, or the external clock tamer, or something
else.
Attached is configs and screenshots
Thanks,
E
Hi all.
I've found pretty interesting test case in ofono-end-to-end folder of
osmo-st-openbsc-test repo. Sadly the documentation is not there.
What does it do exactly and which hardware (client-side obviously :) is required for
the test?
How do I run it? Using some magic gst command?
--
best regards,
Max, http://fairwaves.co
Hi Max,
On Mon, Oct 13, 2014 at 09:01:50PM +0200, ☎ wrote:
> Attached is a 2nd patch - it completely disables sqlite, all the configuration for
> osmo-trx is supplied through command-line options. This makes troubleshooting easier
> because now we have single source of truth: all the defaults are in one place.
Thanks for looking into this. I agree that the sqlite configuration should be
removed because it only causes confusion at this point. The original intention
was to have backwards compatibility with OpenBTS-style sqlite options, but the
number of users of that approach is approximately -1.
Logging is the other concern. Have you tried removing the configuration
table entirely? The existing queries are rarely, if ever, used. Without
sqlite, the table shouldn't exist at all.
Some general comments. Please remove code when you intend to remove it -
committing commented out lines makes code and the patch difficult to read.
Git will track the changes. Pull requests work well for large commits,
such as sqlite3.c removal.
> diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp
> index 9215fa5..16ac7b9 100644
> --- a/Transceiver52M/osmo-trx.cpp
> +++ b/Transceiver52M/osmo-trx.cpp
> -
> +volatile bool gshutdown = false; // FIXME: what the ... is that for?
The shutdown variable is a relic from OpenBTS, and exists because of
the mess involving threads and shutdown. That issue is unrelated to logging or
sqlite.
> - refstr = config->extref ? "Enabled" : "Disabled";
> - fillstr = config->filler ? "Enabled" : "Disabled";
> - divstr = config->diversity ? "Enabled" : "Disabled";
> -
> std::ostringstream ost("");
> ost << "Config Settings" << std::endl;
> ost << " Log Level............... " << config->log_level << std::endl;
> @@ -176,9 +96,9 @@ bool trx_setup_config(struct trx_config *config)
> ost << " TRX Address............. " << config->addr << std::endl;
> ost << " Channels................ " << config->chans << std::endl;
> ost << " Samples-per-Symbol...... " << config->sps << std::endl;
> - ost << " External Reference...... " << refstr << std::endl;
> - ost << " C0 Filler Table......... " << fillstr << std::endl;
> - ost << " Diversity............... " << divstr << std::endl;
> + ost << " External Reference...... " << (config->extref ? "Enabled" : "Disabled") << std::endl;
> + ost << " C0 Filler Table......... " << (config->filler ? "Enabled" : "Disabled") << std::endl;
> + ost << " Diversity............... " << (config->diversity ? "Enabled" : "Disabled") << std::endl;
> ost << " Tuning offset........... " << config->offset << std::endl;
> std::cout << ost << std::endl;
Please put whitespace / formatting changes in a separate patch. Osmocom
projects generally use kernel style, which becomes somewhat odd and less
strict in the context of C++. In this case, the code change is fine, but don't
add it to an already massive patch.
-TT
"--disable-talloc" had the effect of a "--enable-system-talloc".
So the first patch fixes up all the link failures by adding -ltalloc
where needed, _for the case that one decides to use disable-talloc_.
Second patch will use pkg-config to determine the parameters for
a system talloc. These will be used unconditionally, because the
variables TALLOC_CFLAGS/TALLOC_LIBS will be empty when using the
bundled talloc.
===
The following changes since commit c60de4f35f3f73f3d79b4ff61d0a20b92f818702:
build: fix linker error with kasumi_test (2014-10-03 08:48:31 +0200)
are available in the git repository at:
git://git.inai.de/libosmocore HEAD
for you to fetch changes up to d6c1607a724a07416c7d39f9b43f7af7349de666:
build: default to system-provided talloc (2014-10-03 12:43:25 +0200)
----------------------------------------------------------------
Jan Engelhardt (3):
build: resolve link failure in libosmogsm when --disable-talloc is used
build: allow using a system-provided talloc properly
build: default to system-provided talloc
.gitignore | 1 +
configure.ac | 26 +++++++++++++++++++------
include/Makefile.am | 5 +++--
include/osmocom/core/talloc.h.in | 6 ++++++
include/osmocom/core/{talloc.h => talloc_int.h} | 0
src/Makefile.am | 7 ++++---
src/gsm/Makefile.am | 5 +++--
tests/Makefile.am | 12 ++++++------
tests/msgfile/msgfile_test.c | 1 +
9 files changed, 44 insertions(+), 19 deletions(-)
create mode 100644 include/osmocom/core/talloc.h.in
rename include/osmocom/core/{talloc.h => talloc_int.h} (100%)
The following changes since commit 603f6c40d55b87f81fbd8ff1ad7b9568f3b962ff:
build: rename INCLUDES to AM_CPPFLAGS in Makefile.am to avoid warnings (2014-09-11 18:22:02 +0200)
are available in the git repository at:
git://git.inai.de/libosmo-netif HEAD
for you to fetch changes up to 226e99483234c100e5a18ea12838d98a3b091de6:
build: remove all_includes (2014-10-02 23:22:55 +0200)
----------------------------------------------------------------
Jan Engelhardt (2):
build: put dependency libraries in the right place in Makefiles
build: remove all_includes
Makefile.am | 1 -
examples/Makefile.am | 2 +-
examples/channel/Makefile.am | 2 +-
src/Makefile.am | 6 +++---
src/channel/abis/Makefile.am | 5 +++--
tests/Makefile.am | 2 +-
tests/osmo-pcap-test/Makefile.am | 2 +-
7 files changed, 10 insertions(+), 10 deletions(-)
The following changes since commit 336915aa0a86316ba26cdfecbf160ed643ccf301:
prepare for 0.7.0 release (2014-08-21 15:53:20 +0200)
are available in the git repository at:
git://git.inai.de/libosmocore HEAD
for you to fetch changes up to 0929c5b1d3ae71fb600120fd5c60221495b8391c:
build: fix linker error with kasumi_test (2014-10-02 22:33:24 +0200)
----------------------------------------------------------------
Jan Engelhardt (5):
utils: resolve compiler warnings on implicit declarations
build: resolve link failure in libosmogsm when --disable-talloc is used
build: always install our talloc.h
build: remove unused all_includes and use AM_CPPFLAGS
build: fix linker error with kasumi_test
Makefile.am | 1 -
include/Makefile.am | 2 --
src/Makefile.am | 3 ++-
src/codec/Makefile.am | 3 ++-
src/gb/Makefile.am | 3 ++-
src/gsm/Makefile.am | 6 +++++-
src/vty/Makefile.am | 3 ++-
tests/Makefile.am | 6 +++---
utils/Makefile.am | 3 ++-
utils/osmo-auc-gen.c | 1 +
10 files changed, 19 insertions(+), 12 deletions(-)