干得好。
您可能需要使用CALC1:DATA:FDAT?
如果要读取ENA上的格式化数据。
下面是阅读复杂的数据。
%设置仪器的VISA地址字符串visaString ='GPIB0 :: 17 :: INSTR';
%创建VISA-GPIB对象。
vi = instrfind('Type','visa-gpib','RsrcName',visaString,'Tag','');
%如果不存在,则创建VISA-GPIB对象%否则使用找到的对象。
if isempty(vi)vi = visa('AGILENT',visaString);
否则fclose(vi);
vi = vi(1);
end%配置仪器对象,vi。
set(vi,'InputBufferSize',20000);
set(vi,'Timeout',100);
%连接仪器对象,vi。
的fopen(VI);
fprintf(vi,'CALC1:PAR1:DEF S11');
%将字节顺序设置为交换(little-endian)格式fprintf(vi,'FORM:BORD SWAP');
%将数据类型设置为实际的64位二进制块fprintf(vi,'FORM:DATA REAL');
%从PNA读取S2P数据。
S2P文件将返回点数* 9%数据点。
fprintf(vi,'CALC1:DATA:SDAT?');
[[data,count,msg]] = binblockread(vi,'double');
同相=数据(1:2:结束);
正交=数据(2:2:结束);
IQData =同相+ 1I *正交;
%刷新缓冲区clrdevice(vi);
%断开gpib对象。
FCLOSE(VI);
%清理所有对象。
删除(VI);
以上来自于谷歌翻译
以下为原文
Here you go. You may need to use CALC1:DATA:FDAT? if you want to read formatted data on the ENA. Below is reading complex data.
%Set VISA Address String for Instrument
visaString = 'GPIB0::17::INSTR';
% Create a VISA-GPIB object.
vi = instrfind('Type', 'visa-gpib', 'RsrcName', visaString, 'Tag', '');
% Create the VISA-GPIB object if it does not exist
% otherwise use the object that was found.
if isempty(vi)
vi = visa('AGILENT', visaString);
else
fclose(vi);
vi = vi(1);
end
% Configure instrument object, vi.
set(vi, 'InputBufferSize', 20000);
set(vi, 'Timeout', 100);
% Connect to instrument object, vi.
fopen(vi);
fprintf(vi,'CALC1:PAR1:DEF S11');
% Set byte order to swapped (little-endian) format
fprintf(vi, 'FORM:BORD SWAP');
% Set data type to real 64 bit binary block
fprintf(vi, 'FORM:DATA REAL');
% Read S2P data back from PNA. A S2P file will return number of points * 9
% data points back.
fprintf(vi, 'CALC1:DATA:SDAT?');
[[data, count, msg]] = binblockread(vi, 'double');
inphase=data(1:2:end);
quadrature=data(2:2:end);
IQData=inphase+1i*quadrature;
% Flush the buffer
clrdevice(vi);
% Disconnect gpib object.
fclose(vi);
% Clean up all objects.
delete(vi);
干得好。
您可能需要使用CALC1:DATA:FDAT?
如果要读取ENA上的格式化数据。
下面是阅读复杂的数据。
%设置仪器的VISA地址字符串visaString ='GPIB0 :: 17 :: INSTR';
%创建VISA-GPIB对象。
vi = instrfind('Type','visa-gpib','RsrcName',visaString,'Tag','');
%如果不存在,则创建VISA-GPIB对象%否则使用找到的对象。
if isempty(vi)vi = visa('AGILENT',visaString);
否则fclose(vi);
vi = vi(1);
end%配置仪器对象,vi。
set(vi,'InputBufferSize',20000);
set(vi,'Timeout',100);
%连接仪器对象,vi。
的fopen(VI);
fprintf(vi,'CALC1:PAR1:DEF S11');
%将字节顺序设置为交换(little-endian)格式fprintf(vi,'FORM:BORD SWAP');
%将数据类型设置为实际的64位二进制块fprintf(vi,'FORM:DATA REAL');
%从PNA读取S2P数据。
S2P文件将返回点数* 9%数据点。
fprintf(vi,'CALC1:DATA:SDAT?');
[[data,count,msg]] = binblockread(vi,'double');
同相=数据(1:2:结束);
正交=数据(2:2:结束);
IQData =同相+ 1I *正交;
%刷新缓冲区clrdevice(vi);
%断开gpib对象。
FCLOSE(VI);
%清理所有对象。
删除(VI);
以上来自于谷歌翻译
以下为原文
Here you go. You may need to use CALC1:DATA:FDAT? if you want to read formatted data on the ENA. Below is reading complex data.
%Set VISA Address String for Instrument
visaString = 'GPIB0::17::INSTR';
% Create a VISA-GPIB object.
vi = instrfind('Type', 'visa-gpib', 'RsrcName', visaString, 'Tag', '');
% Create the VISA-GPIB object if it does not exist
% otherwise use the object that was found.
if isempty(vi)
vi = visa('AGILENT', visaString);
else
fclose(vi);
vi = vi(1);
end
% Configure instrument object, vi.
set(vi, 'InputBufferSize', 20000);
set(vi, 'Timeout', 100);
% Connect to instrument object, vi.
fopen(vi);
fprintf(vi,'CALC1:PAR1:DEF S11');
% Set byte order to swapped (little-endian) format
fprintf(vi, 'FORM:BORD SWAP');
% Set data type to real 64 bit binary block
fprintf(vi, 'FORM:DATA REAL');
% Read S2P data back from PNA. A S2P file will return number of points * 9
% data points back.
fprintf(vi, 'CALC1:DATA:SDAT?');
[[data, count, msg]] = binblockread(vi, 'double');
inphase=data(1:2:end);
quadrature=data(2:2:end);
IQData=inphase+1i*quadrature;
% Flush the buffer
clrdevice(vi);
% Disconnect gpib object.
fclose(vi);
% Clean up all objects.
delete(vi);
举报