aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-01-25 02:41:35 +0100
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-01-25 02:41:35 +0100
commit951933add9a6fc7caf0435954ed1bbd148fb4ed8 (patch)
tree4c70ab4a8095b6c0cf825d7f2a7160a26dd93d76
parent62505d54a0850908265ebdc9209299bbca596792 (diff)
TRXD: add initial proposal for TRXDv2 (WIP)fixeria/TRXDv2
-rw-r--r--common/chapters/trx_if.adoc155
1 files changed, 152 insertions, 3 deletions
diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc
index 222e434..f116a78 100644
--- a/common/chapters/trx_if.adoc
+++ b/common/chapters/trx_if.adoc
@@ -342,8 +342,8 @@ before `POWERON`, but can be also done afterwards.
=== TRXD protocol
-Messages on the data interface carry one radio burst per UDP message. Two
-kinds of such messages exist:
+PDUs on the data interface carry one or multiple radio bursts per UDP message.
+Two kinds of such messages exist:
* `TRX -> L1` (from transceiver to the L1): Uplink messages received from the MS,
* `L1 -> TRX` (from the L1 to transceiver): Downlink messages sent to the MS.
@@ -411,6 +411,11 @@ The following versions are defined so far:
** New field: MTS (Modulation and Training Sequence);
** New field: C/I (Carrier-to-interface) ratio;
** Downlink messages mostly unchanged.
+* TRXDv2 (proposed in January 2021):
+** Introduced the concept of burst batching (many bursts in one message);
+** Changed the field ordering (facilitating aligned access);
+** New field: batching indicator;
+** New field: SCPIR for VAMOS.
==== Uplink Data Burst
@@ -473,6 +478,47 @@ padding existence is completely dropped.
}
----
+.TRXDv2 Uplink message structure
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: VER(2)
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-23: SPARE (0)
+ 24-31: RSSI
+ 32-47: TOA256
+ 48-63: C/I
+ 64-95: FN
+ 96-127: Soft-bits [colheight = 3]
+}
+----
+
+.TRXDv2 Uplink message structure (batched part)
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: SPARE (0)
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-23: SPARE (0)
+ 24-31: RSSI
+ 32-47: TOA256
+ 48-63: C/I
+ 64-95: Soft-bits [colheight = 3]
+}
+----
+
RSSI: 8 bits (1 byte)::
Received Signal Strength Indication in -dBm, encoded without the negative sign.
@@ -569,7 +615,7 @@ a TS set indicated by the preceding bits.
==== Downlink Data Burst
-.TRXD Downlink data burst message structure
+.TRXDv0 and TRXDv1 Downlink data burst message structure
[packetdiag]
----
{
@@ -585,11 +631,114 @@ a TS set indicated by the preceding bits.
}
----
+.TRXDv2 Downlink data burst message structure
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: VER
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-23: SPARE (0)
+ 24-31: PWR
+ 32-63: FN
+ 64-95: Hard-bits [colheight = 3]
+}
+----
+
+.TRXDv2 Downlink data burst message structure (batched part)
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: SPARE (0)
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-23: SPARE (0)
+ 24-31: PWR
+ 32-63: Hard-bits [colheight = 3]
+}
+----
+
+.TRXDv2 Downlink data burst message structure for AQPSK
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: VER
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-19: SPARE (0)
+ 20-23: SCPIR
+ 24-31: PWR
+ 32-63: FN
+ 64-95: Hard-bits for V0/V1 [colheight = 3]
+}
+----
+
+.TRXDv2 Downlink data burst message structure (batched part) for AQPSK
+[packetdiag]
+----
+{
+ colwidth = 32
+ node_height = 40
+
+ 0-3: SPARE (0)
+ 4: RES [rotate = 270]
+ 5-7: TN
+ 8-15: MTS
+ 16: BATCH [rotate = 270]
+ 17-19: SPARE (0)
+ 20-23: SCPIR
+ 24-31: PWR
+ 32-63: Hard-bits for V0/V1 [colheight = 3]
+}
+----
+
PWR: 8 bits (1 byte)::
Contains the relative (to the full-scale amplitude) transmit power *reduction*
in dB. The absolute value is set on the control interface, so the resulting
power is calculated as follows: `full_scale - (absolute_red + relative_red)`.
+SCPIR: 4 bits::
+SCPIR (Subchannel Power Imbalance Ratio) - the ratio of power between Q and I
+channels for a VAMOS pair. Value range: 0 .. 10. This field shall be present
+when `MTC` field indicates the use of _AQPSK_ modulation. Otherwise all bits
+shall be set to 0.
+
Hard-bits: 148 bytes for GSM, 444 bytes for EDGE::
Contains the downlink burst. Each hard-bit (1 or 0) of the burst is represented
using one byte (0x01 or 0x00 respectively).
+
+Hard-bits for V0/V1: 148 bytes each, 296 bytes total::
+This field contains two sequences of hard-bits (148 bytes each) for an _AQPSK_
+moduleted burst (VAMOS mode). The two sequences are *not* interleaved: one
+complete sequence for subscriber `V0` takes the first 148 bytes, then another
+complete sequence for subscriber `V1` takes the subsequent 148 bytes.
+
+[[trx_if_pdu_batching]]
+==== Burst batching
+
+Starting from TRXDv2, it's possible to combine several bursts into a single
+PDU - this is called _burst batching_. The purpose of FIXME
+
+The ordering of bursts may be different with the only requirement that all
+_batched_ bursts must belong to the same TDMA frame number indicated in the
+first part. Thus the following combinations are possible:
+
+* one PDU contains bursts of the same TDMA timeslot for all transceivers;
+* one PDU contains complete TDMA frame with all timeslots:
+** either for a single transceiver,
+** or for all transceivers.