From 127e80e8c5e1029f545e1edf560cf3eba28a9d0a Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Mon, 24 Jun 2024 17:25:07 +0200 Subject: [PATCH] add comments to follow freq and time_out requests for radcam --- matlab/TCV/gdat_tcv.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index 15096593..7c142481 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -3434,31 +3434,41 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.x(end+1:end+numel(gdat_data.(gdat_data.gdat_params.camera{i}).x)) = gdat_data.(gdat_data.gdat_params.camera{i}).x; end sxr = rc_load_diodes(shot,'diag_name',"sxr",'channels',gdat_data.x); % since all cameras with different channel number + % for "heavy" signals, can trim it to specified time_interval and/or reduce it to smaller nb points if freq_opt == 1 + % default, fast/raw time array if ~isempty(time_interval) if numel(time_interval) == 2 + % extract data within [time_interval(1:2)] ij = find(sxr.time>=time_interval(1) & sxr.time<=time_interval(end)); gdat_data.data = sxr.data(ij,:)'; gdat_data.t = sxr.time(ij); else + % time_out array provided to obtain data, use closest points (since raw data on fast frequency) ij = iround_os(sxr.time,time_interval); gdat_data.data = sxr.data(ij,:)'; gdat_data.t = sxr.time(ij); end else + % raw data requested (default), no time_out provided gdat_data.data = sxr.data'; gdat_data.t = sxr.time; end else + % slower frequency requested (or smoothed interpolation using interpos) if ~isempty(time_interval) if numel(time_interval) == 2 - gdat_data.t = linspace(time_interval(1),time_interval(2),round((time_interval(2)-time_interval(1))/1e-4)); + % construct a default 40kHz time base within time_interval(1:2) + gdat_data.t = linspace(time_interval(1),time_interval(2),round((time_interval(2)-time_interval(1))/0.25e-4)); else + % time array provided gdat_data.t = time_interval; end else + % construct a default 40kHz time base within full raw time interval gdat_data.t = linspace(sxr.time(1),sxr.time(end),round((sxr.time(end)-sxr.time(1))/0.25e-4)); end + % compute interpolation with tension provided for i=1:size(sxr.data,2) gdat_data.data(i,:) = interpos(sxr.time,sxr.data(:,i),gdat_data.t,gdat_data.gdat_params.fit_tension); end -- GitLab