通过测量其S参数表征低噪声放大器

这个示例向您展示了如何使用MATLAB®和仪表控制工具箱™自动测量Keysight Technologies®(以前的Agilent Technologies®)网络分析仪的2端口s -参数测量。该示例还可以在MATLAB中可视化测量结果,并使用RF工具箱™中的函数将测量结果保存到Touchstone数据文件中。

介绍

散射参数,或S参数,描述各个组分,或在线性电网络组件的网络的行为。的S参数用于在电网部件测量可用于模型的性能,模拟行为,设计匹配网络等,这MATLAB示例连接到并配置Keysight(安捷伦)PNA(N5222A)来测量的S参数低噪声放大器(LNA)。在这个例子中使用的仪器运行的固件版本A.09.90.02。标准程序编程命令(SCPI),用于在该示例中,PNA可能需要如果要使用不同的仪器或固件进行修改。对于大多数仪器的SCPI命令集是从您的仪器供应商仪器程序员手册。

要求

要执行这个例子中,你需要一个Keysight(安捷伦)PNA连接到被测设备。在这个例子中的参数是特定于三围为低噪声放大器,我们正在使用,并可能需要进行修改,以使受测设备上测量。

本例使用来自仪表控制工具箱和射频工具箱的函数。

仪器的连接和配置

定义用于配置仪器,让你在测量前的参数。在这个例子中,我们连接到使用VISA接口向TCPIP网络上的仪器Keysight(安捷伦)PNA。根据您感兴趣的测量,您可能需要修改一些下列参数的。

%定义仪器VISA地址。仪器的VISA地址%可以从仪器的用户界面或您的签证获得%配置实用程序instrumentVISAAddress ='TCPIP0 :: 127.0.0.1 :: inst0 :: INSTR';%定义2.3GHz至2.6GHz的频率范围frequencyRange = [2.3e9 2.6e9];在测量点的数量%为NumPoints = 401;%创建仪器VISA连接接口instrObj =签证(“安捷伦”,instrumentVISAAddress);%设置的连接参数,用于从测量数据的传输% 仪器instrObj.InputBufferSize = 10E6;instrObj.ByteOrder ='littleEndian';%到仪器打开连接和仪表的清晰硬件缓冲器的fopen(instrObj);clrdevice(instrObj);显示仪器信息IDNString =查询(instrObj,'* IDN?');fprintf中('连接为:%s \ n',IDNString);
连接到:安捷伦科技N5222A,US51220131,A.09.90.02

测量设置

设置仪器,使2端口S参数测量。

%提示用户,询问他们是否要对仪器进行校准doCalibration = questdlg(“你想校准PNA?“ExampleMeasureSparameter”'是''没有''没有');如果strcmpi(doCalibration,'是'%启动向导引导校准仪器上,并提示用户确认完成fprintf中(instrObj,'系统:CORR:WIZ MAIN');hMsgBox = MSGBOX(“按OK当校准完成”“ExampleMeasureSparameter”'救命'“模式”);%等到用户已确认校准完成uiwait(hMsgBox);结束执行系统预置fprintf中(instrObj,'系统:FPReset');fprintf中(instrObj,'* CLS');%等到系统已准备好作为预置可能需要时间opcStatus = 0;(〜opcStatus)opcStatus = str2double(查询(instrObj,“* OPC ?”));结束%定义的测量名称和参数fprintf中(instrObj,计算参数:定义:EXT SParamMeasurementS11, S11”);fprintf中(instrObj,“计算:参数:定义:EXT'SParamMeasurementS12”,S12');fprintf中(instrObj,“计算:参数:定义:EXT'SParamMeasurementS21”,S21');fprintf中(instrObj,'计算:参数:定义:EXT '' SParamMeasurementS22'”,S22');%创建一个新的显示窗口并打开它fprintf中(instrObj,'显示:窗口1:STATE ON');%关联的测量窗口1fprintf中(instrObj,”显示:WINDow1: TRACe1:喂“SParamMeasurementS11”);fprintf中(instrObj,'显示:窗口1:TRACE2:FEED'SParamMeasurementS12' '');fprintf中(instrObj,'显示:窗口1:TRACE3:FEED'SParamMeasurementS21' '');fprintf中(instrObj,”显示:WINDow1: TRACe4:喂“SParamMeasurementS22”);%打开的标题,频率和跟踪注释允许测量的%可视化仪器显示屏上fprintf中(instrObj,“显示:窗口1:标题:注明”);fprintf中(instrObj,“显示:注释:频率”);fprintf中(instrObj,“显示:窗口1:TRACE1:注明”);fprintf中(instrObj,“显示:窗口1:TRACE2:注明”);fprintf中(instrObj,“显示:WINDow1: TRACe3:状态”);fprintf中(instrObj,“显示:窗口1:TRACe4:注明”);%关闭平均fprintf中(instrObj,'SENSE1:平均:状态OFF');%设置点的数量fprintf中(instrObj,sprintf的(转变观念:SWEEP:点%s'的,num2str(为NumPoints)));%设定的频率范围fprintf中(instrObj,sprintf的('感觉:频率:起始%SHZ',num2str(frequencyRange(1))));fprintf中(instrObj,sprintf的('感觉:频率:STOP%SHZ',num2str(frequencyRange(2))));选择“测量”并将“测量”触发器设置为“立即”fprintf中(instrObj,“计算:参数:选择'SParamMeasurementS11”“”);fprintf中(instrObj,“计算:参数:选择'SParamMeasurementS12”“”);fprintf中(instrObj,“计算:参数:选择'SParamMeasurementS21”“”);fprintf中(instrObj,“计算:参数:选择'SParamMeasurementS22”“”);fprintf中(instrObj,“TRIG:源中间”);自动定标%显示fprintf中(instrObj,'显示:WIND:Y:AUTO');%选择在整个频率范围内的单次扫描触发测量fprintf中(instrObj,':正义:SWEEP:单模');%由于该仪器可能需要时间来进行测量,等到它%请求测量数据之前完成opcStatus = 0;(〜opcStatus)opcStatus = str2double(查询(instrObj,“* OPC ?”));结束

检索的测量数据

该仪器可以在多种格式返回的测量数据。转移S参数测量的最有效的方法是使用IEEE 488.2块格式。

%设定仪器使用binblock格式返回数据传回fprintf中(instrObj,的形式真实的,64年);将字节顺序设置为交换(小端字节)格式。交换是必需的当使用IBM兼容计算机时fprintf中(instrObj,格式:边境交换的);要求仪表提供2端口测量数据fprintf中(instrObj,钙:数据:SNP:港口?“1、2”);%阅读测得的数据rawDataDB = binblockread(instrObj,'双');的fread(instrObj,1);%回读点的数量在测量和重塑%的测量数据为NumPoints = str2double(查询(instrObj,“感觉:SWEEP:点?));%整形测量数据[频率,真实的,IMAG]数组rawDataDB =重塑(rawDataDB,为NumPoints,9);

显示任何错误

如果前面的SCPI命令导致仪器错误,则向用户显示仪器错误。

%循环遍历错误队列,并显示所有的错误关于SystemError =“”;的isEmpty(strfind(低级(关于SystemError),“没有错误”))关于SystemError =查询(instrObj,'系统错误?');fprintf中('系统错误(S):%s' 的,systemError);结束
系统错误(s): +0,“无错误”

清理仪表连接

清理任何连接到仪器测量完成后,

%关闭,删除和明确的仪器连接。FCLOSE(instrObj);删除(instrObj);明确instrObj;

用于通过RF工具箱使用格式数据转换成S参数对象

该RF工具箱具有可以被用来存储测量,例如从仪器获得的S参数测量对象。该目的可以通过在测量读取标准文件格式,或者,通过初始化与测量数据的对象来创建。

存储测量值的频率范围freqRange = rawDataDB(:,1);%转换检索到的大小信息从数据库sparamMag = 10 ^((1/20)* rawDataDB(:,2:2:8))。%转换检索相位信息从度为弧度sparamPhase = rawDataDB(:,3:2:9)*(PI / 180);%提取物的S参数矢量rawDataRI = sparamMag *(cos(sparamPhase)+ 1I * SIN(sparamPhase));S11 =重塑(rawDataRI(:,1),1,1,为NumPoints);S12 =重塑(rawDataRI(:,3),1,1,为NumPoints);S21 =重塑(rawDataRI(:,2),1,1,为NumPoints);S22 =重塑(rawDataRI(:,4),1,1,为NumPoints);%组装成一个3D矩阵由RF工具箱被消耗SParameter3Ddata = [S11 S12;S21 S22];

写出来的测量数据存入一个Touchstone文件

试金石文件是一种用于存储s参数测量数据的标准文件格式。RF工具箱提供了从MATLAB读取和写入试金石文件的标准函数。s参数测量可以直接在MATLAB中用于设计目的,例如这个例子低噪声放大器匹配网络的设计。

rfwrite(SParameter3Ddata,freqRange,'LNASParams.s2p');

可视化在MATLAB的测量数据

MATLAB可用于可视化在许多方面的数据。对于什么是显示在仪器的屏幕上一个简单的比较,绘制了频率相对于S参数数据的复杂程度。

%创建S参数对象hSParamData = S参数(SParameter3Ddata,freqRange);%积为LNA的S参数的幅度V / S频率曲线rfplot(hSParamData);标题(“2端口的S参数测量值”);

额外的信息

此示例示出了如何将S参数数据的测量使用MATLAB和仪器控制工具箱Keysight技术®(原安捷伦技术®)网络分析仪的自动化。使用仪器控制工具箱,它能够控制一个宽范围的测试和测量硬件的诸如信号分析仪,RF信号发生器,示波器等从内MATLAB。MATLAB可以用来可视化测量数据或使用测量数据分析和设计数字和射频系统使用图书馆的功能信号处理工具箱™DSP系统工具箱™通讯工具箱™RF工具箱