DEV Community

Cover image for How Cell Towers Share Spectrum: LTE Resource Blocks
Doogal Simpson
Doogal Simpson

Posted on Originally published at doogal.dev

How Cell Towers Share Spectrum: LTE Resource Blocks

Quick Answer: Mobile towers manage thousands of concurrent phone connections across limited radio spectrum by slicing a single channel (such as a 20 MHz band) across two dimensions: frequency subcarriers and 1-millisecond time slots. This produces thousands of discrete "resource blocks" per second, which the tower dynamically assigns only to devices with active data queues.

When I look at modern cellular network scheduling, I'm constantly reminded of operating system kernel thread scheduling. If you've ever written multi-threaded software or profiled CPU core utilization, you know how an OS kernel slices execution time into tiny time windows. Wireless engineers face the exact same concurrency challenge, but with a spatial twist: they have to slice both time and frequency across the open airwaves.

How Do Cell Towers Share Spectrum Across Hundreds of Devices?

Cell towers share spectrum by dividing a single radio channel into granular frequency and time units known as resource blocks. Rather than dedicating an entire frequency band to one device, the tower dynamically assigns these small sub-channel slices every millisecond based on real-time data needs.

When I analyze a standard 20 MHz 4G LTE channel, the baseline problem becomes clear: if a tower assigned that full 20 MHz pipe to a single phone until a download finished, every other phone connected to that sector would experience massive latency spikes and dropped connections.

To solve this, modern wireless protocols slice that 20 MHz channel into tiny subcarrier frequencies. Next, they chop time into 1-millisecond chunks. I find it helpful to think of the intersection between one frequency slice and one 1-millisecond time slice as a discrete allocation unit: what wireless engineers call a Resource Block.

What Are LTE Resource Blocks and How Are They Allocated?

An LTE resource block is the smallest unit of bandwidth assigned to a mobile device, consisting of specific frequency subcarriers scheduled over a 1-millisecond subframe. A cell tower continuously evaluates packet queues and broadcasts control messages every millisecond to allocate these blocks.

Every single millisecond, the tower's internal scheduler broadcasts a rapid control message across the sector. This message tells every connected device exactly which resource blocks are assigned to it for the upcoming millisecond window.

In a standard 20 MHz channel, a single sector provides roughly 100 resource blocks per millisecond. When I run the numbers on that scheduler—100 blocks every millisecond across 1,000 cycles per second—that is 100,000 discrete block allocation decisions made every single second from just one side of a mobile tower.

Here is how I contrast wireless resource block scheduling with traditional radio multiplexing methods:

Multiplexing Method Allocation Dimension Granularity Primary Advantage
Time-Division (TDM) Time slots Fixed time windows Simple deterministic scheduling
Frequency-Division (FDM) Frequency bands Fixed frequency sub-bands Zero cross-talk between channels
Resource Block (OFDMA) Time + Frequency 1ms x Subcarrier slices Maximum spectrum utilization

How Does Cellular Scheduling Compare to CPU Thread Scheduling?

Cellular scheduling extends traditional CPU time-slicing into two dimensions by distributing bandwidth across both time windows and frequency spectrum. While an OS kernel assigns CPU cycles to threads, a cell tower assigns frequency-time blocks based on active device demand.

When I compare cellular scheduling to operating system thread scheduling, the key distinction I highlight is the multi-dimensional nature of radio airwaves. An OS kernel schedules thread execution almost exclusively across a single time domain per core. A wireless scheduler must orchestrate allocations across both the time domain and the frequency domain simultaneously.

Most connected mobile devices sit idle in our pockets for the majority of the day. Because of this asymmetrical traffic pattern, I think assigning static bandwidth to every connected phone would be an absolute waste of radio spectrum.

If a phone is sitting idle, the tower allocates zero resource blocks to it, keeping it registered purely via lightweight control pings. But the moment you stream a video or request a network payload, the scheduler detects packets waiting in the queue and instantly assigns a large bundle of resource blocks in the very next millisecond subframe.

Frequently Asked Questions

How many resource blocks are available in a 20 MHz LTE channel?

A standard 20 MHz 4G LTE channel typically contains 100 active resource blocks per 1-millisecond subframe. This allows a cell tower sector to process up to 100,000 individual resource block allocations every second.

What happens when multiple phones request data at the exact same time?

When multiple devices request data simultaneously, the tower's scheduler prioritizes requests based on Quality of Service (QoS) rules and packet queue depths. It then distributes the 100 available resource blocks among those active devices within that specific 1-millisecond window.

Why don't radio signals from different phones interfere with each other?

Radio signals avoid interference using Orthogonal Frequency-Division Multiple Access (OFDMA). OFDMA ensures that subcarrier frequencies are mathematically orthogonal and do not overlap, while the central tower explicitly manages which phone broadcasts on which resource block at any given millisecond.

Top comments (0)