63 lines
2.2 KiB
Plaintext
63 lines
2.2 KiB
Plaintext
[[chapter_introduction]]
|
|
== Overview
|
|
|
|
[[intro_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.
|
|
|
|
[[fig-gprs-pcubts]]
|
|
.GSM network architecture with OsmoTRX and OsmoBTS
|
|
[graphviz]
|
|
----
|
|
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
|
|
https://osmocom.org/projects/osmotrx/wiki/OsmoTRX
|