TDD

/ˌtiː diː ˈdiː/

n. "Single-frequency duplexing alternating uplink/downlink time slots unlike FDD paired spectrum."

TDD, short for Time Division Duplexing, transmits uplink and downlink over identical frequency channel by partitioning time into alternating transmit/receive slots (e.g., Bluetooth 625μs master/slave slots), enabling bidirectional communication without separate bands. Contrasts FHSS constant hopping by fixed-channel TDD within each hop, with guard times preventing TX-to-RX bleed—powers asymmetric traffic like LTE TDD (3:1 DL:UL) and WiFi 6 OFDMA resource units.

Key characteristics of TDD include: Single Frequency shared UL/DL band halves spectrum needs vs FDD; Dynamic Slot Allocation adjusts UL:DL ratio (WiMAX 3:1→1:3); Guard Periods prevent TX/RX switching transients; Frame Synchronization master dictates slot timing; Asymmetric Efficiency suits web browsing (80% DL) unlike voice FDD.

Conceptual example of TDD usage:

/* Bluetooth Classic TDD master/slave slot timing */
#define SLOT_DURATION_US  625
#define GUARD_TIME_US     150  // TX→RX ramp

volatile uint32_t system_clock;
uint8_t is_master = 1;

void tdd_frame() {
    // Master TX slot
    if (is_master) {
        rf_transmit_gfsk(tx_packet, packet_len);
        delay_us(SLOT_DURATION_US - GUARD_TIME_US);
        rf_switch_to_rx();  // T/R switch
        delay_us(GUARD_TIME_US);
        
        // Slave RX→TX response
        if (rf_receive(rx_packet, &rx_len, 400)) {
            process_rx_packet();
        }
    } else {
        // Slave RX slot
        rf_switch_to_rx();
        if (rf_receive(rx_packet, &rx_len, 400)) {
            rf_transmit_gfsk(tx_packet, rx_len);
        }
    }
    
    system_clock += SLOT_DURATION_US;
}

Conceptually, TDD slices time axis into master TX/slave RX alternation on fixed carrier—Bluetooth piconets synchronize via master's clock while LTE eNodeB broadcasts SFN (System Frame Number) dictating dynamic UL:DL via RRC signaling. Guard periods absorb PA ramp/LO settling unlike FDD duplexers; WiFi 6 TDD OFDMA assigns RUs per slot serving IoT asymmetry where PAN sensors upload sparingly versus streaming DL.