path: root/doc/manuals/chapters/overview.adoc
diff options
Diffstat (limited to 'doc/manuals/chapters/overview.adoc')
1 files changed, 62 insertions, 0 deletions
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
new file mode 100644
index 0000000..785e26b
--- /dev/null
+++ b/doc/manuals/chapters/overview.adoc
@@ -0,0 +1,62 @@
+== Overview
+=== About OsmoTRX
+OsmoTRX is a C/C++ language implementation of the GSM radio modem,
+originally developed as the 'Transceiver' part of OpenBTS. This radio
+modem offers an interface based on top of UDP streams.
+The OsmoBTS bts_model code for OsmoTRX is called
+`osmo-bts-trx`. It implements the UDP stream interface of
+OsmoTRX, so both parts can be used together to implement a complete GSM
+BTS based on general-purpose computing SDR.
+As OsmoTRX is general-purpose software running on top of Linux, it is
+thus not tied to any specific physical hardware. At the time of this
+writing, OsmoTRX supports a variety of Lime Microsystems and Ettus USRP SDRs via
+the UHD driver, as well as the Fairwaves UmTRX and derived products.
+OsmoTRX is not a complete GSM PHY but 'just' the radio modem. This
+means that all of the Layer 1 functionality such as scheduling,
+convolutional coding, etc. is actually also implemented inside OsmoBTS.
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+* TS 05.01 "Physical layer on the radio path"
+* TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+* TS 05.04 "Modulation"
+* TS 05.10 "Radio subsystem synchronization
+As such, the boundary between OsmoTRX and `osmo-bts-trx` is at
+a much lower interface, which is an internal interface of other more
+traditional GSM PHY implementations.
+Besides OsmoTRX, there are also other implementations (both Free
+Software and proprietary) that implement the same UDP stream based radio
+modem interface.
+.GSM network architecture with OsmoTRX and OsmoBTS
+digraph G {
+ rankdir=LR;
+ MS0 [label="MS"];
+ MS1 [label="MS"];
+ MS0->SDR[label="Um"];
+ MS1->SDR [label="Um"];
+ SDR -> OsmoTRX [label="Raw Samples"];
+ OsmoTRX->BTS [label="bursts over UDP"];
+ BTS->BSC [label="Abis"];
+ BSC->MSC [label="A"];
+ BTS->PCU [label="pcu_sock"];
+ PCU->SGSN [label="Gb"];
+ OsmoTRX [color=red];
+For more information see