412  WSN Coverage: Crossing Theory and OGDC

Imagine you’re setting up security cameras in a museum. You want to make sure every corner is visible to at least one camera - no blind spots! But cameras are expensive and use power, so you don’t want to buy more than necessary. That’s exactly the coverage problem in sensor networks.

Think of it like organizing a neighborhood watch: - Every street needs at least one house watching it - Some streets are more important (need multiple watchers for backup) - Watchers need breaks (sensors sleep to save battery) - You want to schedule shifts so someone is always watching

Wireless Sensor Networks (WSN) face the same challenge: scatter hundreds of tiny sensors across a farm, forest, or building and make sure every spot is monitored while maximizing battery life.

Term Simple Explanation
Coverage Every spot in the monitored area is within range of at least one sensor
Crossing Point where two sensor detection circles overlap - important for verifying coverage
OGDC Smart algorithm that figures out which sensors to turn on for complete coverage

Why this matters: Whether monitoring crops, tracking wildlife, detecting forest fires, or securing buildings, coverage algorithms ensure nothing falls through the cracks while making batteries last months or years instead of days.

412.1 Learning Objectives

By the end of this chapter, you will be able to:

  • Apply Crossing Coverage Theory: Use Zhang & Hou theorem to verify complete area coverage
  • Identify Coverage Gaps: Analyze sensor deployments to find uncovered crossings and boundary points
  • Implement OGDC Algorithm: Deploy the Optimal Geographical Density Control algorithm for coverage
  • Calculate Optimal Spacing: Determine the √3 × Rs spacing for triangular lattice patterns
  • Design Distributed Activation: Create self-organizing sensor networks that minimize active nodes

412.2 Prerequisites

Before diving into this chapter, you should be familiar with:

  • WSN Coverage: Fundamentals: Understanding of coverage definitions, area/point/barrier coverage types, and the coverage-connectivity relationship is required for implementing coverage algorithms
  • WSN Overview: Fundamentals: Knowledge of energy management, duty cycling, and network lifetime metrics is essential for understanding coverage optimization strategies
  • Wireless Sensor Networks: Familiarity with WSN deployment models and network topologies provides context for practical coverage implementation scenarios

412.3 Coverage Maintenance Algorithms

15 min | Intermediate | P05.C27.U01

Difficulty: Intermediate | Prerequisites: Coverage fundamentals, basic algorithms

Real-World Performance: Singapore Smart Nation 2024 - 45,000 environmental sensors: - Crossing-based verification: Checks 8,100 crossings (N squared) vs 450M grid points = 55,555x faster verification - Computation time: 3.2 seconds vs 48 hours for exhaustive grid verification - Coverage validation: Runs hourly, detecting gaps within 1 hour of sensor failures - Repair time: 85% of gaps filled automatically via sleeping sensor activation within 15 minutes

412.3.1 Crossing Coverage Theory

Sensor coverage crossings
Figure 412.1: Crossings in sensor coverage - points where sensing ranges of multiple sensors intersect, critical for ensuring complete area coverage
Uncovered crossings example
Figure 412.2: Example of uncovered crossings in sensor network - gaps in coverage occur when sensor ranges do not overlap at boundary points

Theorem (Zhang & Hou):

A continuous region is completely covered if and only if: 1. There exist crossings in the region 2. Every crossing is covered

Definitions:

Crossing:
Intersection point between: - Two sensor coverage disk boundaries, OR - Monitored space boundary and a disk boundary

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%

graph TB
    subgraph Coverage["Coverage Verification"]
        Grid[Grid Points<br/>Infinite] -->|Too many| Cross[Crossing Points<br/>Finite O N-squared]
        Cross -->|Check| Verify{All crossings<br/>covered?}
    end

    Verify -->|Yes| Complete[Complete<br/>Coverage OK]
    Verify -->|No| Gaps[Coverage<br/>Gaps Found]

    style Grid fill:#7F8C8D,stroke:#2C3E50,color:#fff
    style Cross fill:#16A085,stroke:#2C3E50,color:#fff
    style Complete fill:#16A085,stroke:#2C3E50,color:#fff
    style Gaps fill:#E67E22,stroke:#2C3E50,color:#fff

Figure 412.3: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

Crossing-based coverage verification (Zhang & Hou theorem): instead of checking infinite area points, verify coverage at finite crossing points where sensor boundaries intersect. If all crossings covered, entire area covered.

Why Crossings Matter:

If all crossings are covered, then all points are covered. This reduces the coverage verification problem from checking infinite points to checking finite crossings.

Practical Algorithm:

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'secondaryColor': '#16A085', 'tertiaryColor': '#E67E22'}}}%%

flowchart TD
    Start([Deploy Sensors<br/>Randomly]) --> InitCheck{Any crossings<br/>exist?}
    InitCheck -->|No| NoCoverage[Coverage<br/>Impossible]
    InitCheck -->|Yes| FindCross[Identify All<br/>Crossing Points]

    FindCross --> TypeCheck{Crossing Type}
    TypeCheck -->|Disk-Disk| DD[Intersection of<br/>2 sensor circles]
    TypeCheck -->|Disk-Boundary| DB[Intersection of<br/>sensor + border]

    DD --> AddToList[Add to Crossing List]
    DB --> AddToList

    AddToList --> CheckCoverage{All crossings<br/>covered by<br/>1+ sensor?}
    CheckCoverage -->|Yes| Complete[Complete<br/>Coverage]
    CheckCoverage -->|No| Gaps[Coverage Gaps<br/>Activate More Sensors]

    Gaps --> Activate[Activate sensors<br/>near uncovered<br/>crossings]
    Activate --> FindCross

    style Start fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
    style Complete fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
    style Gaps fill:#E67E22,stroke:#2C3E50,stroke-width:2px,color:#fff
    style NoCoverage fill:#E67E22,stroke:#2C3E50,stroke-width:2px,color:#fff
    style CheckCoverage fill:#2C3E50,stroke:#16A085,stroke-width:2px,color:#fff
    style TypeCheck fill:#2C3E50,stroke:#16A085,stroke-width:2px,color:#fff

Figure 412.4: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

Crossing-based coverage verification algorithm: identifies all crossing points (sensor-sensor and sensor-boundary intersections), verifies each crossing is covered by at least one active sensor, activates additional sensors near gaps if needed. Complexity O(N squared) for N sensors (polynomial vs exponential for grid-based verification).

412.3.2 Optimal Geographical Density Control (OGDC)

Cross-Chapter Application: - WSN Tracking uses OGDC spacing (square root of 3 times Rs) for predictive sensor activation zones - Zigbee Architecture mesh networks benefit from OGDC-optimized router placement - LoRaWAN Gateway Placement applies triangular lattice for optimal coverage at 2-5km ranges

Production Deployment Example: Smart city Barcelona (2023): - Area: 100 km squared city center - Deployed: 12,000 sensors (environmental + traffic) - OGDC activation: 4,200 active sensors (35% duty cycle) - Coverage: 96.8% vs 98.2% all-active (1.4% reduction) - Battery life: 38 months vs 11 months all-active (3.5x extension) - Cost savings: 4.2M EUR over 5 years (battery replacement + maintenance)

OGDC algorithm overview

Modern visualization of OGDC algorithm showing distributed self-organization where sensors form triangular lattice pattern with optimal spacing achieving complete coverage with minimal active nodes

OGDC Algorithm

Geometric representation of Optimal Geographical Density Control showing sensor coverage disks organized in triangular lattice pattern for maximum efficiency

OGDC Algorithm
Figure 412.5: Optimal Geographical Density Control (OGDC) algorithm overview - distributed coverage algorithm that activates minimal sensors while ensuring complete area coverage

OGDC is a distributed, localized algorithm that achieves near-optimal coverage with minimal active sensors.

Key Idea:

Nodes self-organize into a triangular lattice pattern, which is provably near-optimal for disk coverage.

Optimal Spacing:

For sensors with sensing range \(R_s\), optimal spacing between active sensors is:

\[ d_{optimal} = \sqrt{3} \cdot R_s \]

This minimizes overlap while maintaining complete coverage.

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%

graph LR
    Start[Random<br/>Start Node] --> Broadcast[Broadcast<br/>Power-Off Msg]
    Broadcast --> Neighbor{Neighbors<br/>hear msg}
    Neighbor -->|Inside Range| Skip[Skip<br/>Activation]
    Neighbor -->|Outside Range| Activate[Activate<br/>Node]
    Activate -->|Broadcast| Broadcast

    style Start fill:#16A085,stroke:#2C3E50,color:#fff
    style Broadcast fill:#2C3E50,stroke:#16A085,color:#fff
    style Activate fill:#16A085,stroke:#2C3E50,color:#fff
    style Skip fill:#7F8C8D,stroke:#2C3E50,color:#fff

Figure 412.6: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

OGDC algorithm creates triangular lattice with optimal square root of 3 times Rs spacing through distributed self-organization: random start node broadcasts power-off message, nodes within range skip activation (redundant), nodes beyond range activate and continue process, achieving 40-60% active nodes with greater than 95% coverage.

OGDC Algorithm Phases:

OGDC coverage patterns
Figure 412.7: OGDC Coverage Patterns - Demonstrating how OGDC algorithm progressively activates sensors to achieve full coverage with minimal active nodes

Phase 1: Starting Node Selection

OGDC starting node selection
Figure 412.8: OGDC Starting Node Selection - Exponential backoff mechanism to randomly select initial active sensor
def ogdc_select_starting_node(nodes, volunteer_probability=0.1):
    """
    Phase 1: Randomly select starting node using exponential backoff
    """
    for node in nodes:
        if random.random() < volunteer_probability:
            # Volunteer to be starting node
            backoff_time = random.uniform(0, MAX_BACKOFF)
            node.backoff_timer = backoff_time

    # Node with shortest backoff becomes starting node
    time.sleep(max(n.backoff_timer for n in nodes))

    # First node whose timer expires wins
    starting_node = min(nodes, key=lambda n: n.backoff_timer)

    starting_node.activate()
    starting_node.broadcast_start_message()

    return starting_node

class StartMessage:
    def __init__(self, sender_id, sender_position, preferred_direction):
        self.sender_id = sender_id
        self.position = sender_position
        self.direction = preferred_direction  # Random angle 0-360

Phase 2: Iterative Node Activation

OGDC iterative node activation
Figure 412.9: OGDC Phase 2 Iterative Activation - Additional sensors activated based on power-off messages from neighbors to maintain coverage

OGDC Performance:

Coverage Quality: - Achieves greater than 95% coverage with approximately 60% of nodes - Near-optimal (within 5% of theoretical minimum)

Energy Efficiency: - 40-60% nodes sleep at any time - Network lifetime extends by 1.67-2.5x

Scalability: - Distributed: No central coordinator - Localized: Only neighbor communication - Scales to thousands of nodes

412.4 Hands-On Lab: Coverage Optimization

412.4.1 Lab Objective

Design and simulate a coverage strategy for a smart farm monitoring system, comparing different deployment and activation approaches.

412.4.2 Scenario

Farm Specifications: - Area: 200m x 200m - Sensors available: 100 nodes - Sensing range: 15m - Communication range: 35m

Requirements: - Monitor temperature across entire field - Maximize network lifetime - Maintain connectivity to gateway

412.4.3 Task 1: Deterministic Grid Deployment

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'secondaryColor': '#16A085', 'tertiaryColor': '#E67E22'}}}%%

graph TB
    subgraph Grid["Grid Deployment 200m x 200m"]
        Calc[Calculate Grid Spacing<br/>d = 1.73 x Rs<br/>= 1.73 x 15m<br/>= 26m]

        Rows[Rows = 200/26 = 8 rows]
        Cols[Cols = 200/26 = 8 cols]

        Place[Place sensors at<br/>grid intersections]

        Total[Total sensors: 64]

        Verify{Check coverage<br/>at crossings}
    end

    Calc --> Rows
    Calc --> Cols
    Rows --> Place
    Cols --> Place
    Place --> Total
    Total --> Verify

    Verify -->|100% covered| Success[Complete Coverage<br/>Energy: 64 active nodes]
    Verify -->|Gaps found| Adjust[Add sensors at gaps]
    Adjust --> Verify

    style Calc fill:#16A085,stroke:#2C3E50,color:#fff
    style Success fill:#16A085,stroke:#2C3E50,color:#fff
    style Verify fill:#2C3E50,stroke:#16A085,color:#fff
    style Adjust fill:#E67E22,stroke:#2C3E50,color:#fff

Figure 412.10: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

Deterministic grid deployment for 200m x 200m farm: optimal spacing d = square root of 3 times Rs = 26m, creating 8x8 grid requiring 64 sensors for guaranteed 100% coverage, predictable but requires precise placement.

412.4.4 Task 2: Random Deployment with OGDC

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'secondaryColor': '#16A085', 'tertiaryColor': '#E67E22'}}}%%

flowchart LR
    Deploy[Deploy 100 sensors<br/>randomly across field]

    Start[Random node<br/>volunteers as starter]

    Broadcast[Broadcasts power-on<br/>message with position]

    Listen[Neighbors receive<br/>message]

    Decision{Distance to<br/>active node}

    Close[d less than 1.73 x Rs<br/>Stay sleeping]

    Far[d at least 1.73 x Rs<br/>Activate and broadcast]

    Iterate[Process repeats<br/>across network]

    Result[40-45 active nodes<br/>~98% coverage]

    Deploy --> Start
    Start --> Broadcast
    Broadcast --> Listen
    Listen --> Decision
    Decision -->|Close| Close
    Decision -->|Far| Far
    Far --> Iterate
    Close --> Iterate
    Iterate --> Result

    style Deploy fill:#7F8C8D,stroke:#2C3E50,color:#fff
    style Start fill:#16A085,stroke:#2C3E50,color:#fff
    style Far fill:#16A085,stroke:#2C3E50,color:#fff
    style Close fill:#E67E22,stroke:#2C3E50,color:#fff
    style Result fill:#16A085,stroke:#2C3E50,color:#fff
    style Decision fill:#2C3E50,stroke:#16A085,color:#fff

Figure 412.11: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

Random deployment with OGDC algorithm: scatter 100 sensors randomly, OGDC self-organizes into triangular lattice pattern with approximately 40 active nodes achieving 98% coverage, 60% energy savings vs grid approach, no precision placement required.

412.4.5 Task 3: Compare Strategies

%% fig-alt: "Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy."
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'secondaryColor': '#16A085', 'tertiaryColor': '#E67E22'}}}%%

graph TB
    subgraph Comparison["Deployment Strategy Comparison"]
        Grid[Grid Deployment]
        OGDC[Random + OGDC]

        Grid --> GC[Coverage: 100%]
        Grid --> GN[Active Nodes: 64]
        Grid --> GE[Energy: High]
        Grid --> GP[Precision: Required]

        OGDC --> OC[Coverage: 98%]
        OGDC --> ON[Active Nodes: 40]
        OGDC --> OE[Energy: Low 40% savings]
        OGDC --> OP[Precision: Not needed]
    end

    GC --> Decision{Application<br/>Requirements}
    OC --> Decision

    Decision -->|Critical infrastructure<br/>100% required| UseGrid[Choose Grid]
    Decision -->|Agricultural monitoring<br/>98% acceptable| UseOGDC[Choose OGDC]

    UseGrid --> GridResult[Higher cost<br/>Higher reliability]
    UseOGDC --> OGDCResult[Lower cost<br/>Longer lifetime]

    style Grid fill:#2C3E50,stroke:#16A085,color:#fff
    style OGDC fill:#16A085,stroke:#2C3E50,color:#fff
    style UseGrid fill:#E67E22,stroke:#2C3E50,color:#fff
    style UseOGDC fill:#16A085,stroke:#2C3E50,color:#fff

Figure 412.12: Diagram showing IoT architecture components and their relationships with data flow and processing hierarchy

Strategy comparison for smart farm: Grid provides 100% coverage with 64 active sensors requiring precise placement (critical infrastructure), OGDC achieves 98% coverage with 40 sensors (40% energy savings) without precision placement (agricultural monitoring). Choose based on application criticality vs lifetime requirements.

412.4.6 Expected Results

Grid Deployment: - Coverage: approximately 100% - Sensors needed: approximately 60 - Redundancy: 1.2x - Pros: Predictable, guaranteed coverage - Cons: Requires precise placement

Random + OGDC: - Coverage: approximately 98% - Sensors active: approximately 40 (out of 100 deployed) - Redundancy: 1.1x - Pros: No precise placement needed, energy-efficient - Cons: Slight coverage gaps possible, requires more initial deployment

The Myth: Deploying more sensors always improves coverage quality and reliability.

The Reality: Beyond a certain density, additional sensors provide diminishing returns and can actually harm network performance.

Quantified Example - Smart Building Deployment:

A university deployed temperature sensors in a 5,000m squared library building:

Deployment Sensors Coverage Network Lifetime Collision Rate
Sparse 25 87% 4.2 years 0.3%
Optimal (OGDC) 45 99.2% 3.8 years 1.2%
Dense 80 99.4% 1.9 years 8.7%
Very Dense 120 99.5% 1.1 years 18.3%

Key Insights:

  1. Marginal coverage gains: Dense deployment (80 sensors) added only 0.2% coverage vs optimal (45 sensors) but cut lifetime in half
  2. Radio interference: Very dense deployment (120 sensors) caused 18.3% packet collisions vs 1.2% optimal, degrading data quality
  3. Energy waste: Redundant sensors in dense deployment consumed 2x energy for overlapping coverage
  4. Cost inefficiency: Dense deployment cost $12,000 (120 sensors times $100) vs $4,500 optimal (45 sensors), 2.7x more expensive for 0.3% coverage improvement

Why This Happens:

  • Overlapping coverage: Sensors 10m apart with 15m sensing range create 70% overlap (wasted capacity)
  • Wireless contention: More sensors = more simultaneous transmissions = more collisions and retries
  • Battery drain: Collision avoidance mechanisms (CSMA/CA) cause sensors to listen longer, consuming energy even when sleeping

The Right Approach:

Use coverage optimization algorithms (OGDC, PEAS) to find the minimum sensor count for target coverage, then add 10-20% for fault tolerance (K=2 coverage). This maximizes lifetime while maintaining reliability.

Rule of Thumb: Optimal sensor spacing approximately equal to square root of 3 times sensing_range. Closer spacing wastes energy, farther spacing creates gaps.

This variant illustrates the Zhang-Hou theorem’s insight that complete area coverage can be verified by checking finite crossing points.

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#E67E22', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D', 'fontSize': '11px'}}}%%
graph TB
    subgraph Naive["NAIVE APPROACH"]
        N1["Check every point<br/>in target area"]
        N2["Infinite points<br/>to verify"]
        N3["Computationally<br/>intractable"]
        N1 --> N2 --> N3
    end

    subgraph ZhangHou["ZHANG-HOU THEOREM"]
        Z1["If perimeter crossing<br/>points covered..."]
        Z2["...then entire<br/>area is covered"]
        Z3["Finite checks<br/>O(n squared) complexity"]
        Z1 --> Z2 --> Z3
    end

    subgraph Application["PRACTICAL USE"]
        A1["Find all sensor<br/>perimeter intersections"]
        A2["Verify each crossing<br/>covered by at least 1 sensor"]
        A3["Coverage guaranteed<br/>if all pass"]
    end

    Naive -->|"Replace with"| ZhangHou
    ZhangHou --> Application

    style N3 fill:#C0392B,stroke:#2C3E50,color:#fff
    style Z3 fill:#16A085,stroke:#2C3E50,color:#fff
    style A3 fill:#16A085,stroke:#2C3E50,color:#fff

Figure 412.13: Alternative view: The Zhang-Hou theorem transforms coverage verification from an impossible infinite problem to a tractable finite one. Instead of checking every point in a coverage area, we only need to verify that all perimeter crossing points (where sensor ranges intersect) are covered. This insight enables efficient distributed coverage verification algorithms.

412.5 Summary

This chapter covered the foundational algorithms for wireless sensor network coverage:

  • Crossing Coverage Theory: Applied Zhang & Hou theorem to verify complete area coverage by checking finite crossing points rather than infinite area points, reducing verification complexity from intractable to O(N squared)
  • OGDC Algorithm: Implemented Optimal Geographical Density Control for distributed sensor activation with near-optimal spacing (square root of 3 times Rs) achieving greater than 95% coverage with approximately 60% of nodes active
  • Practical Lab: Compared deterministic grid deployment (100% coverage, 64 sensors) with OGDC-optimized random deployment (98% coverage, 40 sensors, 40% energy savings)
  • Trade-off Analysis: Demonstrated that optimal sensor density exists beyond which additional sensors provide diminishing returns while increasing interference and energy consumption

412.6 Knowledge Check

Question: What is the primary goal of coverage optimization algorithms?

Explanation: B. The core trade-off is coverage quality vs lifetime: activate as few sensors as needed to meet coverage requirements.

Correct: B) Minimize uncovered areas while conserving energy

Coverage optimization balances maximizing monitored area coverage while minimizing the number of active sensors to extend network lifetime.

Question: The OGDC (Optimal Geographical Density Control) algorithm targets near-optimal spacing between active sensors. What spacing (relative to sensing range Rs) is commonly used to maintain coverage with minimal redundancy?

Explanation: In a near-optimal hexagonal/triangular layout, the maximum center-to-center distance that still preserves full coverage is square root of 3 times Rs, which reduces overlap while avoiding coverage holes.

Correct: C) square root of 3 times Rs

Hexagonal/triangular placement minimizes redundancy for circle coverage. Spacing sensors around square root of 3 times Rs keeps the area covered while reducing unnecessary overlap and energy waste.

412.7 What’s Next

The next chapter explores K-Coverage and Rotation Scheduling, covering fault-tolerant deployments where each point is monitored by multiple sensors, and scheduling algorithms that extend network lifetime by rotating active sensor sets.