SPS:
Semi-Persistent Scheduling半持续性调度,或Semi-static
Scheduling半静态调度,与之对应的是持续调度(PS
Persistent Scheduling)和动态调度(Dynamical
Shceduling)
持续调度:持续调度是电路域的思想,当一个信道分配后,长时间被一用户占用,例如专用信道。LTE中不使用
动态调度:终端要发送一次申请一次资源,再发送再申请
半持续调度:终端申请一次资源后,相应资源在一段时间内,周期性的分配给该用户。这里有终端是周期性!半持续调度在LTE中主要应用于VOLTE业务
简单地说,eNodeB在某个TTI使用SPS
C-RNTI加扰的PDCCH指定UE所使用的无线资源(这里将其称为SPS资源),每过一个周期,UE就使用该SPS资源来收或发数据。eNodeB无需在该子帧(这里将其称为SPS子帧)下发PDCCH来指定分配的资源。
由于SPS有“一次分配,多次使用”的特点,不需要在每个TTI都为UE下发DCI(包括上行或下行的DCI),从而降低了对应的PDCCH开销。
SPS对数据包小,大小基本不变且周期性的业务很有用,如VoIP。这类业务的timing和所需的无线资源都是可预测的。 只有PCell支持SPS。这是因为SPS主要应用于低速业务,负载低,没有必要使用多个载波单元。
1.SPS不能与TTI BUNDLING同时使用
2.SPS的上行HARQ是异步的方式,上行使用的是同步的方式
3.UE激活了SPS后,仍然会监听用于动态调度的PDCCH。当在SPS子帧上检测到用于动态调度的PDCCH时,该PDCCH分配的资源会取代SPS调度分配的资源,即动态调度的优先级更高。动态调度的PDCCH只对该子帧有效,并不影响后续的SPS子帧
4.
UE激活了SPS后,可能在之后的过程中由于码率变化等原因,需要重新配置SPS资源。例如当VoIP服务的码率升高,eNodeB需要重新下发一个新的使用SPS C-RNTI加扰的下行DCI或上行DCI(格式与SPS Activation的PDCCH相同),以便分配更大的SPS资源。重新分配的过程可以发生在任意子帧,此时SFNstart time和subframestart time也会更新,后续的SPS子帧将使用重新分配的SPS资源
SPS调度和释放配置可通过RRC重配置消息进行查看
-- ASN1START
SPS-Config ::= SEQUENCE {
semiPersistSchedC-RNTI
C-RNTI
OPTIONAL,
-- Need OR
//半持续调度的SPS-C-RNTI
sps-ConfigDL
SPS-ConfigDL
OPTIONAL,
-- Need ON
//SPS的下行配置
sps-ConfigUL
SPS-ConfigUL
OPTIONAL
-- Need ON
//SPS的上行配置
}
SPS-ConfigDL ::=
CHOICE{
//SPS下行配置方法,可以是释放和建立
release
NULL,
//SPS释放
setup
SEQUENCE {
//SPS建立,通过PDCCH的SPS-C-RNTI进行激活
semiPersistSchedIntervalDL
ENUMERATED {
sf10, sf20, sf32, sf40, sf64, sf80,
sf128, sf160, sf320, sf640, spare6,
spare5, spare4, spare3, spare2,
spare1},
//SPS下行调度步长,
sf10就是10个帧,32帧就是30帧,10的倍数向下取整INT[INTERVAL]*10
numberOfConfSPS-Processes
INTEGER (1..8),
//用于SPS的HARQ进程数
//上行HARQ使用同步的方式,因此并不需要指定HARQ process ID。并且对上行重传而言,可以使用SPS调度分配的资源,也可以使用SPS C-RNTI加扰的PDCCH重新指定资源。
n1PUCCH-AN-PersistentList
N1PUCCH-AN-PersistentList,
...,
//用于反馈NACK/ACK的4个PUCCH资源索引
资源,应用在天线P0端口(
Resource index for PUCCH formats
1/1a/1b)
[[
twoAntennaPortActivated-r10
CHOICE {
//天线端口P1上的配置,同端口P0配置
release
NULL,
setup
SEQUENCE {
n1PUCCH-AN-PersistentListP1-r10
N1PUCCH-AN-PersistentList
}
}
OPTIONAL -- Need ON
]]
}
}
SPS-ConfigUL ::= CHOICE
{
release
NULL,
setup
SEQUENCE {
semiPersistSchedIntervalUL
ENUMERATED {
sf10, sf20, sf32, sf40, sf64, sf80,
sf128, sf160, sf320, sf640, spare6,
spare5, spare4, spare3, spare2,
spare1},
//SPS上行调度步长,sf10就是10个帧,32帧就是30帧,10的倍数向下取整INT[INTERVAL]*10
implicitReleaseAfter
ENUMERATED {e2, e3, e4, e8},
//如果UE连续implicitReleaseAfter次发送的MAC PDU不包含MAC SDU,则上行SPS会自动释放。e2代表连续2次,依次类推
//如果UE在分配的上行SPS资源上,连续implicitReleaseAfter次发送的MAC PDU不包含MAC SDU,则会自动释放上行SPS并清除配置的UL grant。在清除了UL grant后,需要重传的SPS数据并不受影响
p0-Persistent
SEQUENCE {
p0-NominalPUSCH-Persistent
INTEGER (-126..24), //单位dBm,步长是1
p0-UE-PUSCH-Persistent
INTEGER (-8..7)
// ,单位dBm
//功率控制参数
,
}
OPTIONAL,
-- Need OP
twoIntervalsConfig
ENUMERATED
{true}
OPTIONAL, -- Cond TDD
...
//是否支持two-intervals-SPS,只存在于TDD的上行
}
}
N1PUCCH-AN-PersistentList
::= SEQUENCE
(SIZE (1..4)) OF INTEGER (0..2047)
-- ASN1STOP
UE配置了SPS后,还不能使用,必须使用SPS
C-RNTI加扰的PDCCH进行激活。(详见36.213的9.2节) eNodeB通过SPS
C-RNTI加扰的PDCCH来激活/释放UE的SPS。
SPS下行调度:
如果配置并激活了DL
SPS,则UE会认为在满足下面公式的子帧里(称为SPS子帧)被分配了SPS下行资源(此时无需收到PDCCH):
(10 * SFN
+ subframe) = [(10 * SFNstart time + subframestart
time) + N * semiPersistSchedIntervalDL] modulo 10240,
for all N>0
上行SPSP调度:
如果配并激活了UL SPS,则UE会认为在满足下面公式的子帧里(称为SPS子帧)被分配了SPS上行资源(此时无需收到PDCCH):
(10 * SFN
+ subframe) = [(10 * SFNstart time + subframestart time) + N *
semiPersistSchedIntervalUL + Subframe_Offset * (N modulo 2)] modulo
10240, for all N>0.
Subframe_Offset:如果是FDD或者TDD单层传输,则该值为0
如果是TDD双层传输在,则有一定的偏移
TDD
UL/DL configuration
|
Position of initial Semi-Persistent grant
|
Subframe_Offset value (ms)
|
0
|
N/A
|
0
|
1
|
Subframes 2
and 7
|
1
|
Subframes 3
and 8
|
-1
|
2
|
Subframe
2
|
5
|
Subframe
7
|
-5
|
3
|
Subframes 2
and 3
|
1
|
Subframe
4
|
-2
|
4
|
Subframe
2
|
1
|
Subframe
3
|
-1
|
5
|
N/A
|
0
|
6
|
N/A
|
0
|
二、LOG分析
在RRC重配置消息中
sps-Config
{
semiPersistSchedC-RNTI '00000000 10010001'B,
sps-ConfigDL setup
:
{
semiPersistSchedIntervalDL sf20,
numberOfConfSPS-Processes 2,
n1-PUCCH-AN-PersistentList
{
44,
45,
52,
53
}
},
sps-ConfigUL setup :
{
semiPersistSchedIntervalUL sf20,
implicitReleaseAfter
e4
}
},
上行的激活方式是通过PDCCH的DCI0加扰的SPS
C-RNTI进行激活,授权上行SPS传输数据
0xB130 LTE LL1 PDCCH Decoding
Result
然后在PUSCH上传送数据(0XB139)
下行方向也是类似,网络通过SPS
C-RNTI加扰的PDCCH信道进行指示下行SPS数据传输 ,然后在PDSCH信道传输数据
0xB173 LTE PDSCH Stat
Indication
三、 参考资料
1.3GPP
36.321
2.3GPP
36.331
3.3GPP
4.
LTE:SPS(一)_金辉_LTE_新浪博客
5.
LTE:SPS(二)_金辉_LTE_新浪博客
6.
[P1-12]LTE专题重点培训--SPS.pptx
|