Logical Channel Prioritization (LCP)
The token-bucket algorithm that decides how a UE fills a scheduled grant across competing logical channels. Governed by Priority, PBR (Prioritized Bit Rate), and BSD (Bucket Size Duration). Covers the two-round LCP procedure, LCP restrictions, and 6G evolution (AI-driven, slice-aware, multi-connectivity).
#1What Problem Does LCP Solve?
A UE has multiple logical channels (voice, video, web, signaling) competing for the same UL grant:
Naive: Round-Robin
Voice gets starved behind web browsing. Unacceptable for real-time traffic.
LCP: Priority + PBR
Voice/signaling always first. Video gets guaranteed minimum. Web fills remainder.
Logical Channel Types
| Type | Channel | Purpose | Priority |
|---|---|---|---|
| SRB0 | CCCH | RRC connection setup | Highest (0) |
| SRB1 | DCCH | RRC messages | Very High (1) |
| SRB2 | DCCH | NAS signaling | High (2) |
| DRB | DTCH | User data | Variable (4-16) |
#2Three Key Parameters
Priority (1–16)
Lower number = higher priority. Determines Round 2 order and tie-breaking.
PBR — Prioritized Bit Rate
Minimum guaranteed data rate per logical channel (bytes/TTI). PBR=0 means best-effort only.
BSD — Bucket Size Duration
Maximum time tokens can accumulate. Max Bucket = PBR × BSD. Prevents token hoarding.
Token bucket — tokens accumulate at PBR rate, capped at PBR × BSD, consumed when data is served
#3Two-Round LCP Algorithm
Round 1: Guaranteed Minimum (PBR-based)
For each LC in priority order: allocate min(data_pending, bucket_level, remaining). Tokens consumed = bytes allocated.
Round 2: Remaining Capacity (Priority-based)
For each LC in priority order: allocate min(data_pending, remaining). No token constraint. Fills all remaining grant capacity.
Two-round LCP — watch Round 1 (PBR tokens) then Round 2 (remaining capacity) fill the grant
#4Token Bucket Mechanics — Multi-LC Simulation
Real-time simulation of 4 logical channels competing for grants over multiple TTIs:
4 logical channels over time — tokens, allocations, and grant utilization per TTI
#5LCP Restrictions — Mapping Rules
5G NR restricts which LCs can use which grants:
| Restriction | Purpose | Example |
|---|---|---|
allowedSCS-List | Only certain SCS | URLLC: 15/30 kHz only |
maxPUSCH-Duration | Not for long PUSCH | URLLC: max 2 symbols |
configuredGrantType1Allowed | CG Type 1? | URLLC: true |
allowedServingCells | Certain cells only | DC: MCG vs SCG |
Grant filling visualization — colored segments show how each LC fills the transport block
#6LCP Performance & Field Considerations
| Metric | How LCP Achieves It |
|---|---|
| Latency (voice) | Priority 1-2 → served first → minimal queuing |
| Throughput (video) | PBR guarantees minimum → prevents starvation |
| Fairness | BSD cap prevents token hoarding |
| Efficiency | Round 2 fills ALL remaining → no waste |
| Starvation prevention | Each PBR>0 LC gets guaranteed minimum |
Common Pitfalls
| Pitfall | Impact | Fix |
|---|---|---|
| PBR too high for all LCs | Round 1 consumes entire grant | Sum of PBRs < grant size |
| BSD too large | One LC hoards tokens | BSD ≈ traffic burst period |
| Missing LCP restrictions | URLLC on long PUSCH | Configure allowedSCS + duration |
| Same priority for 2 LCs | Undefined ordering | Use distinct priorities |
LTE vs 5G NR LCP
| Aspect | LTE | 5G NR |
|---|---|---|
| BSD range | 50-1000 ms | 5-1000 ms (shorter!) |
| LCP restrictions | None | Cell, SCS, duration, CG |
| LCGs for BSR | 4 | 8 |
| Numerology aware | No | Yes (SCS restriction) |
#76G LCP Evolution
LCP evolution across generations — compare capabilities and architecture
| Dimension | 5G NR | 6G Target |
|---|---|---|
| Parameters | Static (RRC) | AI-dynamic per slot |
| Slice awareness | None | Per-slice LCP |
| Multi-link | DC (2 groups) | Joint (WiFi+cell+sat) |
| Deterministic | CG + LCP | TDMA-like fixed slots |
| Sensing data | N/A | SensRB + priority |
| ML traffic | N/A | MLRB (opportunistic) |
| Reconfig latency | 10-50 ms | < 10 ms (AI-driven) |
6G Key LCP Innovations
- AI-Driven LCP: DQN/PPO dynamically adjusts PBR/BSD/Priority per slot based on traffic patterns
- Slice-Aware: Each network slice gets guaranteed grant share, LCP within each slice
- Multi-Connectivity: Joint LCP across WiFi + cellular + satellite with AI routing
- Deterministic: Pre-allocated TDMA-like slots for industrial 6G (factory automation)
- ISAC (Sensing): New SensRB logical channel for radar/sensing data with highest priority
#8Further Reading
3GPP Specifications
- TS 38.321 — NR MAC Protocol §5.4.3.1 (Logical Channel Prioritization)
- TS 38.331 — NR RRC Protocol (LogicalChannelConfig IE)
- TS 23.501 — System Architecture (5QI, QoS framework)