Time Division Multiplexing (TDM)

alpharithms fallback 1

Time Division Multiplexing (TDM) is used in circuit-switched networks to reserve network resources for end systems to transmit data. Reserved time is allocated in cycling time frames in which network devices are permitted to transmit data across the network.

Time frames are divided into slots which are then assigned to networked devices. Each network device is assigned a single time slot within a frame such that the total time slots per frame will always be equal to the number of network connections. During each time frame, a network device is only permitted to transmit data during its assigned time slot.

In the illustration below, a segment of time has been divided into 2 frames. Given 4 network connections, each frame is sub-divided into 4 slots—1 for each connection. During each frame, connections are permitted to send/receive data during their allocated time slot only and also require a period of time to establish a connection.

time division multiplexing
TDM provides cyclical reserved resources for each network device within time frames

One advantage of TDM is predictable transmission rates and network availability. One downside is that network resources may be underutilized during times which one or more connections are not transmitting data. TDM is similar to frequency-division multiplexing in this way.

Certain cellular networks like GSM use TDM to allow communication between multiple connections to be transmitted across the same frequency. Other applications include left-right channel sampling in audio transmissions (RIFF, WAV), and Synchronous Digital Hierarchy (SDH).

TDM offers both synchronous and asynchronous division. The above illustration depicts a synchronous division such that each frame has a determined order in which it transmits data from sources. Slot 1 would be assigned to source 1 and always be the first slot in a frame.

In asynchronous TDM; each frame would still contain slots1-4 but they could be arranged in any order. For example, {slot2, slot3, slot4, slot1}.

Zαck West
Seasoned engineer with a decade of specializing in Python and backend services for scalable applications, leveraging reusable patterns, OOP, and TDD. Strong background in Full-Stack development, design, and digital marketing. Talk to me about deep reinforcement learning, trading algorithms, web scraping, and meditation.