Pau Espin Pedrol | 8072650 | 2018-03-06 16:15:24 +0100 | [diff] [blame] | 1 | [[chapter_introduction]] |
| 2 | == Overview |
| 3 | |
| 4 | [[intro_overview]] |
| 5 | === About OsmoTRX |
| 6 | |
| 7 | OsmoTRX is a C/C++ language implementation of the GSM radio modem, |
| 8 | originally developed as the 'Transceiver' part of OpenBTS. This radio |
| 9 | modem offers an interface based on top of UDP streams. |
| 10 | |
| 11 | |
| 12 | The OsmoBTS bts_model code for OsmoTRX is called |
| 13 | `osmo-bts-trx`. It implements the UDP stream interface of |
| 14 | OsmoTRX, so both parts can be used together to implement a complete GSM |
| 15 | BTS based on general-purpose computing SDR. |
| 16 | |
| 17 | As OsmoTRX is general-purpose software running on top of Linux, it is |
| 18 | thus not tied to any specific physical hardware. At the time of this |
| 19 | writing, OsmoTRX supports a variety of Lime Microsystems and Ettus USRP SDRs via |
| 20 | the UHD driver, as well as the Fairwaves UmTRX and derived products. |
| 21 | |
| 22 | OsmoTRX is not a complete GSM PHY but 'just' the radio modem. This |
| 23 | means that all of the Layer 1 functionality such as scheduling, |
| 24 | convolutional coding, etc. is actually also implemented inside OsmoBTS. |
| 25 | OsmoTRX is a software-defined radio transceiver that implements the Layer 1 |
| 26 | physical 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 | |
| 33 | As such, the boundary between OsmoTRX and `osmo-bts-trx` is at |
| 34 | a much lower interface, which is an internal interface of other more |
| 35 | traditional GSM PHY implementations. |
| 36 | |
| 37 | Besides OsmoTRX, there are also other implementations (both Free |
| 38 | Software and proprietary) that implement the same UDP stream based radio |
| 39 | modem interface. |
| 40 | |
| 41 | [[fig-gprs-pcubts]] |
| 42 | .GSM network architecture with OsmoTRX and OsmoBTS |
| 43 | [graphviz] |
| 44 | ---- |
| 45 | digraph 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 Pedrol | e47d7e9 | 2018-07-05 18:21:33 +0200 | [diff] [blame] | 60 | |
| 61 | For more information see |
| 62 | https://osmocom.org/projects/osmotrx/wiki/OsmoTRX |