一种CDMA20001X系统快速搜索多小区的方法
技术领域
本发明涉及移动通信技术领域,特别涉及一种CDMA20001X系统快速搜索多小区的方法。
背景技术
CDMA20001x系统使用的是码分多址(CodeDivisionMultipleAccess,码分多址)扩频技术,将有用的窄带信号利用PN(伪随机)序列扩展到1.2288MHz的带宽上进行传输,在接收端,使用完全相同的伪随机序列与接收天线数据进行相关处理,恢复成原来的窄带信号,即解扩。CDMA20001x系统由于使用码分多址扩频技术,具有很强的抗干扰能力,并且具有抗多径干扰,抗多径延迟等特点,是最有代表的第三代移动通信技术之一。CDMA20001x是一个同步的系统,进行小区搜索首先需要进行系统的同步,同步的方法通过导频信道发送不同偏置的PN序列与本地PN序列进行相关运算,不同小区得到一个相关峰值点作为本小区的导频信道同步点,解析出同步消息,从同步消息中获取导频偏置、长码状态等参数,然后利用这些参数去解析寻呼信道的广播消息,从广播消息中获取必要的系统参数,至此小区搜索完成。然而,在特定的应用中,当需要搜索多个小区时,每次小区搜索都需要重复上文提到的操作步骤不但费时,而且还要依赖于计算同步点性能,影响搜索到的小区个数。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种CDMA20001X系统快速搜索多小区的方法。
本发明采用如下技术方案:
一种CDMA20001X系统快速搜索多小区的方法,包括如下步骤:
S1搜索导频信道确定最强小区,获得当前最强小区的导频信道同步点;
S2以当前最强小区的导频信道同步点为起始点获取空口数据,进行当前小区同步操作;
S3对当前最强小区进行寻呼信道的监控,获得寻呼信道的广播信息,完成当前最强小区的搜索,所述寻呼信道的广播信息包括系统消息、接入消息及邻小区消息;
S4根据邻小区消息,获取邻小区的导频偏置,确定邻小区的导频信道同步点;
S5计算邻小区中各个小区的能量,然后按照每个小区能量大小排列得到小区列表;
S6按照能量从大到小的顺序,依次对小区列表中的小区进行搜索。
所述S1搜索导频信道确定最强小区,获得当前最强小区的导频信道同步点,具体步骤如下:
S1.1获取空口数据与本地PN序列;
S1.2对本地PN序列进行补零处理;
S1.3对空口数据及补零后的PN序列采用分窗FFT/IFFT算法,计算得到相关值;
S1.4根据计算的相关值,比较相关值大小获得相关峰值及对应的相位值,该峰值对应的相位值为当前最强小区的导频信道同步点。
所述S2以当前最强小区的导频信道同步点为起始点获取空口数据,进行当前小区同步操作,具体为:
首先空口数据进行相位调整,然后经过解调、解交织、解重复、Viterbi译码后得到同步信道的原始数据,在经过CRC校验,最后解析同步信道的信息,所述同步信道的信息包括导频偏置、系统时间、长码状态、系统标识、网络标识、寻呼信道的比特率、频点信息,至此小区同步完成。
所述S3对当前最强小区进行寻呼信道的监控,获得寻呼信道的广播信息,完成当前最强小区的搜索,具体搜索为:首先根据导频信道同步点与S2中得到的导频偏置确定寻呼信道同步点,然后利用长码状态、导频偏置、walsh码、比特率PRAT进行空口数据的解调、解扰、解扩、解交织、解重复,通过Viterbi译码得到寻呼信道的原始数据;
将寻呼信道的原始数据经过CRC校验,最后解析寻呼信道的广播信息,完成当前最强小区的搜索。
所述S6中采用与S3中相同的搜索方法,对小区列表中的小区进行搜索。
对本地PN序列进行补零处理,具体为:设获取长度2L的接收信号,本地PN序列长度为L,则将本地PN序列后面补L个零,使其长度为2L,进行分窗FFT/IFFT算法后得到序列的前L点为得到的相关值。
本发明的有益效果:
本发明提供的快速多小区搜索方法,只需要在小区搜索时进行一次导频信道与本地序列的相关运算来获取当前最强小区导频信道的同步点,完成当前最强小区的同步,监控寻呼信道解析当前最强小区的邻小区消息,根据邻小区消息中的导频偏置可以快速完成附近多个小区的同步和搜索功能。在某些特殊应用场合,需要同时搜索多个小区时,现有方法对每个小区的同步和搜索都需要单独通过导频信道与本地序列滑动相关找峰值点确定同步点,对系统的计算资源要求很高,实现复杂度大,本发明针对这些缺点,显著地提升了系统处理速度和处理时效性。
附图说明
图1是本发明的工作流程图;
图2是本发明的同步信道处理流程图;
图3是本发明寻呼信道处理流程图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1-图3所示,一种CDMA20001X系统快速搜索多小区的方法,包括如下步骤:
S1搜索最强导频信道确定当前位置的最强小区,获得当前小区的导频信道同步点;
具体为:
S1.1获取空口数据与本地PN序列;
S1.2对本地PN序列进行补零处理;
S1.3对空口数据及补零后的PN序列采用分窗FFT/IFFT算法,计算得到相关值;
当FFT点数与码周期相等时,利用循环卷积和频域上乘法上的关系可得到如下公式:
其中x(n)为空口数据,y(n)为本地PN序列,(.)*表示取共轭。
S1.4根据计算的相关值,比较相关值大小获得相关峰值及对应的相位值,该峰值对应的相位值为当前最强小区的导频信道同步点。
由于PN码序列太长,不可能整个码周期做FFT,只能通过分窗处理,但是分窗后接收信号与本地参考码之间不再具有循环移位关系。上述算法直接用于长码分窗后的相关处理将不会得到预期的结果。为解决该问题,需要本地序列进行补零处理。基本原理是:获取长度为2L的接收信号,本地产生长度为L的PN序列,后面补L个零使其长度为2L;进行FFT/IFFT相关处理后,所生成序列的前L点样本即为接收信号序列与本地PN序列前L点的相关结果;
本实施例中,根据CDMA协议规定导频信道帧长是26.667ms,1帧共有32768个码片,获取1帧的空口数据与本地序列进行相关运算找相关峰值点,本发明采用了分窗FFT相关算法,将32768数据分成M段,每段N个chip(M和N要满足M×N=32768),先将分段后空口数据和本地序列进行FFT运算,然后进行相乘,再进行IFFT运算即可以得到一段N个chip的相关运算值,重复M次即完成了32768个码片的相关运算,而FFT和IFFT可以直接调用库函数完成,这样降低运算量同时提升处理能力,使系统资源能够处理多倍过采样的数据,提高同步精度和导频捕获性能。根据计算的相关值,比较相关值大小,获取相关峰值及对应的相位值,相位值即为当前最强小区的导频信道同步点。
S2以当前最强小区的导频信道同步点为起始点获取空口数据,进行当前小区同步操作;
由于存在传输的延迟,首先需要对空口数据进行相位调整,减少传输对同步点的影响,然后空口数据经过解调,解交织,解重复,Viterbi译码后得到同步信道的原始数据。由于一个完整的同步信道消息共为194比特,加上30比特的CRC(循环冗余校验码),共有224比特的同步信道消息。但同步信道每帧只能发送32比特的信息,需要9帧才能把一个完整的同步信道消息发送完成,即需发送288比特数据,多出的位置填“0”。所以在接收端需要对同步信道进行重组,重组过程如下:一个同步信道帧包含1比特的SOM(消息起始)参数,31比特的信息。对于第一段,SOM应当设置为“1”,其余分段设置为“0”。经过CRC校验后的224比特数据,按照每个同步帧32比特计算,需要8个SOM指示,整个消息共有232比特。把连续9帧的同步信道信息重组成一个224比特的数据,再经过CRC校验,最后解析同步信道的信息。包括:该同步信道对应的导频偏置(PILOT_PN),系统时间(SYS_TIME),长码状态(LC_STATE),系统标识(SID),网络标识(NID),寻呼信道的比特率(PRAT),频点(CDMA_FREQ)等参数,至此小区同步完成。
S3同步信道解出来后,需要等待一定时间才能与系统同步、使长码状态有效,系统需要等到长码状态有效后开始监控寻呼信道,获得系统参数。如图3所示,利用步骤2获取的同步参数对当前小区的寻呼信道进行监控。首先根据导频信道同步点与导频偏置确定寻呼信道同步点,然后利用长码状态、导频偏置、walsh码、比特率PRAT进行空口数据的解调、解扰、解扩、解交织、解重复,最后通过Viterbi译码得到寻呼信道的原始数据。寻呼信道数据以时隙形式发送,每个时隙的长度为80ms,每个80ms的时隙包含4个20ms的帧,每个20ms由两个长为10ms的半帧构成。每个半帧包括1bit的SCI(同步封装指示符)和47bit(4.8kbps)或95bit(9.6kbps)的寻呼信道消息。寻呼信道的消息可用同步封装或非同步封装方式。同步封装方式时,SCI设置为“1”,正文开始于半帧的第二比特,非同步封装的报文可直接在其他同步或非同步报文之后发送。除寻呼信道时隙中的第一个寻呼消息必须采用同步方式发送,即SCI设置为“1”,其余本时隙内的消息可紧随同步封装的报文以非同步方式发送,即SCI设置为“0”,在重组寻呼消息时,用SCI来判断是否是一个消息的起始位置,消息的长度由MSG_LENGTH字段给出,经过CRC校验,最后解析寻呼信道的广播信息,包括:系统消息,接入消息,邻小区消息等消息,完成最强小区的搜索。
S4根据邻小区消息,获取邻小区的导频偏置,确定邻小区的导频信道同步点;
由于CDMA是一个同步系统,所有小区的长码状态都是一致的,因此在获取邻小区的导频偏置后,所有邻小区的导频信道同步点就确定了。
S5为了便于后面完成多个小区搜索工作,需要计算出各个小区能量大小进行排序。通过空口数据与本地序列进行相关运算,计算每个小区的能量大小然后排序,得到一个按照能量大小排列的小区列表,这样处理单元可以先处理能量大的小区,避免出现搜索能量很小的小区,提升系统处理单元效率。
S6按照能量从大到小的顺序,依次对小区列表中的小区进行搜索。
排序后小区列表,处理单元依次对小区列表中的小区进行搜索,采用与S3的一样的操作流程,利用不同的导频偏置PILOT_PN获取不同小区寻呼信道的同步点,根据当前长码状态和掩码获取扰码,然后对每个小区的寻呼信道进行监控,获取每个小区的系统消息、接入消息、邻小区消息等广播消息,至此完成多小区搜索。
本发明主要针对CDMA20001x系统应用于需要同时搜索多个小区并且对多个小区实施侦听的场合提出的,如果使用常规的小区搜索方案,要完成多小区的搜索运算量非常大,对系统处理能力要求高,大运算量同时会导致实时性下降,并且对同步算法性能要求高。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。