基于TCP/IP的信号分析仪IQ数据读取
这个例子展示了如何通过TCP/IP接口从信号分析器获取IQ数据。
仪器控制工具箱™支持通过接口和驱动程序与仪器通信。
有关支持的硬件的完整列表,请访问仪表控制工具箱产品页面.
简介
本例通过TCP/IP接口从Keysight Technologies®(原Agilent Technologies®)x系列信号分析仪(N9030A, PXA信号分析仪)获取IQ数据。
需求
要运行这个示例,您需要一个带有以太网(TCP/IP)连接的x系列信号分析器。您也可以在x系列分析仪上用MATLAB执行此示例,或者在与x系列分析仪在同一网络上的PC上。
本例使用了仪表控制工具箱和DSP系统工具箱™中的功能。
定义测量参数
在进行测量之前,先定义用于配置仪器的参数。根据您所测量的信号,您可能需要修改以下一些参数。
%指定信号分析器的IP地址addressMXA =“172.28.16.61”;
参数定义
调制波形中心频率(Hz)centerFrequency = 2.14 e9;信号带宽% (Hz)带宽= 25 e6;%测量时间(s)measureTime = 8 e - 3;信号分析仪中的机械衰减% (dB)mechAttenuation = 0;频谱分析仪视图的起始频率startFrequency = 2.11 e9;频谱分析仪视图的停止频率%stopFrequency = 2.17 e9;频谱分析仪视图的分辨率带宽resolutionBandwidth = 200年e3;频谱分析仪视图的视频带宽videoBandwidth = 300;
连接到仪器
使用TCP/IP连接建立仪器连接。
设置超时时间,以允许有足够的时间进行数据的测量和传输。
将字节顺序设置为“大端序”,以从分析器读取正确格式的浮点数据。
signalAnalyzerObject = tcpclient(addressMXA, 5025);signalAnalyzerObject。ByteOrder =“大端法”;signalAnalyzerObject。超时= 20;
查询仪器识别信息
使用适当的SCPI命令将仪器重置到已知状态。查询仪器标识,以确保我们连接到正确的仪器。
writeline (signalAnalyzerObject“* RST”);instrumentInfo = writeread (signalAnalyzerObject,“* IDN ?”);disp (“仪器识别信息:”+ instrumentInfo);
仪器识别信息:Agilent Technologies,N9030A,US00071181,A.14.16
设置IQ波形测量仪器
x系列信号和频谱分析仪执行智商测量以及频谱测量。在本例中,您将获取时域IQ数据,在MATLAB中可视化它,并对获取的数据执行信号分析。使用SCPI命令配置仪器进行测量,并在测量完成后定义数据传输的格式。
设置信号分析模式为Basic/IQ模式writeline (signalAnalyzerObject”:仪器:选择基本”);设置中心频率writeline (signalAnalyzerObject”:意义:频率:中心”+ num2str (centerFrequency));设置分辨率带宽writeline (signalAnalyzerObject”:意义:波形:带宽:决议”+ num2str(带宽));%关闭平均writeline (signalAnalyzerObject”:意义:波形:断言“);设置在触发线变高时进行一次测量writeline (signalAnalyzerObject”:INIT:续了”);设置触发为斜率为正的外部源1writeline (signalAnalyzerObject”:触发:波形:立即源”);writeline (signalAnalyzerObject”:触发:行:坡积极”);设置需要进行测量的时间writeline (signalAnalyzerObject”:波形:理念:时间”+ num2str (measureTime));关闭电衰减。writeline (signalAnalyzerObject”:意义:力量:射频:EATTenuation:国家了”);设置机械衰减级别writeline (signalAnalyzerObject”:意义:力量:射频:衰减”+ num2str (mechAttenuation));将IQ信号测距调至自动。writeline (signalAnalyzerObject”:意义:电压:智商:范围:汽车”);设置返回数据的字节序writeline (signalAnalyzerObject”:格式:边境正常”);设置返回数据的格式writeline (signalAnalyzerObject”:格式:数据真实,32 ");
开始测量
触发仪器进行测量,等待测量操作完成,读取波形。在处理数据之前,将I和Q分量从仪器返回的交错数据中分离出来,并在MATLAB中创建一个复矢量。
触发仪器并开始测量。writeline (signalAnalyzerObject“*丹”);writeline (signalAnalyzerObject”:启动:波形”);等待测量操作完成。measureComplete = writeread (signalAnalyzerObject,“* OPC ?”);阅读智商数据writeline (signalAnalyzerObject”:阅读:WAV0 ?”);data = readbinblock (signalAnalyzerObject“单身”);从仪器中读取附加的终止符字符读(signalAnalyzerObject, 1);分离数据,建立复杂的智商向量。。同相的=数据(1:2:结束);交=数据(2:2:结束);IQData =同相的+ 1我*交;
显示测量信息
该仪器提供有关最近获得的数据的信息。捕获此信息并显示它。
writeline (signalAnalyzerObject”:获取:WAV1 ?”);signalSpec = readbinblock (signalAnalyzerObject,“单身”);sampleRate = 1 / signalSpec (1);disp (“采样率(Hz) =”+ num2str (sampleRate));disp ("读取点数= "+ num2str (signalSpec (4)));disp ("信号的最大值(dBm) = "+ num2str (signalSpec (6)));disp ("信号最小值(dBm) = "+ num2str (signalSpec (7)));
采样率(Hz) = 31250000.8838读取点数= 250001信号最大值(dBm) = -8.211信号最小值(dBm) = -42.5689
绘制获得的智商数据
将采集到的时域数据的前1000个点绘制出来,并对图进行标注。
图(1)情节(真实(IQData (1:1000)),“b”);持有在情节(图像放大(IQData (1:1000)),“g”);传奇(“同相的信号”,“正交信号”);标题(获取信号的前1000点的IQ数据)包含(“样品号”);ylabel (“电压”);
绘制智商数据的频谱视图
频谱视图可能比数据的时域视图具有更多的信息。例如,你可以使用频谱视图来识别主要频带、信号带宽等。您需要DSP系统工具箱来绘制频谱视图。如果所需的功能不可用,您可能会得到错误。
创建具有汉明窗口的周期图谱。图(2)周期图(IQData汉明(长度(IQData)), [], sampleRate,“中心”)
将仪器切换回频谱分析仪模式
将仪器切换到频谱分析仪模式,并将MATLAB中生成的频谱视图与Signal analyzer上的视图进行比较。使用附加的SCPI命令配置仪器测量和显示设置。
切换回频谱分析仪视图writeline (signalAnalyzerObject”:仪器:选择山”);设置机械衰减级别writeline (signalAnalyzerObject”:意义:力量:射频:衰减”+ num2str (mechAttenuation));设置中心频率、RBW、VBW和触发器writeline (signalAnalyzerObject”:意义:频率:中心”+ num2str (centerFrequency));writeline (signalAnalyzerObject”:意义:频率:开始”+ num2str (startFrequency));writeline (signalAnalyzerObject”:意义:频率:停止”+ num2str (stopFrequency));writeline (signalAnalyzerObject”:意义:带宽:决议”+ num2str (resolutionBandwidth));writeline (signalAnalyzerObject”:意义:带宽:视频”+ num2str (videoBandwidth));%连续测量writeline (signalAnalyzerObject”:INIT:续上”);%触发writeline (signalAnalyzerObject“*丹”);
清理
关闭并删除仪器连接清晰的signalAnalyzerObject