2.1.1 PSS粗同步点的计算
在内存中开辟4 096个字的存储空间,每次接收2 048个字的数据。将接收的数据搬移到开辟的后2048个字的内存空间中,同时将后2 048个字的内存空间的数据搬移到前2 048个字的内存空间,并设定一个计数器,用于保存PSS粗同步点的值。将前2048个字内存中的数据的前1 024个字和后1 024个字进行中心对称滑动相关计算,在相关计算时采用1/16的降采样。判断计算的相关操作累加之和是否大于设定的门限值,如果大于设定的门限,则记录下进行相关计算得到最大值所对应的位置,再加上计数器中的计数值,得到PSS粗同步点的位置,继续进行的计算;如果小于设定的门限值,则在原起始位置的基础上向后滑动16个字,再进行1 024个字的中心对称滑动相关计算,同样采用1/16降采样,判断和设定门限的关系,直到找到大于设定门限值为止,记录下该位置为Dopt。若当前2048个字全部滑动相关计算完成仍未找到大于设定的门限值,则再次接收2 048个字的数据,同样按照上述步骤继续寻找,同时将计数器加2 048。
在进行PSS粗同步点计算时,由于采用降采样的缘故,得到的PSS同步点与理论上会存在偏差,偏差位置应该在[-16,16]之间。为了确保计算的正确性,在进行PSS的计算时,在计算得到的粗同步点的基础上左右各偏移64个字的大小,则滑动窗的范围为[Dopt-64, Dopt+63]。对起始位置为Dopt-64,、长度为2048个字的接收PSS序列和本地3组PSS降采样后进行滑动相关计算,在3组PSS相关计算中找到最大值,则最大值对应的本地PSS序列的序号即为小区ID2的值,从而完成了主同步信号的计算。
2.1.2 PSS精同步点的计算
经过PSS粗同步点计算后,已经确定和PSS同步点的大致范围,因此在给定的范围内将起始位置为Dopt-64、长度为2048个字的接收PSS序列和由嵘,对应的本地PSS序列进行非降采样的滑动相关,从中找到最大值,则该最大值对应的位置加上滑动相关的起始位置Dopt-64即为 PSS精同步点。
2.2复杂度分析
计算粗同步点Dopt时,最大情况下需要半帧5 ms,153 600个字的数据进行计算,相关计算的循环次数达到9 600 x 128次。常用的PSS定时同步的计算中,需要将接收的数据和本地的3组数据全部进行相关计算,则总的循环计算次数为9 600xl28x3次。而本文给出的PSS粗同步点的计算是利用Zadoff -Chu序列的自身对称性进行相关计算得到,相关计算的循环相关次数为9 600x64次,这样就大大简化了计算量和复杂度。
在进行PSS精同步时,常用方案计算的循环次数为128 x 2 048次,本方案需要计算的循环次数为8x3x128+128x2 048次。
综合可得,本方案计算的复杂度远小于常用方案。在TMS320C64 x DSP芯片上运行,以一个子帧的数据为例,得到的循环次数如表2所示,芯片主频为1 GHz,从表中可以直观地看到本方案的优越性。在主频为1 GHz的情况下,TD - LTE无线帧的一个子帧为1 ms,一个子帧的cycles数位1 000 000个。由表2可以看出,本方案中粗同步点的计算cycles小于1 000 000,能够实现实时性处理。
2.3仿真结果分析
通过搭建仿真链路对PSS定时同步进行仿真。仿真中采用系统带宽为5 MHz,子载波间隔为巧kHz, OFDM的子载波数为2048,普通CP,载频2 GHz, AWGN信道,发送端发送的小区Nid为272(即为2),时延偏移为0。因为在TDD模式下,PSS映射在子帧1和6的第3个OFDM符号上,所以在前半帧中理论上PSS定时同步点的计算为35 264=30 720+160+2x2 048+2x144,这里从0开始计数,而仿真时从1开始计数,所以仿真时理论上的同步点为35 265。
常用的PSS粗同步仿真结果如图5所示。从图中可以得到,在第3组本地PSS和接收的数据进行相关计算时,出现峰值大于设定的门限值,而其他两组无明显的峰值,可以判断为2。同时,可以和得到降采样后PSS的粗同步点为2205,乘以16为35 280,与理论上的PSS同步点(35 265)相差16。