Lab push
ChannelFreqResp optimized and compared to move-it minimal lab setup
This commit is contained in:
@@ -8,6 +8,7 @@ classdef ScopeKeysight
|
||||
channel
|
||||
autoScale
|
||||
extRef
|
||||
removeDC
|
||||
interpolate
|
||||
recordLen
|
||||
IPaddress
|
||||
@@ -25,6 +26,7 @@ classdef ScopeKeysight
|
||||
options.channel logical = [0,0,0,0];
|
||||
options.autoScale logical = 0;
|
||||
options.extRef logical = 1;
|
||||
options.removeDC logical = 1;
|
||||
options.interpolate logical = 0;
|
||||
options.recordLen double = 1000000;
|
||||
options.IPaddress
|
||||
@@ -169,11 +171,21 @@ classdef ScopeKeysight
|
||||
|
||||
recordedSignals = cell(size(obj.channel));
|
||||
for n = find(obj.channel == 1)
|
||||
|
||||
% record
|
||||
recordedSignals{n} = obj.readChannel(v,n);
|
||||
|
||||
% cut "safety samples" that were added at the end
|
||||
recordedSignals{n} = recordedSignals{n}(1:obj.recordLen);
|
||||
|
||||
if obj.removeDC
|
||||
recordedSignals{n} = recordedSignals{n}-mean(recordedSignals{n});
|
||||
end
|
||||
|
||||
obj.writeNcheck(v,sprintf(':CHANnel%u:DISPlay ON',n));
|
||||
end
|
||||
|
||||
|
||||
% fill all other channels with nothing
|
||||
for n = find(obj.channel == 0)
|
||||
recordedSignals{n} = [];
|
||||
end
|
||||
@@ -181,6 +193,16 @@ classdef ScopeKeysight
|
||||
obj.writeNcheck(v,sprintf(':%s',scope_state));
|
||||
obj.writeNcheck(v,'*OPC?');
|
||||
|
||||
opdone = 0;
|
||||
acqdone = 0;
|
||||
procdone = 0;
|
||||
while ~opdone || ~acqdone || ~procdone
|
||||
opdone = sscanf(obj.writeReceiveCheck(v,'*opc?'), '%f');
|
||||
acqdone = sscanf(obj.writeReceiveCheck(v,'ader?'), '%f');
|
||||
procdone = sscanf(obj.writeReceiveCheck(v,'pder?'), '%f');
|
||||
pause(0.005);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user