blob: 785e26bd46e8124327c8462c06b6db9afd95e0fa [file] [log] [blame]
Pau Espin Pedrol80726502018-03-06 16:15:24 +01001[[chapter_introduction]]
2== Overview
3
4[[intro_overview]]
5=== About OsmoTRX
6
7OsmoTRX is a C/C++ language implementation of the GSM radio modem,
8originally developed as the 'Transceiver' part of OpenBTS. This radio
9modem offers an interface based on top of UDP streams.
10
11
12The OsmoBTS bts_model code for OsmoTRX is called
13`osmo-bts-trx`. It implements the UDP stream interface of
14OsmoTRX, so both parts can be used together to implement a complete GSM
15BTS based on general-purpose computing SDR.
16
17As OsmoTRX is general-purpose software running on top of Linux, it is
18thus not tied to any specific physical hardware. At the time of this
19writing, OsmoTRX supports a variety of Lime Microsystems and Ettus USRP SDRs via
20the UHD driver, as well as the Fairwaves UmTRX and derived products.
21
22OsmoTRX is not a complete GSM PHY but 'just' the radio modem. This
23means that all of the Layer 1 functionality such as scheduling,
24convolutional coding, etc. is actually also implemented inside OsmoBTS.
25OsmoTRX is a software-defined radio transceiver that implements the Layer 1
26physical layer of a BTS comprising the following 3GPP specifications:
27
28* TS 05.01 "Physical layer on the radio path"
29* TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
30* TS 05.04 "Modulation"
31* TS 05.10 "Radio subsystem synchronization
32
33As such, the boundary between OsmoTRX and `osmo-bts-trx` is at
34a much lower interface, which is an internal interface of other more
35traditional GSM PHY implementations.
36
37Besides OsmoTRX, there are also other implementations (both Free
38Software and proprietary) that implement the same UDP stream based radio
39modem interface.
40
41[[fig-gprs-pcubts]]
42.GSM network architecture with OsmoTRX and OsmoBTS
43[graphviz]
44----
45digraph G {
46 rankdir=LR;
47 MS0 [label="MS"];
48 MS1 [label="MS"];
49 MS0->SDR[label="Um"];
50 MS1->SDR [label="Um"];
51 SDR -> OsmoTRX [label="Raw Samples"];
52 OsmoTRX->BTS [label="bursts over UDP"];
53 BTS->BSC [label="Abis"];
54 BSC->MSC [label="A"];
55 BTS->PCU [label="pcu_sock"];
56 PCU->SGSN [label="Gb"];
57 OsmoTRX [color=red];
58}
59----
Pau Espin Pedrole47d7e92018-07-05 18:21:33 +020060
61For more information see
62https://osmocom.org/projects/osmotrx/wiki/OsmoTRX