基于远程频谱仪通信的d/a数据采集分析方法

文档序号:1566494 发布日期:2020-01-24 浏览:6次 >En<

阅读说明:本技术 基于远程频谱仪通信的d/a数据采集分析方法 (D/A data acquisition and analysis method based on remote frequency spectrograph communication ) 是由 李继秀 孟真 田易 刘谋 钟燕清 张兴成 阎跃鹏 于 2019-10-29 设计创作,主要内容包括:本发明提供一种基于远程频谱仪通信的D/A数据采集分析方法,包括:采用上位机对嵌入式设备和频谱仪进行参数设置;所述嵌入式设备依据所述上位机设置的参数产生模拟信号并发送给频谱仪;所述上位机控制所述频谱仪在线采集所述模拟信号并进行分析。本发明基于远程频谱仪通信的D/A数据采集分析方法中,上位机通过与频谱仪进行通讯并控制频谱仪进行信号采集及在线数据分析,从而实现对产生的模拟信号的性能指标科学定量直观的测试和界面化显示。(The invention provides a D/A data acquisition and analysis method based on remote spectrometer communication, which comprises the following steps: setting parameters of the embedded equipment and the spectrometer by using an upper computer; the embedded equipment generates an analog signal according to the parameters set by the upper computer and sends the analog signal to the frequency spectrograph; and the upper computer controls the frequency spectrograph to collect and analyze the analog signals on line. In the D/A data acquisition and analysis method based on remote spectrometer communication, the upper computer communicates with the spectrometer and controls the spectrometer to acquire signals and analyze data on line, so that scientific, quantitative and visual testing and interface display of performance indexes of generated analog signals are realized.)

基于远程频谱仪通信的D/A数据采集分析方法

技术领域

本发明涉及模拟信号在线分析技术,尤其涉及一种基于远程频谱仪通信的 D/A数据采集分析方法。

背景技术

目前基于的数据采集及分析都是针对数字信号,对于模拟信号的性能分析,只能依靠一些外在工具如频谱仪,手动进行设置及观察,或者硬件再加一级A/D转换器生成数字信号,从而进行数据采集及后续分析。这不利于实现真正应用中的尤其批量产品模拟信号的自动化测试,另外对于该产品中的模拟信号的一些性能指标,也很难直接定量化评判和测试。

发明内容

本发明提供的基于远程频谱仪通信的D/A数据采集分析方法,实现在线对模拟信号的定量化评判和测试。

本发明提供一种基于远程频谱仪通信的D/A数据采集分析方法,包括:

采用上位机对嵌入式设备和频谱仪进行参数设置;

所述嵌入式设备依据所述上位机设置的参数产生模拟信号并发送给频谱仪;

所述上位机控制所述频谱仪在线采集所述模拟信号并进行分析。

可选地,采用所述上位机对所述嵌入式设备设定的参数包括频点和/或幅度。

可选地,所述上位机通过Windows平台应用程序开发软件调用MATLAB 对所述频谱仪参数设置。

可选地,所述MATLAB对所述频谱仪设置的参数包括起始频率、分辨率、信号频率或电平中的一种或几种。

可选地,所述MATLAB连接频谱仪过程包括:

所述MATLAB建立.m文件,所述.m文件所在目录包 VISA_INSTRUMENT.M库文件;

所述MATLAB与所述频谱仪建立连接并访问频谱仪序列号;

所述MATLAB对所述频谱仪的初始化并进行参数设置;

所述MATLAB启动对所述频谱仪的扫描,获取扫描点功率并转换为ASCii 码值;

所述MATLAB利用扫描点功率转换的ASCii码值计算SNR和SFDR并获取频谱仪频谱图片并保存。

可选地,所述上位机基于TCP/IP通信协议,通过VXI-11 Protocol来对频谱仪的IO库VISA进行访问。

可选地,所述上位机访问所述VISA的通信是基于信息的同步模式,通信的命令架构为short for Simple Commands for Programmable Instruments(SCPI)。

可选地,所述嵌入式设备通过专用数据线缆发送D/A数据到频谱仪。

可选地,所述主机通过网线与所述频谱仪通讯连接。

本发明基于远程频谱仪通信的D/A数据采集分析方法中,上位机通过与频谱仪进行通讯并控制频谱仪进行信号采集及在线数据分析,从而实现对产生的模拟信号的性能指标科学定量直观的测试和界面化显示。

附图说明

图1为本发明基于远程频谱仪通信的D/A数据采集分析方法中上位机、嵌入式设备、频谱仪的模块连接图;

图2为本发明基于远程频谱仪通信的D/A数据采集分析方法上位机软件调用MATLAB工作流程图;

图3为本发明基于远程频谱仪通信的D/A数据采集分析方法中MATLAB远程频谱仪通信工作流程图;

图4为本发明基于远程频谱仪通信的D/A数据采集分析方法中捕获的频谱仪显示界面。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-4所示,本实施例提供一种基于远程频谱仪通信的D/A数据采集分析方法,所述方法包括:

采用上位机对嵌入式设备和频谱仪进行参数设置;

可选地,上位机通过串口对嵌入式设备进行频点、幅度等进行设置,设置成功后,嵌入式设备发送有效地模拟信号到频谱仪;

可选地,上位机远程频谱仪通信是通过Windows平台应用程序开发软件调用MATLAB对频谱仪进行远程通信,其中包含:初始化MATLAB调用,设置参数如:起始频率、分辨率、信号频率、电平等,调用MATLAB远程连接频谱仪;

所述嵌入式设备依据所述上位机设置的参数产生模拟信号并发送给频谱仪;

所述上位机控制所述频谱仪在线采集所述模拟信号并进行分析。

可选地,所述MATLAB连接频谱仪过程包括:

所述MATLAB建立.m文件,所述.m文件所在目录包 VISA_INSTRUMENT.M库文件;

所述MATLAB与所述频谱仪建立连接并访问频谱仪序列号;

所述MATLAB对所述频谱仪的初始化并进行参数设置;

所述MATLAB启动对所述频谱仪的扫描,获取扫描点功率并转换为ASCii 码值;

所述MATLAB利用扫描点功率转换的ASCii码值计算SNR和SFDR并获取频谱仪频谱图片并保存。

可选地,所述上位机基于TCP/IP通信协议,通过VXI-11 Protocol来对频谱仪的IO库VISA进行访问。

可选地,所述上位机访问所述VISA的通信是基于信息的同步模式,通信的命令架构为short for Simple Commands for Programmable Instruments(SCPI)。

可选地,所述嵌入式设备通过专用数据线缆发送D/A数据到频谱仪。

可选地,所述主机通过网线与所述频谱仪通讯连接。

上述方法执行的具体过程如下:

步骤1:主机通过串口对嵌入式设备进行频点、幅度等设置;

步骤2:嵌入式设备完成设置,发送有效模拟信号到频谱仪

步骤3:上位机软件通过动态库链接启动MATLAB引擎;初始化MATLAB 调用;设置MATLAB调用参数,如:起始频率、分辨率、点评、采集的信号频率,采集点数等;调用MATLAB远程频谱仪。

在本步骤中,Windows平台应用程序开发软件调用MATLAB的过程通过软件实现,其具体的实现过程如下:

3-1)MATLAB通过Windows平台应用程序开发软件编译器生成DLL文件

设置编译器

Mex–setup设置Windows平台应用程序开发软件编译器进行文件编译

生成DLL文件

MCC–W CPPLIB:MYLIB–T LINK:LIB MY.M

在文件目录下生成MYLIB.lib,MYLIB.dll,MYLIB.h

3-2)Windows平台应用程序开发软件调用MATLAB

首先需要把3-1)中生成的三个文件拷贝到当前Windows平台应用程序开发软件工程目录下。

Windows平台应用程序开发软件路径设置:

头文件路径需要包括当前工程路径及MATLAB的Bin下面的INCLUDE路径;库函数路径需要包括当前工程路径及MATLAB的LIB路径;另外需要在当前的工程链接里加入五个库文件,其中四个为MATLAB库文件,mclmcr.lib,mclmcrrt.lib,libmat.lib,libmx.lib;另一个为3-1)中所生成的库文件。

代码链接库文件采用如下方式:

#pragma comment(lib,"mclmcrrt.lib")

#pragma comment(lib,"libmx.lib")

#pragma comment(lib,"libmat.lib")

#pragma comment(lib,"mclmcr.lib")

初始化MATLAB调用采用如下方式:

libvc_matlab_fswInitialize()

设置参数并调用MATLAB远程频谱仪:

mwArray startFrq(1,1,mxDOUBLE_CLASS);创建起始频率数组

mwArray stopFrq(1,1,mxDOUBLE_CLASS);创建终止频率数组

startFrq.SetData(&(stafrq),1);起始频率赋值

stopFrq.SetData(&(stpfrq),1);终止频率赋值

vc_matlab_fsw(startFrq,stopFrq,varef,stringTemp,brbw,bvbw,vaSapoint);调用 MATLAB进行通信

结束MATLAB调用

libvc_matlab_fswTerminate();

mclTerminateApplication();

步骤4:MATLAB启动远程连接频谱仪

步骤5:MATLAB访问频谱仪序列号

步骤6:频谱仪回复序列号

步骤7:MATLAB收到序列号之后,初始化频谱仪

步骤8:MATLAB对频谱仪进行参数设置

步骤9:MATLAB启动对频谱仪进行扫描

步骤10:MATLAB获取扫描点功率及转换为ASCii码值

步骤11:MATLAB利用扫描点计算SNR、SFDR,图形化显示

步骤12:MATLAB获取频谱仪频谱图片并保存。

在上述的步骤4-12中,MATLAB与频谱仪的连接通过软件实现,如下为一种具体的实施方式:

软件版本信息如下:

MATLAB 2014a

VISA IO library 15.5

Windows XP

通信连接方式及协议信息如下:

采用LAN物理网络连接

通讯协议为TCP/IP协议

访问VISA library的协议为VXI-11 Protocol

通信指令架构为SCPI(short for Simple Commands for ProgrammableInstruments)

远程通信

设置上位机电脑与频谱仪在一个局域网频段;

MATLAB建立.m文件,及其所在目录一定要包含VISA_INSTRUMENT.M 库文件

远程连接

specan=VISA_Instrument(['TCPIP::',ip,'::INSTR'])

这里IP地址既为频谱仪的IP地址,specan为连接成功返回的句柄,如果不成功则为0并报错。

访问频谱仪序列号

idnResponse=specan.QueryString('*IDN?');

这个是带返回值的命令,SCPI命令分为两种:一种是只执行不返回,另一种是执行且有返回值。该语句返回频谱仪的序列值

频谱仪的初始化

初始化包含清零、复位、及其他一些初始设置

specan.Write('*RST;*CLS');复位频谱仪,清除错误队列

specan.Write('INIT:CONT OFF');关闭连续扫描(continus sweep)

specan.Write('SYST:DISP:UPD ON');启动更新设置

specan.ErrorChecking();检查在初始化之后是否有错误产生

频谱仪的参数设置

specan.Write('FREQ:START%0.9f',startfrq);设置起始频率

specan.Write('FREQ:STOP%0.9f',stopfrq);设置停止频率

specan.Write('BAND%f',rbw);设置分辨率RBW

specan.Write('DISP:WIND:TRAC:Y:RLEV%0.2f',ref);设置参考电平

specan.Write('SWE:POIN%d',swpoint);设置扫描点数

specan.ErrorChecking();检查在参数设置之后是否有错误产生

启动扫描

specan.Write('INIT');

获取扫描点功率及转换为ASCii码值

traceASC=specan.QueryASCII_ListOfDoubles('FORM ASC;:TRAC? TRACE1',sweepPoints);

利用扫描点计算SNR、SFDR

spectp=10.^(traceASC/10);转换为原始功率值

Ps=sum(spectp(F_in-span:F_in+span));计算信号功率值

p=sum(spectp(10:stopfrq));计算全频带功率值

Pc=max(max(traceASC(10:F_in-span)),max(traceASC(F_in+span:N)));

SFDR=max_dB-Pc;

Pn=p-Ps;

SNR=10*log10(Ps/Pn);

获取频谱仪频谱图片并保存

specan.Write('HCOP:DEV:LANG

PNG;:MMEM:NAME”c:\Temp\Device_Screenshot.png”');设置屏幕拷贝

specan.Write('HCOP:IMM');屏幕拷贝

实施例与现有技术相比具有以下优点:

1)可以采用普通网线作为普通媒介,传输遵守以太网协议,开发周期短,硬件平台易于搭建等优点

2)主机通过远程频谱仪进行信号采集及在线数据分析,从而实现对产生的模拟信号的性能指标科学定量直观的测试和界面化显示。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种新能源柔性直流并网暂态谐波检测方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!