Matlab连接Agilent ESG

Matlab 提供了多种手段可以用来连接各种外设和仪器,包括常用的Agilent公司的矢量信号发生器ESG4438C。

具体操作步骤:

  • 网线连接4438到局域网,直连或者用路由、交换机都行。

  • 在4438的utility里面配置LAN的属性,包括IP,子网掩码等(和计算机要在一个局域网内),端口不用配置,Telnel默认端口5023,SCPI端口5025。生效配置后4438自动重启。

  • 等待4438重启完成后再计算机CMD中输入ping ESG_IP, ESG_IP是前面设置的IP,如果有回应下一步,如果无回应检查网线连接,计算机的网络配置ESG的网络设置和防火墙。

  • 再浏览器中输入ESG的IP地址。看到如下界面:

Matlab连接Agilent ESG_第1张图片
1.jpg
  • 以上通过表明连接正常。下一步用来测试SCPI接口,点击左侧SCPI Telnet按钮,输入并发送

*idn?

  • 返回:


    Matlab连接Agilent ESG_第2张图片
    2.jpg
  • 获得返回值后表明测试通过。下面通过Matlab和ESG4438通信。

  • Matlab连接ESG4438有多重方式和多重通信介质(LAN或者GPIB等),Agilent提供了MSG X系列、PSG、ESG的MATLAB 下载助手 或者直接使用 Matlab Instrument Control Toolbox

  • 打开Matlab、建立新的文件,自己生成一个IQ信号。

  • 输入:

io=agt_newconnection('tcpip','192.168.1.16');
[status,status_description,query_result]=agt_query(io,'*idn?');
if(status<0) return;end
[status,status_description2]=agt_sendcommand(io,'SOURce:FREQuency 500E6');
[status,status_description3]=agt_sendcommand(io,'POWer -10');
[status,status_description4]=agt_waveformload(io,IQData,'TitleName,fs,'play','normscale');
[status,status_description5]=agt_sendcommand(io,'OUTPut:STATe ON');% agt_closeAllSessions;

上面fs是设置的采样率,IQData为需要输入给4438的IQ数据。其他语句按照字面均可理解,详细可参见下载助手文件内注释。

  • 连接N9020和4438,频带调到中心频点500M,带宽2M,

  • 运行MATLAB程序,观测结果。需要说明的是,这里IQData有格式要求,参见文件内部说明。此外还修改了一处agt_newconnection.m中tciip部分的InputBufferSize = 1000000, 不修改会提示过大无法处理。
    http://www.jianshu.com/p/0269fa01cf03

你可能感兴趣的:(Matlab连接Agilent ESG)