虞龙杰,尹学锋
(同济大学电子与信息工程学院,上海201804)
宽带码分多址(wideband code division multiple access,WCDMA)由第三代伙伴项目(the 3rdgeneration partnership project,3GPP)制定并维护,到目前为止已是一个较为成熟的第三代(the 3rdgeneration,3G)网络,中国联通使用WCDMA作为它的3G商用业务.
WCDMA在下行链路中分配不同的扰码用来区分不同的小区,小区搜索的目的就是检测小区的主扰码[1].近五年来,小区搜索的算法已经较为成熟,但国内相关文献中绝大多数用来验证小区搜索算法的WCDMA信号都是仿真拟合信号,并非基站发射的真实信号[2-5];文献[6]使用基站实测信号,但信号的分析和处理都是放在计算机软件中进行的.本文作者用通用软件无线电外设(universal software radio peripheral,USRP)实测中国联通基站发射的WCDMA信号,并用现场可编程门阵列(field programmable gate array,FPGA)进行信号处理,对于验证小区搜索算法的正确性具有实际的工程应用价值,同时具有一定的创新性.
因为WCDMA下行链路中的公共导频信道(common pilot channel,CPICH)只发送标准的正交化的主扰码信息[7],所以在小区搜索的基础上通过与实测数据作循环相关可估计信道的脉冲响应.而信道脉冲响应作为高精度信道估计算法空间交替广义期望最大(space-alternating generalized expectation-maximization,SAGE)的输入信号源[8],可以估计出时延、多普勒、幅度、到达角、离开角等信道参数[9-11],所以信道脉冲响应的估计对于分析信道特征具有基础性的意义.
3GPP规定,WCDMA 在下行链路中共有3个中心载频,分别是2.1326、2.1376和2.1426 GHz,每个载频的带宽都是5 MHz[1].USRP以4倍过采样率20 Msample/s,20 MHz的采样带宽实测位于上海市同济大学嘉定校区内的中国联通基站发射的WCDMA信号.为了得到2.1376 GHz载频5M带宽的频谱,需要进行数字带通滤波,即将时域采集信号通过快速傅里叶变换(fast fourier transform,FFT)到频域后与理想的数字带通滤波器(物理可实现)点乘,最后通过快速傅里叶逆变换(inverse fast fourier transform,IFFT)完成滤波过程,如下所示:
其中,⊙表示点乘运算,A为原始采集信号,BP为理想数字带通滤波器,B为经过带通滤波后的信号.WCDMA小区搜索过程至少需要2帧数据,综合考虑4倍过采样率和降采样,则需要4×105个原始实测数据,而FPGA中FFT知识产权(intellectual property,IP)核支持的最大点数是65536.针对这个问题,根据“时域采样点数的多少不会改变频域的波形,只会影响频域的分辨率”理论,合理地将原始实测数据分成25段,每段16384点依次通过FFT和IFFT进行带通滤波,有效地解决了IP核的局限性.
WCDMA 的码片速率是 3.84 Msample/s[1],对应的4倍过采样率为15.36 Msample/s.由于 USRP的采样率无法设置成15.36 Msample/s,因此,选用就近的20 Msample/s的采样率去采集WCDMA信号时就需要用一维线性插值法对信号作降采样处理.由于,所以先在初始20 Msample/s采样率对应的样本中,每两点之间线性分成96份,然后每隔125份取一个数据组成新的样本,即可得到经过降采样后的15.36 Msample/s采样率样本,降采样算法流程如图1所示.
图1 降采样算法流程图
图1中每次循环都涉及条件判断,乘、减、加3种运算以及结果的写入(125/96属于定值,无需计算).为此,在滤波IFFT输出到写入降采样结果的过程中引入流水线技术,使得在每个时钟上升沿并行执行多种操作,提高运算效率.图2显示了降采样流程中前两次循环满足条件,第三次循环不满足条件时流水线中各个操作的执行情况.
图2 降采样中的流水线
由图2可见,当流水线满足条件时能够在每个时钟上升沿连续写入降采样后的结果;不满足条件时本时钟上升沿为空操作,但不会影响下个时钟上升沿的状态,因此加快了降采样的流程.
WCDMA帧长为38400码片,分为15个时隙,每个时隙共有2560码片.每帧时长为10 ms,对应的码片速率为3.84 Mchip/s[1].小区搜索由时隙同步、帧同步和主扰码捕获3个阶段组成,涉及3种不同的信道,分别是主同步信道、辅同步信道和公共导频信道.主同步信道在每个时隙的前256码片发送相同的主同步码;辅同步信道在每个时隙的前256码片发送不同的辅同步码(共有16种辅同步码,每帧15个时隙中辅同步码的排列组合共有64种);公共导频信道在每个时隙的所有码片发送扰码,扰码共有512种,每个小区分配的扰码有且仅有一种,称为主扰码,小区搜索的目的就是检测主扰码[1].
本文作者先提出小区搜索的快速算法并用MATLAB进行算法描述,而后在FPGA仿真过程中,通过IP核复用减少硬件资源开销,引入流水线技术加快处理速度,用较少的资源快速完成小区搜索.
主同步码是数字信号,必须经过脉冲成型滤波器变成模拟信号后才能在空中传输.该脉冲成型滤波器是一个滚降系数为0.22的根升余弦滤波器,其脉冲响应RC0(t)为[12]:
主同步码脉冲成型是通过主同步码与脉冲成型滤波器进行循环卷积实现的,循环卷积公式由下式给出:
故时隙同步的算法是先对标准的主同步码进行脉冲成型,然后与1.1个时隙的降采样数据作循环相关,会出现1个峰值点,即时隙同步点,时隙同步过程完成.大多数情况下只用1个时隙的降采样数据就可以同步时隙,当且仅当主同步码分布在被截的一个时隙数据的两端时,才用1.1个时隙的降采样数据.频域循环相关公式由下式给出:
其中,conj表示取共轭运算.循环相关的相关性体现在C向量的第一个元素,该元素的幅值越大,说明相关性越强;反之,当该元素的幅值为0时,说明A与B两向量正交.
算法上,时隙同步只需要1.1个时隙的降采样数据就可以完成,但在FPGA仿真过程中,考虑到要节省硬件资源,复用FFT IP核,故选择1.6个时隙长度的降采样数据来和经过脉冲成型后的主同步码进行频域相关,借此来找时隙同步点,即从相关结果的前1.1个时隙数据中找最大相关值,其所在的位置就是时隙头.如果该时隙头大于10240,说明检测到了2个时隙头且第二个时隙头的值比第一个时隙头的值更大,在这种情况下应该减去10240,从而得到第一个时隙头.
帧同步的算法是先对16种标准辅同步码作脉冲成型,接着,在时隙同步的基础上,以1帧中15个时隙头为起点,向后各取1024个降采样数据分别与16种辅同步码脉冲成型在时域上作点乘相关,乘积累加求和,以时隙为单位依次找出15个最大值及其位置,对应1帧中15个时隙分配的辅同步码编号,最后对检测到的辅同步码编号循环移位,并与3GPP规定的WCDMA 64组辅同步码编号的排列顺序作比较[7],直至完全匹配为止.匹配成功所在组的组号就是主扰码所在的扰码组组号[7],同时也检测到了帧头位置,时域点乘相关公式由下式给出:
其中,Σ表示求和运算.
在FPGA仿真过程中,由于文本数据的读写总是要从首行开始按行进行,导致每次时域点乘相关都要从头开始读取数据,非常耗时.对此作了改进,即首先从1帧降采样数据中分别提取每个时隙的前1/10数据形成较小的数据流,再用每个时隙的降采样数据(补0~16个时隙的长度)与16种辅同步码脉冲成型在频域上作相关,复用FFT IP核.从相关结果中的第一个开始取,之后每隔1024个取1个,共得到16个相关值,最大相关值所在的位置就是该时隙分配的辅同步码编号.上述过程共遍历15次,就可以找到1帧15个时隙分配的辅同步码编号,最后按照帧同步算法检测帧头位置和主扰码所在的扰码组组号.
WCDMA共有512个扰码,分成64组,每组8个.在帧同步过程中,已经确定了主扰码所在的扰码组组号,接下来对该扰码组里的每个扰码作脉冲成型,然后用1帧降采样数据分别和8个扰码脉冲成型作相关,最大相关值所对应的扰码便是小区的主扰码.
用FPGA仿真时,可以对上述算法进行简化,以降低运算复杂度.降采样数据以帧头为起始点,向后只取1024点,然后补0~16384点;取8个扰码脉冲成型各自前1024点,组成新的数据流,也补0~16384点.两组数据复用FFT IP核在频域中作相关,然后从相关结果中的第一点开始取,之后每隔1024个取1点,取满8个相关值为止.最大相关值所在的位置便是主扰码在该扰码组里的位置,从而检测到主扰码号.主扰码号计算公式如下所示:
至此,主扰码捕获过程结束,同时也标志着WCDMA小区搜索过程完成.
FPGA仿真结果显示上海市同济大学嘉定校区所在小区的主扰码号是198号.
接收信号的相位主要有两个来源:一是信号本身的相位信息;二是由于USRP晶振造成的频偏.另外,如果发送方和接收方有相对运动时,此时接收信号的相位还应包括由于相对运动产生的多普勒信息.
USRP晶振在工作时基本处于稳定状态,但也会稍微波动,其常温下的频偏值为0.6 ppm,最大频偏值为2.5 ppm.因此,常温条件下,在高频中心频点2.1376 GHz处采样时会产生±1282 Hz频偏的随机现象.为了还原真实的接收信号,需要对USRP晶振造成的频偏进行估计,继而用估计值补偿频偏.
取1个帧或比1个帧更短的1个时隙实测数据来估计USRP晶振频偏主要有以下两点考虑:一是帧的时间长度为10 ms,可认为这段时间内USRP晶振产生的频偏值固定不变,1个时隙更是如此;二是实测数据当时所处的测试场景中基站和USRP的位置都是固定的,主径的多普勒信息为0,如果有第二条路径因为反射运动物体产生的多普勒信息,对频偏估计的影响也很小,可以忽略不计.那么,1个帧接收数据包含的相位信息主要由发送信号本身的相位和USRP晶振造成的固定频偏组成.
根据x(t)ej2πf0t和X[j2π(f-f0)]是傅里叶变换对的原理,先对实测数据作试补偿,即先在时域中用一系列的频率值ej2πft点乘,然后与WCDMA小区搜索得到的标准主扰码脉冲成型(正交信号)在时域中作点乘相关,多组相关结果中相关值最大的组所用的频率值就是待估计的USRP晶振频偏值,如下所示:
其中,max表示求最大值运算,A为实测数据,B为经过脉冲成型的标准主扰码,fe为使得累加和最大对应的自变量,即估计得到的晶振频偏值.
这里涉及到频率估计范围与算法复杂度的权衡问题,有以下两种方案可供选择:第一种方案,第一次估计时以晶振最大频偏-1282~+1282 Hz作为频率范围,估计频偏值,第二次以第一次的估计值为中心,±500 Hz作为频率范围,估计频偏值,从第三次开始,取前面估计值中最大值与最小值的平均值为中心,±500 Hz作为频率范围,估计频偏值,依次类推,直到最大值与最小值之间的差值稳定在500 Hz之内,才以最大值与最小值的平均值为中心,±250 Hz作为频率范围进行估计;第二种方案,在30 min内,可认为晶振造成的频偏值的波动范围基本稳定在500 Hz以内,因此可在USRP实测前进行试测,事先找出该段波动范围,然后就在该波动范围内估计实测数据的频偏值.两种方案各有优点:第一种方案,估计精度较高,实用性强;第二种方案,算法复杂度较低,易于实现.本文作者选用第二种方案来估计USRP晶振造成的频偏.
常温条件下,USRP以2.1376 GHz为中心频率,实测用时11 min,共得70组数据,频偏估计结果如图3所示.以实线为例说明参数的设置情况,该曲线每组实测数据取1帧,以-1200 Hz为起点,-700 Hz为终点,1 Hz为步长估计晶振造成的频偏,其他2条曲线同理.
图3 USRP晶振频偏估计结果
从图3中可以看出,70组实测数据的频偏值都落在-1200 Hz到-700 Hz的区间内,且代表频偏估计值的3条曲线基本重合.其中,用密虚线估计频偏值就显得最为合适,在相同估计效果的前提下体现出数据量小、估计速度快的优势.因此,在FPGA仿真中,采用了疏虚线中的参数设置估计频偏.
用估计得到的频偏值在时域中与实测数据作点乘运算,补偿由于USRP晶振造成的频偏,还原真实的接收信号.
WCDMA的公共导频信道采用正交可变扩频因子(orthogonal variable spreading factor,OVSF)码扩频,承载主扰码信息[7].由于OVSF码相互完全正交,故可通过相关法去除与主扰码正交的其他信号,只剩下主扰码的自相关,估计出信道脉冲响应,公式由下式给出:
其中,‖‖表示取模运算,A为经过频偏补偿后的降采样数据,B为WCDMA小区搜索得到的标准主扰码脉冲成型,估计得到的信道脉冲响应幅值如图4所示:
图4 信道脉冲响应估计结果的幅度
WCDMA的码片都是经过根升余弦滤波器进行脉冲成型的,而该滤波器的脉冲响应的带宽为3.84 MHz,由此也决定了信道路径的分辨率.当两条功率相同的路径的相对时延大于带宽倒数的2倍(520.8 ns)时,可以直接观察到这两条路径,对应的这两条路径的路程差大于156.25 m;当两条功率相同的路径的相对时延介于带宽倒数(260.4 ns)和带宽倒数的2倍(520.8 ns)之间时,可以用高精度估计算法(如SAGE算法)将这两条路径分离开来[9-11],对应的这两条路径的路程差介于78.125 m和156.25 m之间;当两条功率相同的路径的相对时延小于带宽倒数(260.4 ns)时,再也无法区分开来,此时可视为一条路径,对应的路程差小于78.125 m.
从图4中并没有观察到明显的多条路径并存的现象,那是因为主径的功率很强,次径的功率较弱,加上WCDMA 3.84 MHz带宽对应的分辨率的限制,且没有使用高精度信道估计算法分离路径,导致了主径和多条次径叠加在一块.
信道脉冲响应的一个典型应用是在高带宽信号的条件下,利用SAGE算法通过多次反复信号迭代和重构过程,使得估计值收敛到一定程度,从而分离出一条主径和多条次径,估计各条路径之间的相对时延、多普勒、幅度、到达角、离开角等信道参数.此外,SAGE算法的一个优点是可以对上述信道参数进行单独估计,无需联合估计,从而可以大幅度地减少计算量[9-11].
至此,作者的工作全部结束,完成了从USRP实测数据到估计信道脉冲响应的算法描述和FPGA仿真验证.在仿真过程中,共使用了4个单精度浮点加法器、4个单精度浮点乘法器、2个单精度浮点除法器、1个单精度浮点比较器和1个16384点FFT IP核.
本文作者使用USRP实测中国联通基站发射的WCDMA信号,并依次完成滤波、降采样、小区搜索、晶振频偏补偿和信道脉冲响应估计的MATLAB算法描述和FPGA仿真验证.在算法描述过程中,以循环相关和FFT理论为主线,严格论证数字信号处理方法的正确性和完备性;在FPGA验证过程中,多次引入流水线技术并复用多种硬件IP核,使得速度和资源达到平衡.在32 MHz时钟频率下,仿真用时80.861 ms,还检测到上海市同济大学嘉定校区所在小区的主扰码号为198号.仿真结果表明,FPGA能以较少的硬件资源快速准确地完成信道脉冲响应估计的算法,具有较高的工程应用价值.
[1]3GPP TS 25.211 V7.9.0.Physical channels and mapping of transport channels onto physical channels(FDD)[S].Beijing:3GPP,2009.
[2]JIANG Z M.FPGA implementation of WCDMA cell search in low SNR environment[J].Electronic Design Engineering,2012,20(14):173-175.
[3]WANG H Y.Research and implementation on cell searchtechnique in WCDMA system[D].Beijing:Beijing University of Posts and Telecommunications,2009.
[4]GU T.Synchronization principle and FPGA implementation of WCDMA downlink system[D].Beijing:Beijing University of Posts and Telecommunications,2009.
[5]LI Z X.Cell Search Method in WCDMA and Its Chip Design in Terminal[D].Guangdong:South China University of Technology,2010.
[6]YUAN Z W,WANG C Y,TIAN Y,et al.One algorithm design for cell searching in WCDMA and implementation[J].Digital Communication,2013,40(1):22-26.
[7]3GPP TS25.213 V11.4.0.Spreading and modulation(FDD)[S].Valbonne:3GPP,2012.
[8]FESSLER J A,HERO A O.Space-alternating generalized expectation-maximization algorithm[J].IEEE Transactions on Signal Processing,1994,42(10):2664-2677.
[9]REN C Y.Modeling and Parameter Estimation for Wideband Channel System[D].Nanjing:Nanjing University of Posts and Telecommunications,2011.
[10]HUANG J R.Research on Data Fitting in Wireless Channel Measurement and Modeling[D].Tianjin:Tianjin University,2010.
[11]GAO Y.Parameter Estimation for Broadband Channel System based on SAGE Algorithm[D].Nanjing:Nanjing University of Posts and Telecommunications,2013.
[12]3GPP TS25.104 V11.4.0.Base Station(BS)radio transmission and reception(FDD)[S].Valbonne:3GPP,2012.