主要内容

通过TCP/IP从信号分析仪读取同相和正交(IQ)数据

这个例子展示了如何通过TCP/IP接口从信号分析仪获取IQ数据。

仪器控制工具箱™支持通过接口和驱动程序与仪器通信。金宝app

有关支持的硬件的完整列表,请访问仪器控制工具箱金宝app产品页面

简介

本例通过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.14e9;信号带宽% (Hz)带宽= 25e6;%测量时间(秒)measureTime = 8e-3;信号分析仪机械衰减百分比(dB)mechAttenuation = 0;频谱分析仪视图的起始频率startFrequency = 2.11e9;用于频谱分析仪视图的停止频率stopFrequency = 2.17e9;% Spectrum Analyzer视图的分辨率带宽分辨率带宽= 200e3;%视频带宽用于频谱分析仪视图视频带宽= 300;

连接到仪器

  • 使用TCP/IP连接设置仪器连接。

  • 设置超时时间以允许有足够的时间进行数据测量和传输。

  • 将字节顺序设置为“big-endian”,以从分析器读取正确格式的浮点数据。

signalAnalyzerObject = tcpclient(addressMXA, 5025);signalAnalyzerObject。ByteOrder =“大端法”;signalAnalyzerObject。超时= 20;

查询仪器识别信息

使用适当的SCPI命令将仪器重置为已知状态。查询仪器标识以确保我们连接到正确的仪器。

writeline (signalAnalyzerObject“* RST”);instrumentInfo = writeread(信号分析对象,“* 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(信号分析对象,“* OPC ?”);阅读IQ数据writeline (signalAnalyzerObject”:阅读:WAV0 ?”);data = readbinblock(signalAnalyzerObject,“单身”);从仪器中读取额外的终止符字符读(signalAnalyzerObject, 1);分离数据,建立复杂IQ向量。Inphase = data(1:2:end);正交=数据(2:2:结束);IQData = inphase+1i*quadrature;

显示测量信息

该仪器提供有关最近获得的数据的信息。捕获此信息并显示它。

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

绘制获得的IQ数据

将采集到的前1000个时域数据点绘制出来并标注。

图(1)情节(真实(IQData (1:1000)),“b”);持有情节(图像放大(IQData (1:1000)),“g”);传奇(“同相的信号”“正交信号”);标题(采集信号前1000点的IQ数据)包含(“样品号”);ylabel (“电压”);

绘制智商数据的谱图

频谱视图可能比数据的时域视图具有更多的信息。例如,您可以使用频谱视图来识别主要频带、信号带宽等。您需要DSP系统工具箱来绘制频谱视图。如果所需的功能不可用,则可能会出现错误。

使用汉明窗创建周期图谱图(2)周期图(IQData汉明(长度(IQData)), [], sampleRate,“中心”

将仪器切换回频谱分析仪模式

将仪器切换到频谱分析仪模式,并将MATLAB中生成的频谱视图与信号分析仪上的视图进行比较。使用额外的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