TD—SCDMA终端OTA测试系统数据采集模块的设计

2014-12-30 22:08李欣
科技创新与应用 2014年3期

摘 要:为了全面衡量TD-SCDMA终端性能,文章提出了一种基于SP6010综合测试仪和GPIB总线的TD-SCDMA终端OTA测试系统数据采集模块的设计方案,实现了TRP和TIS测试。

关键词:TD-SCDMA终端;SP6010;GPIB;OTA测试;TRP;TIS

1 引言

经过多年的发展,TD-SCDMA产业已经有了一定的规模,形成了完整的产业链。我国的产业界还需要团结奋斗,逐步缩小产业化上的差距,将TD-SCDMA商用化并推向世界,这将对我国通信领域的发展产生深远的影响。

正是在这样的背景下,对TD-SCDMA终端性能的全面衡量成为越来越迫切的任务。现在终端射频性能测试中越来越关注终端整体辐射性能的测试。因此,OTA(over the air)测试得到重视,其主要是测试在微波暗室里自由空间和人头模型左右耳三种情况下终端的总辐射功率(total radiated power,TRP)和总全向灵敏度(total isotropic sensitivity,TIS)这两个指标,直接反应了终端整机在三维空间各个方向上的辐射性能表现[1]。

为此,本文提出了TD-SCDMA终端OTA测试系统数据采集模块的设计方案,其是一种基于GPIB总线和SP6010综合测试仪的自动测试解决方案,实现了TRP和TIS测试。

2 方案设计

TD-SCDMA终端OTA自动测试软件系统选用Visual Basic 6.0作为开发工具,它包括系统校准模块,系统配置模块,数据采集模块,数据处理模块,和用户管理模块等[2],其中数据采集模块是最重要的一个功能模块,以动态链接库形式提供,方便系统的升级和扩展,它是基于GPIB总线和SP6010综合测试仪来实现的,结合TD-SCDMA终端OTA测试的特点和对应的规范要求,主要通过VISA库函数发送SCPI命令控制仪器自动完成各种测试。

GPIB总线是1975年被IEEE和IEC接受为程控仪器和自动化测试系统的标准接口,也称为IEEE488接口或IEC625接口,目前的协议是IEEE488.2。GPIB接口采用24脚插座,包括7根地线,1根屏蔽线和16根信号线,具有10种接口功能,地址容量为31个听地址和31个讲地址,最多可连接14台仪器。

SP6010是北京星河亮点通信软件有限责任公司自主研发的TD-SCDMA终端综合测试仪,具备TD-SCDMA系统模拟器、信号发生器和终端信号分析仪的功能,此外,SP6010具有远程控制功能,同时具备丰富的外部接口,因此适合与其他仪表互连实现系统集成测试[3]。

3 方案实现

TD-SCDMA终端OTA测试系统数据采集模块主要完成TRP和TIS两个指标的测试。

总辐射功率TRP测试是通过对终端三维辐射球面的发射功率进行面积分并取平均而得到的,其要求进行自由空间和人头模型左右耳三种状态以及终端高中低三个信道的测试。在实际测试中,TRP是通过测试三维球面有限个点的等效全向辐射功率EIRP进行数值计算而得到的,因此对TRP测试归结为测量EIRP的实现上,计算公式如下(其中N和M分别表示Theta轴和Phi轴的采样点数):

(3.1)

总全向灵敏度TIS测试是通过对终端三维空间球面的接收灵敏度进行面积分而得到,其要求进行自由空间和人头模型左右耳三种状态以及终端高中低三个信道的完整测试和中间信道的部分测试。在实际测试过程中,TIS是通过在三维空间不同测试点上调整综合测试仪输出功率,测量此时BER或FER是否达到规定值(一般为0.5%),并记录对应的等效全向灵敏度EIS,再进行数值计算得到的,因此对TIS测试归结为控制综合测试仪输出功率和测量BER的实现上,计算公式如下(其中N和M分别表示Theta轴和Phi轴的采样点数):

(3.2)

下面将介绍如何控制SP6010综合测试仪来完成TRP和TIS的测试。

3.1 总体流程

SP6010基本控制流程如下图[4]所示:

图3-1 SP6010基本控制流程

3.2 设备初始化

Call viOpenDefaultRM(g_DefRM) '与默认资源管理器建立通信链路

Call viOpen(g_DefRM,strAddress,0,0,g_viOBT)'建立指定仪器通信链路

3.3 系统重置

Call viVPrintf(g_viOBT,"*RST "&Chr$(10),0)'对指定仪器进行系统重置

Call viVPrintf(g_viOBT,"*IND? "&Chr$(10),0)'获取指定仪器的标识信息

3.4 终端注册

终端注册是建立呼叫连接的前提,只有确认注册成功后,才能进行呼叫和测量。SP6010终端注册主要通过以下两个呼叫控制命令来实现:

Call viVPrintf(g_viOBT,"CALL:REGister:STARt"&Chr$(10),0)'开始终端注册

Call viVPrintf(g_viOBT,"CALL:REGister? "&Chr$(10),0)'查询终端注册连接状态

3.5 建立呼叫连接

下行闭环功率控制和误码率测量前SP6010需要与终端建立呼叫连接,主要通过以下两个呼叫控制命令来实现:

Call viVPrintf(g_viOBT,"CALL:ORIGinate "&Chr$(10),0)'SP6010向終端发起呼叫

Call viVPrintf(g_viOBT,"CALL:CONNected? "&Chr$(10),0)'查询呼叫连接状态

3.6 最大功率发射

在进行TRP和TIS测试时都要求终端处于最大功率发射,因此SP6010作为基站模拟器必须控制待测终端进入最大功率发射,达到OTA测试的要求,这就需要通过下行闭环功率控制来完成。SP6010通过发送一组TPC命令控制终端的发射功率大小,TPC命令在每个5ms子帧里发送一次,这使得TD-SCDMA系统可以进行快速功率控制。

SP6010进行下行闭环功率控制的主要设置参数是:

(1)功率控制开关状态(PC Close Status):ON/OFF。当切换到其他测量项时,应停止功率控制测量;如果没有停止,则功控模板将仍然在其他测量项中运行直到模板运行结束,此时可能对其他测量项的结果准确度有一定影响。

(2)功率控制类型(PC Type):MAX/CURRENT/MIN。在功率控制模板结束后,MAX表示将终端功率控制到最大;CURRENT表示终端功率将保持功控停止时刻的功率不变;MIN表示将终端功率控制到最小。

(3)模板类型(Mask Type):TYPE1~TYPE9。

表3-1 模板类型参数说明

(4)功率等级(Power Class):1~4。

表3-2 功率等级参数说明

'设置参数,具体请查看以上说明

Call viVPrintf(g_viOBT,"SETup:PCONtrol:CLPControl:STATe ON"&Chr$(10),0)

Call viVPrintf(g_viOBT,"SETup:PCONtrol:CLPControl:STYPe MAX"&Chr$(10),0)

Call viVPrintf(g_viOBT,"SETup:PCONtrol:CLPControl: MTYPe TYPE4"&Chr$(10),0)

Call viVPrintf(g_viOBT,"SETup:PCONtrol:PCLass 2"&Chr$(10),0)

'开始下行闭环功率控制和判断是否已完成

Call viVPrintf(g_viOBT,"INITiate:PCONtrol "&Chr$(10),0)

Call viVPrintf(g_viOBT,"INITiate:DONE? "&Chr$(10),0)

Call viVScanf(g_viOBT,"%t ",strRet)

'关闭功控模板和结束下行闭环功率控制

Call viVPrintf(g_viOBT,"SETup:PCONtrol:CLPControl:STATe OFF"&Chr$(10),0)

Call viVPrintf(g_viOBT,"ABORt:PCONtrol "&Chr$(10),0)

3.7 测量EIRP

EIRP的测量包括Theta分量和Phi分量的测量,这主要是通过极化控制器来进行区分,其中获取EIRP值的函数代码如下:

Public Function GetEIRP()As Double

Dim strRet As String *200'读取缓冲区

'获取在特定信道下某个方向上测试点的EIRP值

Call viVPrintf(g_viOBT,"INITiate:PCONtrol "&Chr$(10),0)

Call viVPrintf(g_viOBT,"FETCh:PCONtrol:UNLevel? "&Chr$(10),0)

Call viVScanf(g_viOBT,"%t",strRet)

GetEIRP=CDbl(strRet)

Call viVPrintf(g_viOBT,"ABORt:PCONtrol "&Chr$(10),0)

End Function

3.8 测量BER

一般OTA测试规范中要求BER=0.5%,此时测试精度比较高,但测试时间比较长。在一些对精度要求不是很高的情况下,可以把BER设置的高一些,然后再通过计算两者之间最佳灵敏度点的差值来进行各测量点的补偿,最后得出近似的TIS。本设计可以灵活设置BER的值,以适应不同的应用要求,其中获取BER测量值的函数代码如下:

Public Function GetEIRP()As Double

Dim strRet As String *200'读取缓冲区

Dim intLoopTimes As Integer

'开始测量BER

Call viVPrintf(g_viOBT,"INITiate:BERRor "&Chr$(10),0)

Call viVPrintf(g_viOBT,"INITiate:DONE? "&Chr$(10),0)

Call viVScanf(g_viOBT,"%t ",strRet)

'测量BER是否完成

intLoopTimes=0

Do While InStr(strRet," BER")=0 And intLoopTimes

Call viVPrintf(g_viOBT,"INITiate:DONE? "&Chr$(10),0)

Call viVScanf(g_viOBT,"%t ",strRet)

intLoopTimes=intLoopTimes +1

Loop

'测量BER是否已成功

If intLoopTimes <> gc_intMaxLoopTimes Then

'获取当前的BER值

Call viVPrintf(g_viOBT,"FETCH:BERRor:RATio? "&Chr$(10),0)

Call viVScanf(g_viOBT,"%t ",strRet)

GetBER=CDbl(strRet)

Else

'设置错误标记

GetBER=-1

End If

'结束测量BER

Call viVPrintf(g_viOBT,"ABORt:BERRor "&Chr$(10),0)

End Function

4 结束语

随着TD-SCDMA系统的逐步推广,评估其终端性能表现越来越受到网络运行商和终端生产商的重视,而OTA测试很好的反映了终端整体辐射性能优劣,成为了一个非常重要的衡量指标。正是在这样的背景下,本文完成了基于GPIB总线和SP6010综合测试仪的TD-SCDMA终端OTA测试系统数据采集模块的设计,从而实现了TD-SCDMA终端OTA测试系统自动化控制,为TD-SCDMA终端的研发和生产提供了必要的质量保证。

参考文献

[1]唐伟生,谢泽明.TD-SCDMA终端OTA测试系统的设计[J].微计算机信息,2010,26:116-118.

[2]杨乐平,等.虚拟仪器技术概述[M].北京:电子工业出版社,2003,3:156-159.

[3]北京星河亮点.SP6010用户手册[Z].2006,4-7.

[4]北京星河亮點.SP6010 GPIB远程控制用户手册[Z].2006,18-20.

作者简介:李欣(1982-),河北邯郸人,硕士,毕业于华南理工大学,现就职于华南理工大学广州学院电子信息工程系,讲师,主讲课程《信号与系统》,《数字信号处理》,《移动通信原理》等。主要研究方向:数字图像处理及移动通信。