Skip to content

Instantly share code, notes, and snippets.

@jsnyder
Created June 10, 2011 22:25
Show Gist options
  • Select an option

  • Save jsnyder/1019908 to your computer and use it in GitHub Desktop.

Select an option

Save jsnyder/1019908 to your computer and use it in GitHub Desktop.
% ME224 Basic Data Acquisition Script
% Clear out old handles for devices
try
stop(ai)
delete(ai)
catch
end
% Settings
Fs = 10000; % Number of samples to collect per second
time_length = 0.5; % length of time to capture samples (seconds)
samples = time_length*1000*4; % How many samples of data to get
channels = 0; % Channels to get data on
% Get Handle for Analog Input Device
daqinfo = daqhwinfo('nidaq');
daqid = find(ismember(daqinfo.BoardNames, 'USB-6218')==1);
ai= analoginput('nidaq', daqinfo.InstalledBoardIds{daqid});
% Apply settings to device
addchannel(ai,channels,'in');
setverify(ai.Channel,'InputRange',[-5 5]);
setverify (ai,'SampleRate',Fs);
setverify(ai,'TriggerType','HwDigital');
setverify(ai,'InputType','SingleEnded');
setverify(ai,'SamplesPerTrigger', 4);
setverify(ai,'TriggerRepeat', samples/4);
%Collect Data
start(ai)
[data, dtime]= getdata(ai,samples); %get 2s of data
flushdata(ai); % get rid of any queued data
disp('Capture Done')
evts = find(isnan(data));
mean_data = [];
mean_time = [];
std_data = [];
for evt = evts'
cur_data = data(evt+2:evt+4);
cur_time = dtime(evt+2:evt+4);
mean_time = [mean_time; mean(cur_time)];
mean_data = [mean_data; mean(cur_data)];
std_data = [std_data; std(cur_data)];
end
figure(1);
plot(mean_time,mean_data);
std(mean_data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment