推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

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

更新时间:2019-12-21 11:49:12 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:pythonwifi 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

无线通信产品的射频参数测试过程中涉及大量的仪器重复性操作过程,使用软件控制频谱仪的自动化测试可以大幅度减少测试时间.传统的自动化测试一般采用LabView进行开发,但是LabView软件价格较高,其编程模式也与其它编程语言差异较大.


部分文件列表

文件名 大小
基于Python的WIFI参数测试软件设计.pdf 2M

部分页面预览

(完整内容请下载后查看)
商品与质量  
ꢀTechnological innovation  
科技创新  
基于 Python 的 WIFI 参数测试软件设计  
林奕翔  
深圳市计量质量检测研究院 广东深圳 518055  
[摘 要]无线通信产品的射频参数测试过程中涉及大量的仪器重复性操作过程,使用软件控制频谱仪的自动化测试可以大  
幅度减少测试时间。传统的自动化测试一般采LabView行开发,但LabView件价格较高,其编程模式也与其它编程语言  
差异较大。  
[]无线通信;编程模式;编程语言  
[图分类]TP313  
[献标识]A  
本文采用免费的 Python 语言环境开发射频参数测试软件,完  
成测试以及报告结果输出功能。  
每次测量后保存的字典 key 关键字如不存在,软件将自动增加  
一个,如存在则对值进行更新。在进行完所有的测量后,可以将结  
果保存到 json 文件中。  
1 总体设计  
1.1 仪器硬件需求  
import json  
无线通信产品的射频参数测试通常使用频谱分析仪进行,主流  
频谱分析仪均可通过 GPIB 或以太网接口进行控制。  
在需要进行其它射频参数测试的情况下,可以增加连接连续波  
信号源、矢量信号源等仪器。连接方式与频谱分析仪相同。  
1.2 软件配置需求  
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  
本 文 采 用 的 软 件 方 案, 应 用 层 采 用 Python3.7 版 本 配 合  
PyVisa 库,仪器驱动部分直接采用 SCPI 命令接口。VISA 为仪器  
通用的测试接口库,在频谱分析仪等测量仪器的随机软件中均有包  
含,通常下载 NIVISA 或 KeysightVISA 库,直接在计算机系统中  
进行安装即可。计算机安装 Python 和 PyVisa 库和 VISA 驱动程序  
软件后即可进行测试软件开发 [1]  
2 测试软件设计  
2.1 仪器连接控制  
tpl = DocxTemplate(template.docx)  
Python 进行自动化控制连接需要使用 PyVISA 库 (1) 进行。根  
据仪器制造商提供的例程 (2) 可以快速的实现仪器初始化。  
import visa  
tpl.render(ResultDict)  
tpl.save(report.docx)  
3 软件运行结果  
rm = visa.ResourceManager()  
3.1 测试界面  
specan = rm.open_resource(‘TCPIP::192.168.48.149::INS  
TR’) #IP 地址需修改为仪器实际地址  
软件编制完成运行界面采用 wxPython 进行软件用户界面设  
计,为用户提供仪器连接地址配置、测试模式、天线增益等测试所  
需参数输入功能。以免用户最终需要采用命令行方式进行测试 [3]  
specan.write_termination = ‘\n’  
specan.clear()  
3.2 结果输出  
idn_response = specan.query(‘*IDN?’)  
print (idn_response)  
测试软件可将测量结果输出至 word 文档中,可以用正常办公  
软件进行编辑,输出为最终测试报告。  
后续频谱仪操作只需要使用 specan.write 和 specan.query 向  
仪器发送 SCPI 命令即可实现控制和获取测量结果功能。仪器可用  
的 SCPI 命令可在仪器制造商的支持文件 (3) 中进行查找。  
在程序中可以用函数对测试功能进行定义,例如对产品常用的  
射频参数功率、占用带宽、带内杂散、带外杂散、频率误差等测试  
功能进行函数定义,复用代码。  
4 结语  
本文设计的射频参数测试软件可完成频谱分析仪参数设置,  
测量结果读取,测量结果记录以及按照报告模板输出报告的功能。  
运行结果表明 ꢀ 采用 Python 自动化测试可以大幅度减少射频参数  
测试时间,保持测试准确率、可重复性 ꢀ 且该软件具有操作简单 ꢀ  
可灵活修改测量参数的特点 ꢀ 可以应用于日常自动化测试的快速开  
发。  
2.2 测试数据存储记录  
Python 的语法灵活,无需进行变量类型定义,便于非专业编  
程人员对数据进行处理。对于简易的测试,可以采用 Python 中的  
参考文献:  
[1]BM司无线通信模块产品质量管理研[D]东理  
字典数据类型,将测试结果在测试过程中保存在字典中。例如在进 工大2017.  
行占用带宽测量设置后,可通过字典的 update 方法将测量结果保  
[2]线通信产品的可靠性预计与实[J]代电  
存到字典中。  
ResultDict = {}  
子技2013,36(18):7-9+12.  
[3]供智简便的无线通信测试访  
ResultDict.update({‘11b_CH1_OBW’ : specan. 特波特公司产品营销高级总JohnLukez[J]外电子测量技  
query(CALC:MARK:FUNC:POW:RES? OBW)}  
2013,32(04):11-12.  
商品与质量  
SHANGPINYUZHILIANG  
198  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载