第三代无线通信系统中的系统信息接收重组方法

文档序号:7942067阅读:243来源:国知局
专利名称:第三代无线通信系统中的系统信息接收重组方法
技术领域
本发明涉及第三代无线通信系统(3G)技术,具体地是涉及UE-RRC(用户设备-无线资源控制模块)的系统信息接收重组方法。
背景技术
系统信息接收技术,亦即系统广播消息接收技术。
系统消息大致指的是某个小区或整个RNS(无线网络子系统)的公用信息,而不是特定的某个UE的信息。宽带码分多址(WCDMA)系统的系统消息具体包括NAS(非接入层)系统消息和UE在空闲模式或连接模式下的各种定时器和计数器消息;URA ID(UTRAN接入网注册区标识);小区选择和小区重选的参数;小区公用物理信道的参数;系统上行干扰情况;DRAC(动态资源分配控制)信息;测量控制信息;UE辅助定位信息;GPS导航信息;相邻小区的信息等。
系统消息广播的模型是由无线接入网(UTRAN)通过广播信道向用户设备(UE)广播系统消息。无线接入网(UTRAN)将系统信息分片或级连发出,用户没备接收后再进行重组恢复。
由于系统消息有很多,按特性分成系统消息块(SIBsystem informationblock),每一个SIB包含同一特性的系统信息,如SIB1主要包含了UE在空闲模式下需要的定时器和计数器,不同的SIB具有不同的特性。
系统消息的结构类似树的结构。根节点是主消息块(MIBmasterinformation block),主消息块(MIB)包括若干系统消息块SIB和1到2个调度块(SBscheduling blocks)的调度信息。每个SB又可包含许多系统消息块SIB。
UE读取广播消息的方法是先读取由协议明确规定了接收位置的MIB,然后分析MIB里所含的信息,主要是各SIB和SB的调度信息,根据这些调度信息,UE就可以确定应该在什么时候去读取(解调译码)广播信道了。
各SIB在广播信道上都是重复出现的,并不需要UE去重复读取,当UE读完所需要的系统消息块SIB后,理论上已不需要再读取广播信道,也就是RRC可以停止接收广播信道。但是,当某个或全部广播SIB改变的时候,UE就必须读取新的广播信息,即在RNC的广播消息更新后,同时在寻呼信道上发送系统更新消息,用户设备的RRC在收到系统更新消息后,就可以启动物理层进行广播消息接收,读取更新了的SIB。
系统消息块SIB一共有29种类型。系统消息块SIB是通过系统消息传输的,一个系统消息的大小受物理层传输信道BCH和FACH传输块大小的限制,也就是说一个SIB可能需要分成几个系统消息来传输。
无线接入网(UTRAN)端的RRC负责分段和级连,系统信息在发送之前先经过ASN.1编码,如果编码后的长度大于一个系统消息块的长度,UTRAN就对其进行分段处理;如果编码后的长度小于一个系统消息块的长度,UTRAN就需要将几个系统消息块级连起来。
分段后的系统消息有四种类型,其中三种用于传送SIB或MIB的分段,一种用于传送完整的SIB或MIB。每一分段都由段头和段数据两部分组成,其中的段头包括有系统消息的总分段数,用于唯一指定属于哪一类型SIB的段类型和段索引,其中的段数据是编码后的系统消息。有了如上信息,UE就可以组装还原UTRAN发送的系统消息块(SIB)了。而告诉UE在什么时候、由哪一个系统帧号SFN可以接收到SIB,则由包含在MIB或者SB中的调度信息来做。
在3GPP协议中,对于无线接入网(UTRAN)的系统信息广播与用户设备(UE)的接收重组,仅仅规定了一个开放式空中接口数据结构,并未给出UTRAN端的具体分段广播和UE端的接收重组方法。

发明内容
本发明的目的是针对目前3GPP(第三代国际标准化组织)的空中广播接口对于系统信息数据结构的定义,提出一种3G系统信息接收重组的具体实现方法,使UE-RRC能够在广播信道误块率较高的情况下,仍能快速稳定地完成系统信息的接收重组。
由于WCDMA的多个系统消息块在发送方UTRAN侧分段后按照调度位置发送,因此系统信息块在不同SIB的分段,在时间上是复用的。
根据上述原理,UE有效接收SIB需要解决如下几个问题1.高效性,由于SIB是重复性发送的,UE在接收到某一SIB的最新版本后,就应该停止接收这一SIB,直至接收到下一个SIB的最新版本;2.快速性,为了缩短接收SIB时间,UE-RRC应该能够并行接收所有类型的SIB,避免串行接收这些SIB;3.稳定性,在发生误块或者数据块丢失情况下(接收方对广播是不作确认的,不能保证接收方一定接收成功),应仅仅影响到有分段丢失的SIB,而不应该影向到其他SIB的接收。
为实现上述目的,本发明提供了一种第三代无线通信系统中的系统信息接收重组方法,基特征在于包括以下处理步骤A.按协议规定初始化变量,准备接收MIB;B.接收到MIB中的所有SIB调度信息,计算出当前时间各个SIB将要接收的分段的接收时间,按大小顺序排列成一接收时刻有序链表;C.当收到一个BCH传输块后,判断其接收时间是否落在接收时刻有序链表中当前时间与接下来应该接收的SIB分段接收时间的窗口之内或窗口之外或与接下来应该接收的SIB分段接收时间相等;D.对于处于所述窗口之内的BCH传输块,作忽略处理,保持接收时刻有序链表中各SIB分段接收时间的大小顺序不变;
E.当前接收BCH传输块的接收时间等于接下来应该接收的SIB分段的接收时间时,接收该BCH传输块,将接收时刻有序链表中的该SIB分段的接收时间删去,和通过判断该SIB分段是否是该SIB的最后一个分段,对接收时刻有序链表进行修改;F.对于处于所述窗口之外的BCH传输块,查找出丢失的BCH传输块的相应有丢失分段的SIB,并重新启动接收过程,生成更新的接收时刻有序链表。
本发明的系统信息接收重组方法,通过生成一个接收时刻有序链表(用变量RCV_SFN_TABLE表示)和在接收过程中对链表中接收时间(也称节点、系统帧号SFN)的添加和删除,实现整个重组接收过程,实现了高效,快速和稳定三个特点。
本发明方法通过维护一个接收时刻有序链表,实现了所有SIB的接收;给出了一种窗口机制,在取模4096的情况下,比较不同系统帧号(或称接收时间)的前后顺序;对该有序链表的排序参照当前接收时间和上述窗口机制给出。
对有序链表的维护包括在最佳情况下,当接收到的BCH传输块的接收时间就是接下来应该接收SIB的接收时间时,仅仅需要删除链表中的第一个节点,即接收完该SIB分段后,链表中将不再有该SIB的分段位置信息,算法也不再处理这一SIB的对应分段。从初始化后,当该链表再次为空时,表示接收完毕,可以停止接收。
当新增一个SIB,或者当接收到的BCH传输块落在窗口之外需要重新启动SIB接收过程,或者成功接收到SIB的一个非最后分段时,可以通过算法计算其接收时间(用变量SIB_RCV_SFN表示),并将SIB_RCV_SFN添加进链表中。由于链表是有序的,可大大提高查找效率,链表第一节点的接收时间是最小值,相对于普通链表几乎不用查询时间,另外通过简单的删除与添加就可接收最近需要接收到的SIB分段,实现所有SIB并行接收。
当某些BCH传输块丢失时,只会影响丢失SIB的接收,重启动受到影响的SIB调度信息,不会影响全部SIB的接收。
本发明的方法结合当前接收BCH块的系统帧号(CUR_SFN),由终端设备(UE)维护需要接收的各个SIB调度信息(含周期SIB_REP、分段索引SIB_RCV_IDX、分段位置SIB_POS[SIB_RCV_IDX]),分别求出各自SIB的最近一个需要接收的分段接收时间(SIB_RCV_SFN)。然后通过有序链表将这些需要接收的分段接收时间(SIB_RCV_SFN)有效的组织起来。通过对其进行删除和添加,实现了整个系统信息的接收重组过程。
在整个接收过程中,每一个需要接收的SIB中仅有最需要关注的一个分段位置需要在该链表中维护。对于PCCPCH信道误块率较高时的丢包,错包等异常情况,不需要太多关心后续分段对重启某一SIB接收过程的影响。本发明方法使得各个SIB的接收在时间上是并行的,在一个SIB接收失败时,仅仅通过在接收时刻有序链表中删除和增加节点,就可实现这一SIB的接收过程的重启动,不会影响到其他SIB的接收。


图1是收到一个落在接收窗口之外的BCH传输块时,第一种重启动接收过程后的接收时刻有序链表结构示意图,由图1A和图1B分别示出重启动前后的情况;图2是收到一个落在接收窗口之外的BCH块时,第二种重启动接收过程后的接收时刻有序链表结构示意图,由图2A和图2B分别示出重启动前后的情况示意图;图3是本发明窗口机制中接收时间位于窗口内外的判断过程示意框图;图4是对图3的诠释,输入三个互不相等的接收时间S1、S2、S3时,S2落在S1、S3窗口之间的三种情况,分别由图4A、图4B和图4C示出;图5是本发明的初始化MIB及接收MIB调度信息的处理过程,由图5A示出初始接收MIB链表结构,图5B示出接收到的MIB调度信息,图5C示出根据接收到的MIB调度信息生成的接收链表结构;图6是本发明的调度处理过程示意图,由图6A示出接收到的MIB调度信息,由图6B示出根据接收到的MIB调度信息,且在SIB2接收完毕后生成的接收时刻有序链表结构。
具体实施例方式
从以下三个方面说明实施本发明技术方案的过程。
一.首先需对变量进行初始化处理,包括以下4个方面1.初始化各SIB对应的调度信息。
对于各个SIB,根据25.331标准描述,均含有如下变量接收周期SIB_REP、包括的分段数SIB_COUNT和各分段的位置(接收时间),用数组SIB_POS[]表示。对于有VALUE修改机制的SIB,有相应的VALUE_TAG。另外,还应有接收分段索引变量SIB_RCV_IDX,表明此时应该接收第几个分段,其初始值是接下来应该接收的第一个分段的接收时间,初始化时SIB_RCV_IDX=0;和接收分段目前所在周期索引变量SIB_RCVREP_IDX,表明此分段处于整个系统帧号(SFN)范围
(取偶数)中的第几个周期,可通过下述公式计算SIB_RCVREP_IDX=SFN/SIB_REP,除后取整获得。
例如接收周期SIB_REP=128,当前SFN=267,则对应的接收分段目前所在周期索引变量SIB_RCVREP_IDX为2。例如,当前SFN=18,则SIB_RCVREP_IDX=0。
2.初始化MIB调度信息。根据3GPP空中接口规定,MIB的第一分段或者一完整分段,应该在SFN mod 8=0的地方发送。分段偏移量SIB_OFFSET=2,表明如有分段则分段之间应该连续。由其周期为8表明最多为4个分段(协议没有明确规定MIB是否可以分段,但是由于接收周期为8,每个分段占用2帧,因而不可能大于4个分段。在占用4个分段的情况下,则BCH时间资源几乎全部被MIB占去,其他SIB将没有资源发送。因此实际应用时,MIB通常为一个完整分段)。对于任何一个SIB,初始应该从第一个分段开始接收。因此其调度信息变量初始化如下接收周期SIB_REP=8;
分段数SIB_COUNT=4;(假设最多有4个分段,后续示例中为一个完整分段)各分段接收时间位置(时间)SIB_POS
=0,SIB_POS[1]=2,SIB_POS[2]=4,SIB_POS[3]=6;MIB的VALUE_TAG置为非法值INVALID_VALUE;接收分段索引SIB_RCV_IDX置为0;接收分段所在周期索引SIB_RCVREP_IDX置为非法值INVALID_VALUE;接下来应该接收分段的接收时间变量SIB_RCV_SFN置为非法值INVALID_VALUE,表明此时不明确在哪一个SFN上接收BCH传输块。
3.前一个接收BCH传输块时的SFN变量PRE_SFN=INVALID_VALUE。当前接收BCH块的SFN变量CUR_SFN=INVALID_VALUE,表明当前接收时间SFN为未知。
4.初始化接收时刻有序链表RCV_SFN_TABLE为空NULL。该链表是所有需要接收的SIB对应的下一个应该接收分段的位置SIB_RCV_SFN的升序排列。链表RCV_SFN_TABLE中第一个节点应为下一个应该接收BCH传输块的接收时间(位置)CUR_SFN。可以根据窗口机制,将在这之前(结合CUR_SFN,并且取模4096意义下)的BCH传输块丢弃。
图5A中的上图,根据协议规定的MIB调度信息,可得接收周期SIB_REP=8,偏移量OFFSET=0。图5A中的下图是结合当前时间CUR_SFN=4定出的初始化接收链表结构,这里MIB没有分段,只有一个M,0完整分段。
二.接收MIB信息,并根据接收到的MIB信息生成接收时刻有序链表。
例如,接收到MIB中所有的SIB调度信息,为MIB SEG_COUNT=1,SIB_REP=8, SIB_POS(0)=0;SIB1SEG_COUNT=1,SIB_REP=128,SIB_POS(0)=2;SIB2SEG_COUNT=1,SIB_REP=128,SIB_POS(0)=4;SIB3SEG_COUNT=1,SIB_REP=128,SIB_POS(0)=18;
SIB5SEG_COUNT=5,SIB_REP=64,SIB_POS(0)=30;SIB_POS(1)=42;SIB_POS(2)=44;SIB_POS(3)=46;SIB_POS(4)=62;SIB7SEG_COUNT=1,SIB_REP=16,SIB_POS(0)=6;SIB11SEG_COUNT=5,SIB_REP=128,SIB_POS(0)=26;SIB_POS(1)=34;SIB_POS(2)=36;SIB_POS(3)=50;SIB_POS(4)=52。
根据上述每个SIB的分段个数SEG_COUNT、接收周期SIB_REP和分段位置数组SIB_POS( ),可排出下述SIB时序列表

表中只涉及偶数帧共128帧(在4096内周期重复),如表中0,2,4,6,8,...,124,126所示。M代表MIB。S1,S2,S3,S5,S7,S11分别代表SIB1,SIB2,SIB3,SIB5,SIB7,SIB11。
其中MIB的分段个数为1,表示没有分段(为便于理解没有表示成M.O),接收周期SIB_REP为8,因而在上述时序表中,在0、8、16、24、32、40、48、56、64、72、80、88、96、104、112、120帧上接收MIB(从0开始按8递增)。
其中,SIB1、SIB2、SIB3、SIB7的分段个数为1,表示没有分段(为便于理解没有表示成s1.0、s2.0、s3.0、s7.0),它们的接收周期分别为128、128、128和16,它们的分段位置数组分别为2、4、18、6,故在上述时序表中,s1在第2帧接收,s2在第4帧接收,s3在第18帧接收,s7在第6、22、38、54、70、86、102、118帧接收(从6开始按18递增)。
其中,SIB5、SIB11分段个数均为5,表示各有5个分段s5.0、s5.1、s5.2、s5.3、s5.4和s11.0、s11.1、s11.2、s11.3、s11.4。SIB5的接收周期为64,它们的分段位置数组分别为30、42、44、46、62,故在上述时序表中,s5.0在第30、第94帧接收(从30开始按64递增),s5.1在第42、第106帧接收(从42开始按64递增),s5.2在第44、第108帧接收(从44开始按64递增),s5.3在第46、第110帧接收(从46开始按64递增),s5.4在第62、第126帧接收(从62开始按64递增)。
同理,SIB11的接收周期为128,它们的分段位置数组分别为26、34、36、50、52,故在上述时序表中,s11.0在第26帧接收,s11.1在第34帧接收,s11.2在第36帧接收,s11.3在第50帧接收,s11.4在第52帧接收。
上述的SIB时寸序列表可简化成图5B所示的调度信息处理示意图。图中示出在SFN=8时接收到MIB后,得到了承载于MIB中的各个系统信息的调度信息。
根据接收到的所有SIB调度信息,根据当前时刻CUR_SFN=8,计算出SIB1、SIB2、SIB3、SIB5、SIB7、SIB11将要接收的第一分段或一完整分段的时间(位置),分别为130、132、18、30、22、26,将这些接收位置按大小顺序(按4096取模比较大小)添加到接收时刻有序链表(RCV_SFN_TABLE)中,生成的接收时刻有序链表如图5C所示。从该升序链表中可以看出,第一个节点即为用户终端接下来需要接收的SIB3的位置18(RCV_SFN),最小,依次递增;SIB1和SIB2都只能在下一个周期接收。
接收时刻有序链表中的大小顺序是以当前时间(设为S1)为参照,结合本发明的窗口判断机制定义的。结合参见图3和图4A、4B、4C。由于系统帧号SFN针对4096取模,因此不能简单地通过比较SFN的大小来决定某一SFN是否处于由两个SFN所构成的窗口之内或之外。对于任意三个两两互不相等的系统帧号S1、S2、S3,S2是否落在S1和S3构成的窗口之内或之外可由图3过程判断。对于当前时间S1,S2小于S3等价于S2落入S1和S3的窗口之中。
步骤31,输入三个两两互不相等的SFNS1,S2,S3,以S1为参照;步骤32,判断S2是否大于S1;步骤33,当S2大于S1时,进一步判断S2是否小于S3或者判断S3是否小于S1;步骤34,若S2大于S1,且S2小于S3或者S3小于S1时,判断S2处于由S1与S3构成的窗口之内;步骤35,若S2大于S1,但S2不小于S3或者S3不小于S1时,判断S2不处于由S1与S3构成的窗口之内,即处于窗口之外;步骤36,当S2小于S1时,进一步判断S2是否小于S3且S3是否小于S1;步骤37,若S2小于S1,且S2小于S3和S3小于S1时,判断S2处于由S1与S3构成的窗口之内;步骤38,若S2小于S1,且S2不小于S3和S3不小于S1时,判断S2不处于由S1与S3构成的窗口之内,即处于窗口之外。
本发明中,“S2位于S1和S3”之间等价于“以当前时间S1为参照,S2小于S3”,即从时间轴上看S1、S2、S3从左到右顺序排列。这是有序链表顺序的判断准则,也是收到一个BCH传输块时使用的SFN判断准则。
图4中分别示出S2落在(S1,S3)窗口之内的三种可能情形。图4A中,在同一个4096内,S1小于S2,且S2小于S3的情况(S1<S2,且S2<S3)。图4B中,在两个4096中,S1小于S2,且S3小于S1的情况(S1<S2,且S3<S1)。图4C中,在两个4096中,S1小于S3,且S2小于S3的情况(S2<S3<S1)。除此之外,均为S2未能落在(S1,S3)窗口之内。
实施时可采用如下程序进行窗口机制判断,即判断SFN2是否处于SFN1与SFN3之间(此处3个SFN两两互不相等,而且均属于区间
,(取偶数))。
<pre listing-type="program-listing">  IF(SFN1<SFN2)  {  IF((SFN2<SFN3)||(SFN3<SFN1))  SFN2处于SFN1、SFN3之间;&lt;!-- SIPO &lt;DP n="10"&gt; --&gt;&lt;dp n="d10"/&gt;  ELSE  SFN2不处于SFN1、SFN3之间;  }  IF(SFN2<SFN1)  {  IF((SFN2<SFN3)&amp;amp;&amp;amp;(SFN3<SFN1))  SFN2处于SFN1、SFN3之间;  ELSE  SFN2不处于SFN1、SFN3之间;  }</pre>三.当收到一个BCH传输块后,需要判断当前接收BCH传输块的时间CUR_SFN(S2)是否在前一个BCH传输块的接收时间PRE_SFN(S1)和预期应该接收时间RCV_SFN(S3)所形成的窗口之内或之外或相等,即S2是否处于(S1,S3)窗口之中或之外或相等(S2等于S3);如果CUR_SFN(S2)处在PRE_SFN(S1)和RCV_SFN(S3)窗口之内,则忽略该BCH传输块,保持接收时刻有序链表不变;如果CUR_SFN(S2)与RCV_SFN(S3)相等(这是希望的接收情况,也是最好的情况),则接收该BCH传输块,即从接收时刻有序链表中删去其节点(链表中的第一个节点),此时需要借助分段索引和当前所处周期索引进行验证,即所接收的该分段是否是其SIB的最后一个分段,然后决定是否对接收时刻有序链表RCV_SFN_TABLE再进行处理。包括当所接收的该分段不是其SIB的最后一个分段时,需重新计算该SIB下一分段的接收时间(位置),并按大小顺序将其插入接收时刻链表RCV_SFN_TABLE中;而当所接收的分段已是该SIB的最后一个分段时,即该SIB已经接收重组完毕,则仅仅从接收时刻有序链表RCV_SFN_TABLE中删去其节点即可;
如果CUR_SFN(S2)处于PRE_SFN(S1)和RCV_SFN(S3)窗口之外,表明此时有传输决丢失,应查找出相应有丢失分段的SIB,重新启动其接收过程。有两种不同的情况,分别如图1、图2所示。
图1A中是一接收时刻有序链表RCV_SFN_TABLE,链表的CUR_SFN=200,SIB1,0=258;SIB3,0=274;SIB5,1=234;SIB7,0=214;SIB11,2=292,RCV_SFN=214是其中的最小值。收到一个落在窗口之外的BCH传输块SFN=268,从链表中将小于268的节点214、234、258删除,重新启动了SIB7、SIB5和SIB1的接收过程,重新计算对应的SIB7、SIB5、SIB1的SIB_RCV_SFN,分别为278(s7,0)、296(s5,0)、386(s1,0),并按大小顺序插入到升序链表中,如图1B所示。重新启动的是受到影响的SIB,不影响其他SIB,如274(s3,0)、292(s11,2)。图1B链表中、因234(s5,1)已删去,则计算其下一个应该接收的分段接收时间296(s5,0)(虽然SIB参数变化很慢,但仍可能变化,因此不同周期的SIB分段在一起组装,可能会导致解码错误)。此时链表的当前时间CUR_SFN=268,接下来第一个应该接收分段的时间PRE_SFN=274(s3,0)。
图2A中,是一与图1A所示相同的接收时刻有序链表RCV_SFN_TABLE,链表中CUR_SFN=200,SIB1,0=258;SIB3,0=274;SIB5,1=234;SIB7,0=214;SIB11,2=292,RCV_SFN=214是其中的最小值。收到一个落在窗口之外的BCH传输块SFN=274,且与链表中SIB3,0=274相等,从链表中将小于274的节点214、234、258删除,重新启动了SIB7、SIB5和SIB1的接收过程,但是同时接收了SIB3(即删去),重新计算对应的SIB7、SIB5、SIB1的SIB_RCV_SFN,分别为278(s7,0)、296(s5,0)、386(s1,0),并按大小顺序插入到升序链表中,此时链表的CUR_SFN=274,PRE_SFN=278(s7,0)。同理,因234(s5,1)已删去,则计算其下一个应该接收的分段接收时间296(s5,0)。这一过程结束后,接收链表中仅剩下4个节点,即还需对应接收4个SIB,各节点与还需接收的各SIB的分段一一对应。
实施时在接收一个BCH传输块后,都需更新链表中的CUR_SFN与PRE_SFN,和重新计算相应的SIB_RCV_SFN。具体操作如下步骤1,接收传输块后,先备份链表中的当前SFN,再使PRE_SFN=CUR_SFN;将接收的BCH块的SFN存为CUR_SFN。
步骤2,如果链表不为空,此时链表的第一个节点为应该接收的时间RCV_SFN,针对不同CUR_SFN进行处理,如果RCV_SFN=CUR_SFN,接收这一BCH块,转入步骤4处理;如果CUR_SFN在(PRE_SFN,RCV_SFN)之间(对于4096取模意义下),则表明此时不必接收,忽略这一BCH,直接返回等待下一个BCH传输块;如果CUR_SFN在(PRE_SFN,RCV_SFN)之外(对于4096取模意义下),表明此时有分段丢失。应该查找有分段丢失的SIB,并重新启动这一SIB的接收过程,转入步骤5处理;步骤3,如果链表为空(如初始化状态下接收BCH传输块),应该结合CUR_SFN和调度信息计算各自SIB的接收时间SIB_RCV_SFN,将这些SIB_RCV_SFN分别添加到链表中,然后返回等待下一个BCH传输块;步骤4,接收BCH传输块,根据其组合类型,依次取出其中包含的SIB分段,结合对应SIB的接收索引判断是否应该接收(避免接收到错误索引的分段),将合法(两个索引相等)分段放入相应SIB缓冲区,该SIB的接收索引加1。在链表中删除取值为该SFN的一个节点(常是第一个节点)。如果该SIB分段接收重组完毕,则译码。说明这一SIB已经接收到。对于VALUE_TAG更新机制的SIB,将其调度信息置为无效。
步骤5,依次判别链表中的各个节点,包括对于处于PRE_SFN和CUR_SFN(取模4096意义下)之间的,表明此SIB有分段丢失,删除这一节点,重新启动这一SIB的接收过程;当发现某一节点与CUR_SFN相等时,表明需要接收这一BCH传输块,转入步骤4处理;
当发现某一节点处于PRE_SFN和CUR_SFN(取模4096意义下)之外时,认为此BCH传输块不应接收,直接返回。
在接收BCH传输块后,需要重新启动某一SIB的接收过程时,按如下步骤操作步骤1,如果该SIB缓冲区存在已接收分段,则清空该SIB缓冲区中的已接收分段;步骤2,删除接收链表RCV_SFN_TABLE中的第一个节点;步骤3,该SIB接收分段索引SIB_RCV_IDX=0,则表示从第一分段重新开始接收;步骤4,结合CUR_SFN、SIB_REP、SIB_POS
,计算其接收时间SIB_RCV_SFN,算法是TEMP_OFFSET=SIB_POS
-(CUR_SFN mod SIB_REP);IF(TEMP_OFFSET>0)SIB_RCV_SFN=CUR_SFN+TEMP_OFFSET;ELSESIB_RCV_SFN=CUR_SFN+TEMP_OFFSET+SIB_REP;SIB_RCV_SFN=SIB_RCV_SFN mod 4096;步骤5,将其SIB_RCV_SFN添加到链表RCV_SFN_TABLE中;步骤6,计算该SIB接收周期索引SIB_RCVREP_IDX=SIB_RCV_SFN/SIB_REP。
接收某SIB任意—个分段(用第i分段表示)的过程,包括步骤1,将这一分段内容添加到缓冲区;步骤2,删除接收链表RCV_SFN_TABLE中的第一个节点;步骤3,如果这一分段是最后分段,此时接收完毕,译码输出;步骤4,否则,该SIB下一个接收分段索引由(i-1)变为i,表明应该接收(i+1)分段;
步骤5,结合CUR_SFN、SIB_REP、SIB_POS[i],更新其SIB_RCV_SFN,按前述重新启动某一SIB的接收过程的步骤4中的方法计算;步骤6,并将其SIB_RCV_SFN添加到链表RCV_SFN_TABLE中;步骤7,计算该SIB接收周期索引SIB_RCVREP_IDX=SIB_RCV_SFN/SIB_REP。
当接收到MIB或者SB,针对调度信息作特殊处理,包括步骤1,根据VALUE_TAG判断是否需要重新接收对应的SIB,如需接收,将这一SIB新的调度信息更新到调度列表中;步骤2,对于每一个新添的SIB调度信息,均根据CUR_SFN、SIB_REP、SIB_POS
计算其SIB_RCV_SFN,并添加到链表RCV_SFN_TABLE中。
参见图6A和6B,各SIB调度信息接收完毕后,如图6A所示,假设SIB2已经接收完毕,从链表中删除SIB2,0=260,重新计算各个SIB_RCV_SFN,如图6A中的相应块S1,0=2;S3,0=18;S5,1=42;S7,0=6;S11,2,计算结果分别为SIB1,0=258;SIB3,0=274;SIB5,1=234;SIB7,0=214;SIB11,2=292(SIB2此时已经不必计算),在链表中按大小排序的结果如图6B所示,设置的CUR_SFN=200。
本发明的方法在初始化链表后,根据当前时间,结合SIB的调度信息,计算出每一SIB对应第一分段(或完整分段)的接收位置,并将其添加到升序链表中;当接收到一个SIB分段后,即删除有序链表中第一个节点,并重新将该SIB的下一分段的对应接收位置添加到该有序链表中;某一SIB接收完毕,该链表中将不再包含该SIB对应的分段位置信息,也不再处理这一SIB的对应分段,停止了对该SIB的继续接收;从初始化后,如果有序链表为空,表示接收完毕,则停止对所有SIB的接收过程(直到需要接收一个新的MIB,重新开始这一接收过程);当有传输数据包丢失时,需要重新启动受到影响的SIB的接收过程,但是未受到影响的SIB接收不需要做任何改动,即某些数据块丢失时,只会影响到对应SIB接收,从方法上只是重新启动受到影响的SIB调度信息,不会影响全部SIB的接收;新增一个SIB、或者重新启动SIB接收、或者需要接收下一分段(成功接收到SIB一个非最后分段)时,可以通过相应算法计算其接收时间(用变量SIB_RCV_SFN表示),并将SIB_RCV_SFN添加进链表;由于接收时间链表(用RCV_SFN_TABLE表示)是有序链表,大大提高了查找效率;由于该链表第一分段即为最小值,相对于普通链表几乎不用查询时间;另外,通过简单的删除和添加即可接收最近需要接收到的SIB分段,实现所有SIB的并行接收。
权利要求
1.一种第三代无线通信系统中的系统信息接收重组方法,其特征在于包括以下处理步骤A.按协议规定初始化变量,准备接收MIB;B.接收到MIB中的所有SIB调度信息,计算出当前时间各个SIB将要接收的分段的接收时间,按大小顺序排列成一接收时刻有序链表;C.当收到一个BCH传输块后,判断其接收时间是否落在接收时刻有序链表中当前时间与接下来应该接收的SIB分段接收时间的窗口之内或窗口之外或与接下来应该接收的SIB分段接收时间相等;D.对于处于所述窗口之内的BCH传输块,作忽略处理,保持接收时刻有序链表中各SIB分段接收时间的大小顺序不变;E.当前接收BCH传输块的接收时间等于接下来应该接收的SIB分段的接收时间时,接收该BCH传输块,将接收时刻有序链表中的该SIB分段的接收时间删去,和通过判断该SIB分段是否是该SIB的最后一个分段,对接收时刻有序链表进行修改;F.对于处于所述窗口之外的BCH传输块,查找出丢失的BCH传输块的相应有丢失分段的SIB,并重新启动接收过程,生成更新的接收时刻有序链表。
2.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤A中的初始化,包括初始化各SIB对应的调度信息变量,初始化MIB调度信息变量,当前接收BCH块的接收时间变量和初始化接收时刻有序链表。
3.根据权利要求2所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述的初始化各SIB和MIB调度信息变量,至少包括接收周期、分段数、分段位置数组、接收分段索引、接收分段所在周期索引;当前接收BCH块的接收时间变量为未知;和让接收时刻有序链表为空。
4.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤B中,所述分段的接收时间是各个SIB将要接收的第一分段或者一完整分段的接收时间;所述的接收时刻有序链表中记录有当前时间,其第一个位置是终端接下来应该接收的SIB分段的时间,值最小,然后依次递增。
5.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤B中的接收时间按大小顺序排列,是针对系统帧号的最大值再加1取模进行,并以当前时间为参照,结合窗口机制进行判断。
6.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤C中的判断在窗口之内或窗口之外,是针对系统帧号的最大值再加1取模进行,并以当前时间为参照,结合窗口机制进行判断。
7.根据权利要求5或6所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述的以当前时间为参照,结合窗口机制进行判断,包括输入三个互不相等的接收时间S1、S2、S3,以当前时间为S1;当S1小于S2,且S2小于S3或者S3小于S1时,或者当S1不小于S2,且S2小于S3并S3小于S1时,判断为S2处于S1与S3的窗口之内;当S1小于S2,且S2不小于S3或者S3不小于S1时,或者当S1不小于S2,且S2不小于S3并S3不小于S1时,判断为S2处于S1与S3的窗口之外。
8.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤E中,通过判断该SIB分段是否是该SIB的最后一个分段,对接收时刻有序链表进行修改,进一步包括若该SIB分段是该SIB的最后一个分段,则仅作删去接收时刻有序链表中该SIB分段接收时间的操作;若该SIB分段不是该SIB的最后一个分段,则重新计算该SIB分段下一个分段的接收时间,并按大小顺序插入到接收时刻有序链表中,将接收时刻有序链表的当前时间修改为接收该BCH传输块的时间。
9.根据权利要求1或7所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述步骤E中,判断该SIB分段是否是该SIB的最后一个分段是通过分段索引和当前所处周期索引进行验证的。
10.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于所述的步骤F进一步包括当该BCH传输块的接收时间与接收时刻有序链表中的各接收时间不相等时,删去接收时刻有序链表中小于该BCH传输块接收时间的所有SIB分段的接收时间,但重新计算这些删去的SIB分段的接收时间,并以该BCH传输块的接收时间为当前时间,将重新计算的这些接收时间插入接收时刻有序链表中,按大小顺序排列,生成更新的接收时刻有序链表;当该BCH传输块的接收时间与接收时刻有序链表中的某一接收时间相等时,接收该BCH传输块,从接收时刻有序链表中删去其接收时间,但以其接收时间为当前时间,重新计算这些删去的SIB分段的接收时间,将重新计算的这些接收时间插入接收时刻有序链表中,按大小顺序排列,生成更新的接收时刻有序链表。
11.根据权利要求1所述的第三代无线通信系统中的系统信息接收重组方法,其特征在于从步骤A初始化MIB的调度信息后,当所述的接收时刻有序链表为空时,接收完毕,停止对所有SIB的接收过程,直到需要接收一个新的MIB,重新开始其接收过程。
全文摘要
本发明涉及第三代无线通信系统中的系统信息接收重组方法,用于弥补目前系统信息广播与终端接收间仅有开放式空中接口数据结构规定,没有具体分段广播和接收重组方法的不足。利用当前系统帧号(SFN)和MIB调度信息分别求出每一SIB当前应该接收的第一或完整分段的位置,排序构成接收位置有序链表。根据窗口机制,通过判断所接收BCH传输块在链表中的位置,对链表进行不同方式的维护包括保持不变和从链表中删除或插入相应节点,并重新计算与排序应该接收的各SIB分段位置,重复本步骤直至链表为空,停止接收。可快速,有效地接收空中接口规定的系统信息块MIB、SB、SIB的各种分段,经不断重组最后获得完整的系统信息。本方法在PCCPCH误块率较大时稳定性仍很强。
文档编号H04W28/04GK1505416SQ0215361
公开日2004年6月16日 申请日期2002年11月29日 优先权日2002年11月29日
发明者陈德, 罗新龙, 德 陈 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1