基于Python的WIFI参数测试软件设计

2019-12-19 09:32林奕翔
商品与质量 2019年5期
关键词:测试软件分析仪字典

林奕翔

深圳市计量质量检测研究院 广东深圳 518055

本文采用免费的Python语言环境开发射频参数测试软件,完成测试以及报告结果输出功能。

1 总体设计

1.1 仪器硬件需求

无线通信产品的射频参数测试通常使用频谱分析仪进行,主流频谱分析仪均可通过GPIB或以太网接口进行控制。

在需要进行其它射频参数测试的情况下,可以增加连接连续波信号源、矢量信号源等仪器。连接方式与频谱分析仪相同。

1.2 软件配置需求

本文采用的软件方案,应用层采用Python3.7版本配合PyVisa库,仪器驱动部分直接采用SCPI命令接口。VISA为仪器通用的测试接口库,在频谱分析仪等测量仪器的随机软件中均有包含,通常下载NIVISA或KeysightVISA库,直接在计算机系统中进行安装即可。计算机安装Python和PyVisa库和VISA驱动程序软件后即可进行测试软件开发[1]。

2 测试软件设计

2.1 仪器连接控制

Python进行自动化控制连接需要使用PyVISA库(1)进行。根据仪器制造商提供的例程(2)可以快速的实现仪器初始化。

import visa

rm = visa.ResourceManager()

specan = rm.open_resource(‘TCPIP::192.168.48.149::INS TR’) #IP地址需修改为仪器实际地址

specan.write_termination = ‘ ’

specan.clear()

idn_response = specan.query(‘*IDN?’)

print (idn_response)

后续频谱仪操作只需要使用specan.write和specan.query向仪器发送SCPI命令即可实现控制和获取测量结果功能。仪器可用的SCPI命令可在仪器制造商的支持文件 (3)中进行查找。

在程序中可以用函数对测试功能进行定义,例如对产品常用的射频参数功率、占用带宽、带内杂散、带外杂散、频率误差等测试功能进行函数定义,复用代码。

2.2 测试数据存储记录

Python的语法灵活,无需进行变量类型定义,便于非专业编程人员对数据进行处理。对于简易的测试,可以采用Python中的字典数据类型,将测试结果在测试过程中保存在字典中。例如在进行占用带宽测量设置后,可通过字典的update方法将测量结果保存到字典中。

ResultDict = {}

ResultDict.update({‘11b_CH1_OBW’ : specan.query(CALC:MARK:FUNC:POW:RES? OBW)}

每次测量后保存的字典key关键字如不存在,软件将自动增加一个,如存在则对值进行更新。在进行完所有的测量后,可以将结果保存到json文件中。

import json

with open(‘test_result.txt’, ‘w’) as json_file:

json.dump(ResultDict, json_file,ensure_ascii=False, indent=4)

2.3 测试结果输出设计

为将测试结果输出为常用的Word文件,可以采用Python的docxtpl库进行Word模板文件输出。Docxtpl库用任意现有的Word文件作为模板文件,仅需在显示测试结果的位置插入特定标签,以{{}}符号标识即可。例如前述测试结果的11b_CH1_OBW,只需要在适当位置插入文本{{11b_CH1_OBW }}。Docxtpl库采用字典类型数据作为模板的填充数据来源,因此可以直接采用前面测试所得的ResultDict字典变量[2]。主要代码如下:

from docxtpl import DocxTemplate

tpl = DocxTemplate(template.docx)

tpl.render(ResultDict)

tpl.save(report.docx)

3 软件运行结果

3.1 测试界面

软件编制完成运行界面采用wxPython进行软件用户界面设计,为用户提供仪器连接地址配置、测试模式、天线增益等测试所需参数输入功能。以免用户最终需要采用命令行方式进行测试[3]。

3.2 结果输出

测试软件可将测量结果输出至word文档中,可以用正常办公软件进行编辑,输出为最终测试报告。

4 结语

本文设计的射频参数测试软件可完成频谱分析仪参数设置,测量结果读取,测量结果记录以及按照报告模板输出报告的功能。运行结果表明,采用Python自动化测试可以大幅度减少射频参数测试时间,保持测试准确率、可重复性,且该软件具有操作简单,可灵活修改测量参数的特点,可以应用于日常自动化测试的快速开发。

猜你喜欢
测试软件分析仪字典
Sekisui CP3000与STA Compact Max凝血分析仪检测项目比对分析
经皮血气分析仪TCM4的结构原理及日常维护保养与常见故障处理
SYSMEX XN-550全自动血液分析仪的校准及性能评价
Sievers分析仪(苏伊士)
网络自适应测试软件运行方法设计
字典的由来
自动化检测EPU10A板卡系统设计与实现
大头熊的字典
正版字典
远程开放教育学生自主学习能力评价的研究