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).

Scheduling → HARQ → Power Control →

#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

TypeChannelPurposePriority
SRB0CCCHRRC connection setupHighest (0)
SRB1DCCHRRC messagesVery High (1)
SRB2DCCHNAS signalingHigh (2)
DRBDTCHUser dataVariable (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:

RestrictionPurposeExample
allowedSCS-ListOnly certain SCSURLLC: 15/30 kHz only
maxPUSCH-DurationNot for long PUSCHURLLC: max 2 symbols
configuredGrantType1AllowedCG Type 1?URLLC: true
allowedServingCellsCertain cells onlyDC: MCG vs SCG

Grant filling visualization — colored segments show how each LC fills the transport block


#6LCP Performance & Field Considerations

MetricHow LCP Achieves It
Latency (voice)Priority 1-2 → served first → minimal queuing
Throughput (video)PBR guarantees minimum → prevents starvation
FairnessBSD cap prevents token hoarding
EfficiencyRound 2 fills ALL remaining → no waste
Starvation preventionEach PBR>0 LC gets guaranteed minimum

Common Pitfalls

PitfallImpactFix
PBR too high for all LCsRound 1 consumes entire grantSum of PBRs < grant size
BSD too largeOne LC hoards tokensBSD ≈ traffic burst period
Missing LCP restrictionsURLLC on long PUSCHConfigure allowedSCS + duration
Same priority for 2 LCsUndefined orderingUse distinct priorities

LTE vs 5G NR LCP

AspectLTE5G NR
BSD range50-1000 ms5-1000 ms (shorter!)
LCP restrictionsNoneCell, SCS, duration, CG
LCGs for BSR48
Numerology awareNoYes (SCS restriction)

#76G LCP Evolution

LCP evolution across generations — compare capabilities and architecture

Dimension5G NR6G Target
ParametersStatic (RRC)AI-dynamic per slot
Slice awarenessNonePer-slice LCP
Multi-linkDC (2 groups)Joint (WiFi+cell+sat)
DeterministicCG + LCPTDMA-like fixed slots
Sensing dataN/ASensRB + priority
ML trafficN/AMLRB (opportunistic)
Reconfig latency10-50 ms< 10 ms (AI-driven)

6G Key LCP Innovations


#8Further Reading

3GPP Specifications

Companion Resources

Scheduling → HARQ →