四川綜測科技有限公司
閱讀:367發(fā)布時(shí)間:2022-7-11
在使用網(wǎng)絡(luò)分析儀搭建測試系統(tǒng)進(jìn)行自動測量時(shí),特別是天線測量系統(tǒng),要多次連續(xù)掃描并獲取所有數(shù)據(jù),要求快的測量速度。矢量網(wǎng)絡(luò)分析NSWEEP系列指令,多次掃描的數(shù)據(jù)保存在緩存,執(zhí)行N次掃描后,遠(yuǎn)程批量讀取,從而實(shí)現(xiàn)快的多次掃描測試和批量數(shù)據(jù)讀取。如果N次掃描的數(shù)據(jù)量過大,例如超過100M,可以在測量的同時(shí),讀取緩存。
本例程代碼實(shí)現(xiàn)以下功能:
%% # Read N times sweep data from R&S VNA% *******************************************************% # This script set N times sweep and read a batch of data %********************************************************%% # Instrument connection via LAN IPofVNA = '192.168.0.11'; strInstr=strcat('TCPIP0::',IPofVNA,'::hislip0::INSTR');% # Create NI-VISA object VNA=visa('rs',strInstr);% # IO buffer size of VNAMAX_SWEEP_POINTS = 20001;VNA.InputBufferSize = MAX_SWEEP_POINTS*8; % # Open object(VNA)fopen(VNA);%% # Read instrument settingfprintf(VNA,'FORM:DATA ASC/n');fprintf(VNA,'SWE:POIN?/n');sweeppnts = str2double(fscanf(VNA));fprintf(VNA,':SYST:FREQ? MIN/n');Freq_start = str2double(fscanf(VNA));fprintf(VNA,':SYST:FREQ? MAX/n');Freq_stop = str2double(fscanf(VNA));%% # Read trace1 - float32fprintf(VNA,'FORM:DATA REAL,32/n');% # sweep n timesnsweep = 100;fprintf(VNA,sprintf('SWE:COUN %d//n', nsweep));% # Start sweepfprintf(VNA,'INIT1:CONT OFF; :INIT1:IMMediate; *WAI/n');% # Read n times trace1 totallydata = zeros(sweeppnts*2,nsweep);S_Real = zeros(sweeppnts,nsweep);S_imag = zeros(sweeppnts,nsweep);S = zeros(sweeppnts,nsweep);for i=1:nsweep fprintf(VNA,sprintf('CALC1:DATA:NSW:FIRS? SDAT, %d; *WAI//n',i)); header=fread(VNA,2,'char'); digits=str2double(char(header(2))); datalen = fread(VNA,digits,'char'); LenOfData=str2double(char(datalen)); data(:,i) = fread(VNA, LenOfData/4,'float32'); eos = fscanf(VNA); % complex S_Real(:,i) = data(1:2:2*sweeppnts,i); S_imag(:,i) = data(2:2:2*sweeppnts,i); S(:,i) = S_Real(:,i)+1i*S_imag(:,i);end%% # close VNAfclose(VNA);
儀表網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗(yàn)證碼
請輸入你感興趣的產(chǎn)品
請簡單描述您的需求
請選擇省份