Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. clear all
  2. clc
  3.  
  4. load('P300data.mat')
  5. epochs = extract_epochs(P300Data(:,4),flash_times,flash_ids,0.1*Fs,0.6*Fs);
  6.  
  7. p2p_vals = peak2peak(epochs.data, 2);
  8. epochs.data = epochs.data(p2p_vals < 100, :);
  9. epochs.ids = epochs.ids(p2p_vals < 100);
  10.  
  11. target_erp = mean(epochs.data(epochs.ids == 2, :), 1);
  12. nontarget_erp = mean(epochs.data(epochs.ids == 1, :), 1);
  13.  
  14. hold on
  15. times = ((1:size(epochs.data,2)) - 0.1*Fs)/Fs;
  16. plot(times, target_erp)
  17. plot(times, nontarget_erp)
  18. xlabel('Time (ms)')
  19. ylabel('Potential (uV)')
  20. legend('Target', 'Non-target')
  21.  
  22. var = epochs.data;
  23. features = p300_features(var');
  24.  
  25.  
  26. function features = p300_features(data)
  27.  
  28. features = zeros(size(data, 1), 3);
  29. for i=1:size(data, 1)
  30. x = data(i, :);
  31. extracted = x(2393:4189);
  32.  
  33. [~,index]=max(x);
  34. features(i, 1) = mean(extracted);
  35. features(i, 2) = peak2peak(extracted);
  36. features(i, 3) = index;
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement