Skip to content

Small Cells & HetNets — Network Densification Guide

DodaTech Updated 2026-06-24 5 min read

In this tutorial, you'll learn about Small Cells & HetNets. We cover key concepts, practical examples, and best practices.

Small cells are low-power, short-range cellular base stations deployed to fill coverage gaps and add capacity in dense areas — forming Heterogeneous Networks (HetNets) where macrocells provide wide-area coverage and small cells handle local capacity demands.

What You'll Learn

  • Small cell types: femtocell, picocell, microcell, and their roles
  • HetNet architecture: macro + small cell deployments
  • Interference management: eICIC, FeICIC, CRE, Almost Blank Subframes
  • CoMP (Coordinated Multi-Point) transmission/reception
  • Backhaul options for small cells: fiber, microwave, mmWave

Why Small Cells Matter

Macrocells can't scale to meet 5G capacity demands. A single macrocell covers 5-30 km but serves at most a few hundred simultaneous users. In a stadium with 50,000 people or a downtown block with thousands of devices, small cells are essential. By 2026, over 80% of 5G data traffic is served by small cells. Network densification is the primary strategy for achieving multi-Gbps per user.

Durga Antivirus Pro applies HetNet interference management principles in its endpoint security mesh — low-power agent nodes handle local monitoring while a central console manages policy and threat correlation.

Learning Path

flowchart LR
  A[Traditional Macro RAN] --> B[Capacity Challenges]
  B --> C[Small Cell Types
You are here] C --> D[HetNet Architecture] C --> E[eICIC & Interference Mgmt] D --> F[5G Ultra-Dense Networks] style C fill:#f90,color:#fff

Small Cell Types

flowchart TD
  Small_Cells[Small Cells] --> Femto[Femtocell]
  Small_Cells --> Pico[Picocell]
  Small_Cells --> Micro[Microcell]
  Small_Cells --> Metro[Metrocells]
  Femto --> F1["Range: 10-50m
Users: 4-16
Power: <0.25W
Backhaul: Broadband/FTTH"] Pico --> P1["Range: 100-300m
Users: 32-64
Power: 0.25-5W
Backhaul: Fiber/Ethernet"] Micro --> M1["Range: 500m-2km
Users: 64-128
Power: 5-10W
Backhaul: Fiber/Microwave"]
Type Coverage Users Power Deployment Backhaul
Femtocell 10-50m 4-16 <0.25 W Home/SOHO Broadband (DSL/cable)
Picocell 100-300m 32-64 0.25-5 W Enterprise, mall, airport Ethernet/fiber
Microcell 500m-2km 64-128 5-10 W Street furniture, lampposts Fiber, microwave
Metrocell 200-500m 64-128 2-5 W Outdoor urban, stadiums Fiber

HetNet Architecture

flowchart TD
  Macro[Macro eNB/gNB
Wide area, 10W] --> Core[EPC / 5GC] Pico[Picocell
Hotspot capacity] --> Core Femto[Femtocell
Indoor coverage] --> Core Macro -- X2 inter-cell interference --> Pico Macro -. X2 .-> Femto UE1[UE] --> Macro UE2[UE] --> Pico UE3[UE] --> Femto

Interference Management: eICIC

In a HetNet, a macrocell and picocell on the same frequency cause interference. eICIC (enhanced Inter-Cell Interference Coordination) solves this:

sequenceDiagram
    Macro->>Pico: X2: ICIC info, ABS pattern
    Macro->>Pico: ABS subframes (subframes 1,2,5,6)
    Note over Macro: ABS: No macro data, only CRS
    Pico->>UE: Schedule cell-edge UEs during ABS
    Macro->>UE: Schedule macro UEs on non-ABS
    UE->>Pico: Received data on ABS (clean)

Almost Blank Subframes (ABS)

The macrocell transmits "blank" subframes where it sends only the minimum required reference signals. During these subframes, picocell edge users can receive data with minimal macro interference:

class eICIC_Coordinator:
    def __init__(self):
        self.abs_ratio = 0.4
        self.macro_ues = []
        self.pico_ues = []

    def configure_abs(self, subframe_count=40):
        abs_mask = [i < subframe_count * self.abs_ratio for i in range(subframe_count)]
        abs_count = sum(abs_mask)
        print(f"[X2] ABS pattern: {abs_count}/{subframe_count} subframes blanked")
        for sf in range(subframe_count):
            if abs_mask[sf]:
                print(f"[Macro] Subframe {sf}: ABS (CRS only)")
        return abs_mask

    def schedule_pico_edge(self, ue_rsrp, macro_rsrp, abs_active):
        if abs_active and ue_rsrp > macro_rsrp - 6:
            print(f"[Pico] Schedule edge UE during ABS -> throughput: 50 Mbps")
            return True
        elif not abs_active:
            print(f"[Pico] Full subframe: interference from macro")
            return False

eicic = eICIC_Coordinator()
abs_mask = eicic.configure_abs(40)
eicic.schedule_pico_edge(-85, -95, True)

Expected output:

[X2] ABS pattern: 16/40 subframes blanked
[Macro] Subframe 0: ABS (CRS only)
[Macro] Subframe 1: ABS (CRS only)
[Pico] Schedule edge UE during ABS -> throughput: 50 Mbps

CoMP (Coordinated Multi-Point)

CoMP allows multiple cells to coordinate transmissions to a single UE:

CoMP Type Description Benefit
CS/CB Coordinated Scheduling / Coordinated Beamforming Adjacent cells choose different beams to reduce interference
JP (Joint Processing) Multiple cells transmit the same data simultaneously Cell-edge throughput increases 2-3x
DPS Dynamic Point Selection Best cell serves UE at each subframe

Small Cell Backhaul Options

Backhaul Type Capacity Latency Deployment Cost
Fiber 10+ Gbps <1ms High
mmWave (60/70 GHz) 1-10 Gbps <1ms Medium
Microwave (6-42 GHz) 50-500 Mbps 1-5ms Low
Copper (G.fast) 1 Gbps 1-2ms Existing infra

Common Errors

1. Deploying Small Cells Without Interference Planning

Putting a pico inside a macro's coverage on the same frequency without eICIC or FeICIC causes severe interference at cell edges, making performance worse than macro-only.

2. Underestimating Backhaul Cost

Fiber to every lamp post is expensive. Many small cell deployments fail because the backhaul cost exceeds the revenue from additional capacity.

3. Ignoring Site Acquisition Complexity

Installing small cells on street furniture requires permits, power agreements, and aesthetic approvals — often taking 6-12 months per site.

4. Overloading the Macro with Control Signaling

In HetNets, small cells can handle user data while the macro handles control signaling (C-plane/U-plane split). If not configured, the macro becomes the signaling bottleneck.

Practice Questions

  1. What is the difference between a picocell and a femtocell? Picocell: enterprise, 100-300m, 32-64 users, backhaul fiber. Femtocell: home, 10-50m, 4-16 users, backhaul broadband.

  2. What problem does eICIC solve in HetNets? Interference between macrocell and small cells on the same frequency. ABS subframes protect picocell edge UEs from macro interference.

  3. What is CoMP joint processing? Multiple cells transmit the same data simultaneously to a UE, dramatically improving cell-edge throughput.

Challenge: Design a HetNet for a 50,000-seat stadium. Specify: number of macrocells, picocells, femtocells, their placement, frequency allocation (macro on 700 MHz, small cells on 3.5 GHz), backhaul plan, and interference management strategy (eICIC + CoMP DPS).

FAQ

How many small cells does a 5G network need?

In dense urban areas, 40-60 small cells per km². Compare to 2-5 macrocells per km² for 4G.

Are small cells only for 5G?

No. Small cells work with 2G/3G/4G/5G. Most early deployments are for 4G LTE capacity; 5G small cells add mmWave.

What is a C-RAN (Centralized RAN) in HetNets?

Baseband processing from multiple small cells is centralized in a BBU hotel, while remote radio heads (RRHs) remain at the cell sites. This reduces equipment cost and enables CoMP.


Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-24.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro