Introduction
Time Division Multiple Access (TDMA) is a channel access method that enables multiple nodes to share the same frequency channel by dividing the signal into time slots. By dividing time into slots, TDMA enables efficient sharing of network resources while avoiding packet collisions.
This article will help you:
Parameter values
We use the following example parameters in our calculations:
- Slot Duration: 20ms (milliseconds)
- Guard Interval: 100 microseconds (µs)
- Data Symbol Rate: 100kBd (kilobaud - symbols per second)
- Modulation: QPSK (Quadrature Phase Shift Keying, modulation order = 2)
- Coding Rate: 1/2 (one information bit for every two transmitted bits)
Obtaining the link capacity
Compute the slot capacity


A TDMA frame consists of: (i) Data transmission period, and (ii) Guard interval - to prevent interference between adjacent slots and to allow for propagation delay.

Determine the effective time period (t_s) including guard interval.

Calculate the link capacity

Throughput Estimation: Two nodes, one transmitting node, one application, round robin scheduling, static routing
Since there are two nodes and the scheduling is round robin, one slot in every two would be allotted to the transmitting node.

Therefore the maximum throughput would be equal to the half the link capacity calculated earlier.
The actual throughput would depend on:
a. Traffic generation rate
b. Packet Size
Recall that the Physical (PHY) layer packet size is the sum of application layer data and protocol overhead from all layers.
Two scenarios arise:
In NetSim, the overheads are UDP - 8, IP - 20, and this totals 28 B. We need to factor these overheads to obtain the Application throughput

Let us now consider the cases where the packet size is 200B and 1400B. We know that the capacity per node is 99.5/2 = 49.75 Kbps.
# 1: 200B
Total Packet Size = 200B + 28B = 228B
Number of Slots Required = ⌈228B / 250B⌉ = 1 slot
Predicted Application Throughput = (200/228) × (99.50/2) kbps = 43.64 kbps
#2: 1400B
Total Packet Size = 1400B + 28B = 1428B
Number of Slots Required = ⌈1428B / 250B⌉ = 6 slots
Predicted Application Throughput = (1400/1428) × (99.50/2) kbps = 48.77 kbps
| App Layer Pkt size [B] | Inter Arrival Time [microseconds] | Traffic Gen Rate [kbps] | NetSim Throughput [kbps] |
| 200 | 80000 | 20 | 20.00 |
| 200 | 32000 | 50 | 43.69 |
| 1400 | 560000 | 20 | 20.00 |
| 1400 | 224000 | 50 | 48.83 |
These calculations assume that all slots are dedicated solely to data transmission, with no slots allocated to 'control' packets. This assumption holds true when static routing is enabled in NetSim. However, if an ad hoc protocol such as AODV or OLSR is used, the throughput will be lower than the maximum estimate, as some slots will be utilized for routing control packets.
There may be a small difference between the predicted and actual results because the last slot might not be fully utilized for data since the last fragment might be less than the slot capacity.
We can see from the above calculations that packet size needs to be carefully optimized depending on your application.
Throughput Estimation: Multiple transmitting nodes, one application per node, round robin scheduling, single hop transmission, static routing

The maximum capacity per node is the maximum link capacity divided by the number of nodes

CapacityPerNode = LinkCapacity / 3 = 33.17 kbps per node
This represents the maximum throughput that the network can offer each node. However, the actual throughput seen by each node will be similar to the throughput estimation calculations shown earlier.
Let us consider a case with 3 nodes, N1, N2 and N3, and one application at each node i.e., N1 > N2, N2 > N3 and N3 > N1.
As with the earlier case, let us consider cases where the packet size is:
# 1: 200B
Total Packet Size = 200B + 28B = 228B
Predicted Application Throughput = (200/228) × 33.17 kbps = 29.09 kbps per node
# 2: 1400B
Total Packet Size = 1400B + 28B = 1428B
Predicted Application Throughput = (1400/1428) × 33.17 kbps = 32.52 kbps per node
| App Layer Pkt size [B] (App1, App2, App3) | Inter Arrival Time [microsecond] (App1, App2, App3) | Traffic Gen Rate [kbps] (App1, App2, App3) | NetSim Throughput [kbps] (App1, App2, App3) |
| 200, 200, 200 | 80000, 80000, 80000 | 20, 20, 20 | 20, 20, 20 |
| 200, 200, 200 | 32000, 32000, 32000 | 50, 50, 50 | 29.07, 29.09, 29.07 |
| 1400, 1400, 1400 | 560000, 560000, 560000 | 20, 20, 20 | 19.93, 19.93, 19.93 |
| 1400, 1400, 1400 | 2240000, 2240000, 2240000 | 50, 50, 50 | 32.48, 32.48, 32.48 |
Throughput Estimation: Multiple transmitting nodes, multiple applications per node, round robin scheduling, single hop transmission, static routing
Let us consider a case with two nodes, where we have two applications from N1. Due to RR scheduling slots alternate between N1 and N2. Within the N1 slots, allocation between App1 and App2 depends on inter-packet arrival times of each application as shown below.

Example: Case #1
App1 packet size = 200B,
App2 packet size = 200B.
App2 interpacket arrival time = 1/2* App1 Inter packet arrival time.
| App Layer Pkt size [B] (App1, App2, App3) | Inter Arrival Time [microsecond] (App1, App2, App3) | Traffic Gen Rate [kbps] (App1, App2, App3) | NetSim Throughput [kbps] (App1, App2, App3) |
| 200, 200, 200 | 80000, 40000, 80000 | 20, 40, 20 | 14.57, 29.12, 20 |
Example: Case #2
App1 packet size = 1400B,
App2 packet size = 200B.
App2 interpacket arrival time = 1/2*App1 Inter packet arrival time.

First, let's calculate slots needed for each application's packets:
For App1 (1400B packet):
For App2 (200B packet):
Now let's calculate throughput:
| App Layer Pkt size [B] (App1, App2, App3) | Inter Arrival Time [microsecond] (App1, App2, App3) | Traffic Gen Rate [kbps] (App1, App2, App3) | NetSim Throughput [kbps] (App1, App2, App3) |
| 1400, 200, 200 | 32000, 16000, 32000 | 350, 100, 50 | 36.96, 10.56, 43.55 |
We again reiterate that:
Conclusion
The throughput estimation of TDMA networks explained above involves:
Real-world TDMA networks face additional challenges such as random packet arrivals, pathloss, multipath fading, multi-hop transmission, node mobility, node joining and leaving etc. Given these multiple layers of complexity, accurate throughput estimation through analytical methods is impossible. This is where network simulation tools like NetSim can accurately account for various phenomena, provide accurate performance metrics and help optimize the network deployment.
Useful links
1. NetSim Dynamic TDMA library: https://tetcos.com/military-radio.html
2. Analytically Estimating Dynamic TDMA latency: https://tetcos.freshdesk.com/a/solutions/articles/14000155324