基于虚拟仪器的功率计控制设计
2016-12-23张华春吕继宇禹卫东
张华春,吕继宇,禹卫东
(中国科学院电子学研究所,北京 100190)
基于虚拟仪器的功率计控制设计
张华春,吕继宇,禹卫东
(中国科学院电子学研究所,北京 100190)
以LabVIEW虚拟仪器技术为开发平台,构建基于Agilent功率计的虚拟功率计的控制设计. 采用事件结构(Event Structure)技术,实现实时操作; 运用全局变量技术,实现控制参数的实时跟踪显示; 用属性节点技术设置图形显示信息; 用报表生成(Report Generation)和数据存储技术生成界面美观、 图文并茂的报表; 对所获取测量数据给出数据处理的过程. 该虚拟功率计解决了测试中无法保存测试波形的缺陷,能够方便地对Agilent功率计进行软件控制,在合成孔径雷达(SAR)系统集成测试中得到了较好的应用.
虚拟仪器技术; 功率计; LabVIEW; 数据处理; 报表生成
0 引 言
合成孔径雷达系统测试中,系统指标测试任务较多. 对合成孔径雷达地面测试系统而言,手动操作台式仪器存在效率低,数据分析及存储不便等缺点,因此,基于软件的自动测试系统设计势在必行[1]. 而系统测试的主要项目之一是各类信号的功率测量,但在实际使用中,存在功率计操作繁琐,且无法保存功率计测试波形的问题. 为了方便对Agilent功率计进行操作,简化操作步骤,提高测试效率,开发基于虚拟仪器技术的虚拟功率计,在雷达系统测试中显得尤为必要.
虚拟仪器以计算机硬件为平台,与仪器系统技术相结合,大大突破了传统仪器在数据处理、 显示、 传送和存储方面的限制,实现了测试仪器集成化、 远程测控一体化[2]. LabVIEW 是美国国家仪器公司(National Instruments,NI)创立的一个功能强大而又灵活的仪器和分析软件应用开发平台,是一种图形编程语言,用于测量、 过程控制及数据分析和存储[3]. 本文利用虚拟仪器技术,基于NI公司的虚拟仪器平台LabVIEW8.5,实现了对功率计的软件控制,使用操作简便,对被测信号的处理和测量更加快速,对相关指标的测试结果准确有效,为系统测试人员提供了一个快速、 便捷的测试平台.
1 系统组成
根据雷达系统测试需要,功率计虚拟仪器控制应当具有如下功能:
1) 具有良好的用户界面,完全脱离手动操作仪器面板,测试人员通过键盘和鼠标完成对功率计的操作;
2) 实时跟踪测试参数的设置(中心频率、 量程、 通道损耗、 触发源、 触发沿、 触发延迟时间、 时间范围等);
3) 实时动态刷新虚拟仪器显示波形,可以观察测试波形的局部信息;
4) 波形和测试结果以报表形式保存.
图 1 功率计控制系统组成框图Fig.1 Block diagram of the power meter control system
为了实现上述功能,系统组成如图 1 所示. 系统包括硬件和软件两部分,硬件由Agilent N1911A功率计、 GPIB总线和工控机组成,GPIB总线作为控制端与仪器之间传送数据的通道,控制端为带有VXI和GPIB接口的计算机.
图 2 虚拟功率计LabVIEW主界面Fig.2 LabVIEW main interface of virtual power meter
软件由LabVIEW编写,主要由主控界面和测试参数设置、 波形显示控制子界面组成,子界面包括: Channel (通道设置,包括频率、 视频带宽、 通道损耗、 波形显示横/纵坐标量程等设置)、 Trig/Acq(触发选择设置,包括触发源、 触发模式、 触发电平、 触发沿、 触发延迟时间、 触发状态等设置)、 波形显示设置(实时刷新显示波形)、 保存波形设置(波形和测试结果的保存). 虚拟功率计的主控界面如图 2 所示: 中间为测试波形显示区域,波形显示横/纵坐标量程实时跟踪参数设置; 左侧是功率计参数设置、 波形显示及存储功能按键; 上方是Maker显示、 波形分析按键(波形局部放大或缩小); 下方是测试数据分析结果的实时显示,包括峰值功率电平、 均值功率电平、 波形包络的上升沿及下降沿、 脉冲宽度和脉冲顶降.
2 虚拟功率计设计中的关键技术
2.1 事件结构(Event Structure)技术
Event Structure是事件结构编程技术[2],这种结构能够响应Notify(通知)事件. Notify事件通知LabVIEW一个动作已经发生,Event Structure得到该事件发生的通知,立即进入相应的驱动程序,提高了响应的实时性. 当没有任何事件发生时,Event Structure处于睡眠状态,等待预先设定事件的发生,程序并不处于循环查询状态.
虚拟功率计主程序中使用Event Structure事件结构模式,设置5个布尔型控件按钮值改变事件,用来驱动Preset(初始化)、 Channel(通道设置)、 Trig/Acq(触发设置)、 波形显示、 波形存储设置等功能,点击某按钮后其值得到改变,将触发相应的测试过程.
2.2 测试参数设置技术
2.2.1 对仪器写入控制命令和读取数据
虚拟功率计的设计基础,主要是进行仪器I/O操作,完成对仪器发送命令,从仪器读回响应数据的操作. 对于GPIB的读/写操作,调用VISA Write和VISA Read函数. 图 3 分别为写入命令到仪器(Send Control Command.vi)、 从仪器读回数据(Read Data.vi)的程序.
图 3 仪器的读写操作Fig.3 Read and write operations to the instrument
2.2.2 仪器参数初始化
图 4 仪器的初始化操作Fig.4 Initialization operation of instrument
向功率计发送*CLS命令,清除状态数据寄存器; 发送SYS:PRES RAD命令,初始化功率计到雷达测试状态; 发送DISP:WIND1:FORM TRAC命令,设置功率计显示界面为图形界面. 仪器初始化程序框图如图 4 所示.
2.2.3 仪器参数控制设置技术
对于功率计的仪器参数设置包括: 频率(Frequency)、 带宽(Video B/W)、 功率偏置(Offset)、 波形横轴起始位置(XStart ns)、 波形横轴量程(XScale us/Div)、 波形纵轴最大值(YMax dBm)、 波形纵轴最小值(YMin dBm). 对上述仪器参数控制的具体实现程序如图 5 所示.
图 5 仪器参数控制实现的程序框图Fig.5 Block diagram of instrument parameter implementation
对于触发选择Trig/Acq,分别进行触发源选择(内部/外部),发送指令TRIG:SOUR EXT或TRIG:SOUR INT来实现; 触发沿选择(上升沿/下降沿),发送指令TRIG:SLOP POS或TRIG:SLOP NEG来实现; 触发模式选择(自动/电平),发送指令TRIG:LEV:AUTO ON或TRIG:SEQ:LEV +前面板的触发电平来实现; 触发延迟时间,发送指令TRIG:SEQ:DEL +前面板的触发延迟时间来实现; 触发状态选择(连续/单次触发),通过发送指令INTI:CONT ON或INIT:CONT OFF来实现. 实现方式同通道设置实现一致,不再赘述.
2.3 属性节点技术
前面板上的每一个变量、 控件和对象都有Property Node(属性节点),可以用来控制位置、 可视、 颜色、 Captoin、 Lable等多种信息.
图 6 按钮互锁功能的实现Fig.6 Realization of buttons interlocking function
2.3.1 按钮互锁功能的实现
在波形实时显示过程中,为了不打断正常的波形实时动态显示,需要操作显示结束按钮之后,再进行波形保存操作. 为了避免误操作,在波形显示按钮按下时,即在波形显示过程中,保存波形按钮禁用并变灰. 而当显示结束时,保存波形按钮处于启用状态中,利用保存波形的属性节点,实现的程序框图如图 6 所示.
2.3.2 波形图坐标刻度显示的实现
图 7 波形图坐标刻度显示的实现Fig.7 Implementation of the waveform coordinate scale
在虚拟功率计波形显示图中,为了获取坐标刻度,采用对功率计发送读取坐标最大值最小值的查询命令,获取坐标的最大、 最小值的ASCII码值,经分数/指数字符串至数值转换函数,解析为相应的浮点数,写入Agilent功率计属性节点相应的刻度最大值最小值,实现波形刻度显示的程序框图如图 7 所示.
例如查询纵轴最大值(如设置为缺省状态+20 dBm),获取的ASCII码字符为2B32 2E30 3030 3030 3030 3045 2B30 3031 0A(+2.00000000E+001Line feed回车),数据输出结果为20.00 dBm.
图 8 获取左右游标位置的实现Fig.8 Obtaining the right and left cursor position
2.3.3 获取左右游标位置的实现
利用属性节点的游标列表属性,在Agilent功率计波形显示图中,获取左右游标位置信息,为后续数据处理中获得左右游标之间的测试结果做准备. 其程序框图如图 8 所示.
2.4 测试数据处理技术
2.4.1 测试波形数据的获取
采用循环方式进行波形显示数据的获取,根据功率计编程指导[4],对Agilent功率计发送如下的命令序列来进行波形数据的获取. ①INIT:CONT OFF②TRAC:STAT ON③AVER:STAT OFF④INIT⑤FETCH?⑥TRACE:DATA HRES,此后利用VISA Read函数读取波形数据.
2.4.2 测试波形数据格式及处理
波形数据以IEEE 488.2任意块编程数据格式获得,其数据块格式[4]如下所示:
对于测试数据的每一个测试点,以IEEE 754[5]32 b浮点数据格式表示,即由块中的4个字节构成一个采样点数据.
例如数据块为: 2333 3630 30C2 8A00 00C1 E526 E3C2 04C6 2BC2 …… 0A,前几位的ASCII码#3600表示用3位数据来表示该数据块中包含的字节个数,为600个字节. 而有效数据字节为C2 8A00 00C1 E526 E3C2 04C6 2BC2……. 根据每4个字节构成一个采样点数据,重新组合为:
C28A 0000 C1E5 26E3 C204 C62B C2…
以C28A 0000为例,下面计算每个采样点的具体数值. 首先将C28A 0000拆开成二进制,为1100 0010 1000 1010 0000 0000 0000 0000. 而IEEE754 32 b浮点数据格式,使用1个符号,8个阶码,23个尾数,分别在上面提取这些内容.
符号位: 第一位为1,表示负数;
s阶码: 2~9 b: 10 000 101为133,实际的幂值为133-127=6;
尾数: 10~32b: 000 1010 0000 0000 0000 0000,实际值为1.000 101(1+尾数);
根据IEEE754 32 b浮点数据格式变换公式写出实际数值大小为-1 000 101,化为十进制为-69 dBm.
从所获取的IEEE 754数据格式,利用LabVIEW实现的上述数据变换过程的程序框图如图 9 所示.
图 9 测试波形数据处理程序框图Fig.9 Block diagram of test waveform data processing
根据数据块开始#部分后面的数据字节有效位数,定位有效数据首字节的位置,然后循环提取有效数据. 循环语句采用移位寄存器的方式,每次取出4个字节的有效数(4个ASCII码),根据匹配模式输出匹配模式的偏移量,与零进行比较,构成是否进行下一循环的条件. 若后续还有数据字节个数,则该值大于零,继续进行循环. 经匹配模式选取的4个ASCII码,经强制类型转换,转换成32 b精度的浮点数,同时循环次数i作为数组指针,将转换完的数组置于输出数组中进行保存.
2.4.3 获取游标之间的测试结果
图 10 测试数据结果获取程序框图Fig.10 Block diagram of test data acquisition program
首先利用对Agilent功率计的查询指令,SENS:TRAC:TIME和SENS:TRAC:OFFS:TIME,获取功率计显示波形横坐标的持续时间和开始时间. 根据2.4.2所获取的采样数据放置的输出数组,经数组大小函数,返回数组中元素的个数,作为采样点数. 然后利用波形持续时间和采样点数,获取ΔX每个采样点的步进时间.
利用2.3.3 属性节点特性获取左右游标的位置,根据波形开始时间X0,采样点步进时间ΔX,左右游标位置,对所获得的功率计数据,计算游标之间Peak峰值、 平均值功率电平、 脉冲顶降(功率峰值-功率最小值)的程序框图如图 10 所示.
其中: (右游标-X0)/ΔX-(左游标-X0)/ΔX+1,表示左、 右游标间所包含的采样点个数,作为数组子集的采样点个数(长度),而数组子集的开始位置为(左游标-X0)/ΔX取整后为开始指针,即数组子集为根据左右游标信息,从左游标处开始取数据,直到右游标处停止的采样数据.
对于所得到的左右游标之间的采样数据,根据数组最大值函数,获得左右游标间采样数据的峰值,即峰值功率电平. 为了获得均值,调用Decimade.vi,降采样(单次,DBL)来求解,布尔控件为True,注意到降采样因子m等于数组中元素的个数n,因此,索引数组输出即为采样点数据的平均值.
2.5 全局变量技术
LabVIEW的全局变量技术是系统参数跟踪功能得以实现的关键技术. 全局变量把两个独立的VI联系起来,实现不同VI之间的通信,使得异步的任务可以共享信息.
在2.4.3获取游标之间的测试结果中,得到最新的峰值功率和均值功率测量值后存入各自的全局变量,这样在2.6报表生成及保存技术中的保存波形VI中,可以共享这两个全局变量的值,实现测试结果的实时跟踪.
2.6 报表生成及保存技术
利用LabVIEW的Report Generation类函数制作标准报表或HTML网页格式的报表. 测试数据和测试波形的保存,对于系统测试是必须的,而Agilent功率计无法通过面板操作实现测试结果和波形的保存,为解决这个问题,实现的报表生成及保存程序如图 11 所示.
图 11 报表生成及保存示例程序框图Fig.11 Block diagram of report generation and save program
INIT子VI初始化报表,设置报表表头,测试说明信息等; Append Report Text.vi(添加报表文本)实现添加测试人信息至所选报表; 调用Append Table to Report.vi将表格化的表头信息及利用全局变量获得的测试值,构成二维数组作为指定列宽的表格添加至报表; New Report Line.vi在报表中开始一个新行,准备添加图像文件; Append Control Image to Report.vi添加控件图像至报表,而图像的获取采用“VI服务器引用”来实现,右键单击VI服务器引用,从快捷菜单中选择链接至》窗格》Agilent功率计,即创建一个功率计显示波形控件引用指定的前面板对象的图像; Save Report to File.vi按照报表文件路径,将HTML报表保存至文件中; Dispose Report.vi关闭报表并释放其界面以节省内存.
利用该虚拟功率计,对某雷达系统被测信号进行了功率测量,测试结果保存如图 12 所示,保存的文件中包含测试结果和测试波形.
对被测功率的测试结果表明: 基于LabVIEW的虚拟功率计实现了由虚拟功率计的人机界面远程控制台式功率计的参数设置及测试波形数据的读取,实现了实时动态跟踪显示台式功率计的波形,可以方便地进行波形的图形化保存,操作简单方便.
图 12 某被测雷达信号功率测试结果Fig.12 Test results of a radar power signal
3 结束语
本文提出的基于LabVIEW的虚拟功率计控制系统,从设计、 实现和应用等方面同传统测试方法相比,具有一定的优越性. 在传统测试过程中,需要人工地调整和手动控制仪器,测试结果和测试波形无法保存,使用本系统能够高效地进行系统测试,完全脱离了繁琐的手动操作过程,不仅实现了被测信号功率波形的实时动态显示、 波形及测试结果的保存,而且提高了测试效率,在SAR系统集成测试中得到了较好的应用.
[1] 吕继宇,张华春,阴和俊. 基于LabVIEW 的频谱仪控制系统设计[J].测试技术学报, 2005, 19(4): 426-431. Lv Jiyu, Zhang Huachun, Yin Hejun. Design of control system for spectrum analyzer with LabVIEW[J]. Journal of Test and Measurement Technology, 2005, 19(4): 426-431. (in Chinese)
[2] 杨乐平,李海涛. LabVIEW高级程序设计[M]. 北京: 清华大学出版社, 2003.
[3] Robert H. Bishop. LabVIEW 6i[M]. Beijing: Publishing House of Electronics Industry, 2003.
[4] Agilent Technology. P-Series Power Meter Programming Guide(N1911A and N1912A)[M]. USA: Agilent Technologies Inc, 2005.
[5] ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic, Published by The Institute of Electrical and Electronic Engineers[S]. Inc, New York, USA, 1985.
Design of Control System for Power Meter Based on Virtual Instrument Technology
ZHANG Huachun, LV Jiyu, YU Weidong
((Institute of Electronics, Chinese Academy of Sciences, Beijing 100190, China)
The control system is designed by power meter which based on agilent with LabVIEW virtual instrument development platform. And operations is realized by using Event Structure technology; Real-time tracking display is obtained by using global variables technology; Graphics information is set by using attribute node technology; While Elegant report form is generated by using report generation and data storage technology; The process of treating data will be delivered in detail when getting. The problem of the waveform and measurement result saving are solved. It can conveniently operate on the Agilent power meter through control software and obtain better application in Synthetic Aperture Radar (SAR) integration test system.
virtual instrument technology; power meter; LabVIEW; data processing; report generation
1671-7449(2016)06-0511-07
2016-06-20
国家部委基金资助课题
张华春(1965-),男,研究员,主要从事合成孔径雷达系统集成与信号处理的研究.
TM933
A
10.3969/j.issn.1671-7449.2016.06.011