Power Save
Overview
IEEE 802.11b defines a Power Save (PS) mechanism that allows stations (STAs) to conserve power by periodically turning off their radios (entering doze mode) while the Access Point (AP) buffers their traffic.
At specific intervals, the AP announces buffered traffic via beacons containing a Traffic Indication Map (TIM). Dozing STAs wake up, check for pending traffic, and either stay awake or return to sleep.
This mechanism provides a tradeoff between power efficiency and latency and operates entirely at the MAC layer (PHY-independent).
Power Save States
State |
Description |
|---|---|
Active Doze Awake Sleep |
STA is fully awake, can transmit and receive. STA radio off, cannot send or receive. Temporary awake period after beacon or data. Long-term power-saving state. |
Power Management Bits
Two bits in the Frame Control field control power save behavior:
Bit |
Field Name |
Meaning (1 = set) |
|---|---|---|
12 13 |
Power Management More Data |
STA will enter PS (doze) mode after this frame AP has additional buffered frames for STA |
STA sets Power Management = 1 to inform AP it is entering doze mode.
AP sets More Data = 1 in downlink frames if more buffered frames remain.
Beacon Operation and TIM
The AP transmits beacons at regular intervals (typically 100 TU = 102.4 ms). Each beacon includes:
Timestamp (for TSF synchronization)
Capability information
TIM element — announces which STAs have buffered unicast frames
DTIM element — announces pending broadcast/multicast frames
Traffic Indication Map (TIM)
The TIM element identifies which stations have buffered data at the AP.
Structure:
Field |
Description |
|---|---|
DTIM Count | Number of beacons until next DTIM beacon DTIM Period | Interval between DTIM beacons Bitmap Control | Offset for partial bitmap Partial Virtual Bitmap| Bits indicating buffered STAs by AID index |
|
Each STA is assigned an AID (Association ID) during association. The AP maps each AID to one bit position in the TIM bitmap.
Bit = 1: AP has buffered unicast frame(s) for that STA.
Bit = 0: No buffered frames.
When an STA sees its bit set, it stays awake and sends a PS-Poll.
DTIM (Delivery Traffic Indication Message)
The DTIM is a special beacon that informs STAs of pending broadcast/multicast data.
Fields in TIM element:
Field |
Description |
|---|---|
DTIM Count = 0 DTIM Period |
Indicates this beacon is a DTIM beacon. Defines how often DTIMs occur (e.g., 3). |
Behavior:
STAs must wake for every DTIM beacon if they wish to receive broadcast traffic.
The AP transmits all queued broadcast/multicast frames immediately after DTIM beacon.
Unicast Delivery Using PS-Poll
When an STA detects its bit set in the TIM, it requests its buffered frames using a PS-Poll control frame.
PS-Poll Frame
Field |
Description |
|---|---|
Frame Control AID BSSID TA (Transmitter) |
Type: Control / Subtype: PS-Poll STA’s Association ID AP’s MAC address STA’s MAC address |
PS-Poll Procedure
STA wakes up at beacon time.
STA reads TIM; sees its AID bit = 1.
STA contends for the medium using DCF (DIFS + backoff).
STA sends PS-Poll to AP.
AP replies with one buffered frame: - More Data = 1: additional frames buffered. - More Data = 0: last buffered frame.
STA acknowledges the frame.
If More Data = 1 → STA sends another PS-Poll.
If More Data = 0 → STA returns to doze mode.
Example Sequence
Beacon(TIM) → PS-Poll → DATA#1 [MoreData=1] → PS-Poll → DATA#2 [MoreData=0] → Sleep
Null Data Frames (State Transitions)
STAs use Null Data frames (no payload) to signal power state transitions.
|------|——————|---------| | 0 | Active mode (stay awake) | | | 1 | Enter PS mode (doze) | |
The STA transmits this frame before going to sleep or after waking up, allowing the AP to update its association table accordingly.
Buffered Frame Delivery (Example)
AP : Beacon + TIM(bit=STA)
STA: Wake → PS-Poll
AP : DATA1 (MoreData=1)
STA: ACK → PS-Poll
AP : DATA2 (MoreData=0)
STA: ACK → Sleep
DTIM and Broadcast/Multicast Delivery
AP buffers broadcast/multicast frames until the next DTIM beacon.
When DTIM Count = 0, AP transmits all buffered broadcast/multicast frames after beacon transmission.
All PS STAs must stay awake until the DTIM transmission completes.
DTIM Beacon → [Broadcast#1] → [Broadcast#2] → End of DTIM → STAs return to sleep
Ad Hoc (IBSS) Power Save (ATIM Window)
In IBSS (Independent BSS) networks, there is no AP to buffer frames. Instead, STAs coordinate via ATIM (Announcement TIM) frames.
Mechanism:
All STAs wake for the Beacon + ATIM window.
During ATIM window, STAs announce buffered data via ATIM frames.
Recipients of ATIM stay awake for the next data period.
STAs without ATIMs return to doze after ATIM window.
Timing:
Beacon → ATIM window (announcements) → Data period → Sleep
Timing Example (Infrastructure Mode)
AP : Beacon (TIM bit=STA)
STA: DIFS + Backoff → PS-Poll
AP : SIFS → DATA (MoreData=1)
STA: ACK → PS-Poll
AP : SIFS → DATA (MoreData=0)
STA: ACK → Sleep
Power Save Timing Relationships
Important MAC Fields
Field |
Function |
Where Used |
|---|---|---|
Power Mgmt bit More Data bit TIM Bitmap AID DTIM Count / Period |
STA sleep/awake signaling AP indicates queued frames Announces buffered STAs Identifies STA bit index Multicast delivery timing |
Frame Control (STA→AP) Frame Control (AP→STA) Beacon (TIM element) Association & PS-Poll Beacon (DTIM field) |
Edge Cases and Behavior Notes
|-------|———–| | STA misses beacon | STA stays asleep until next beacon, increased latency | | Multiple PS STAs | AP maintains per-STA buffers and bitmap bits | | AP buffer overflow | Queued frames dropped silently | | STA stays awake | Treated as active; AP transmits immediately | | PS-Poll lost | STA retries after timeout | | STA fails to send PS-Poll | Buffered frames eventually expire |
Power Save with Fragmentation and RTS/CTS
If buffered frame is fragmented, AP transmits fragments using SIFS spacing.
STA stays awake until final fragment (More Data = 0).
RTS/CTS may precede PS-Poll response to protect channel access.
NAV ensures protection during PS-Poll → DATA exchanges.
Infrastructure vs IBSS Power Save
Feature |
Infrastructure (AP-based) |
IBSS (Ad Hoc) |
|---|---|---|
Coordination Signaling Mechanism Buffered by Unicast Delivery Broadcast Delivery Wake Period |
Centralized (AP) TIM / DTIM beacons AP PS-Poll frames At DTIM Beacon interval |
Distributed among peers ATIM window Each STA maintains buffer ATIM + direct data During ATIM window Beacon + ATIM window |
Example Beacon TIM Layout
Example TIM element in beacon frame:
Element ID: 5 (TIM)
Length: variable
DTIM Count: 0x01
DTIM Period: 0x03
Bitmap Control: 0x00
Partial Virtual Bitmap: 0x40 0x00 (bit 6 = STA with AID=6 has pending data)
Implementation Guidelines
Beacons must always be sent at basic rates.
TIM and DTIM fields must accurately reflect buffered traffic.
AP must maintain per-STA queues for PS clients.
PS STAs must synchronize with AP’s beacon interval.
DTIM period determines broadcast delay and power-saving efficiency.
AP may drop buffered frames after timeout or queue overflow.
References
IEEE Std 802.11-2020, Clause 10.2.1–10.2.3 (Power Management)
IEEE Std 802.11b-1999, Clause 18.2.3.6 (TIM, DTIM, PS-Poll)
Gast, M. 802.11 Wireless Networks: The Definitive Guide, O’Reilly
Tanenbaum & Wetherall, Computer Networks, 5th Edition
Heusse et al., Performance Anomaly of 802.11b, IEEE INFOCOM 2003