Back to the main page.

Bug 3133 - make an example page that demonstrates SSVEP/SSAEP analysis

Reported 2016-05-30 10:04:00 +0200
Modified 2016-10-13 10:00:02 +0200
Product: FieldTrip
Component: documentation
Version: unspecified
Hardware: PC
Operating System: Mac OS
Importance: P5 normal
Assigned to: Robert Oostenveld
Depends on:
See also:

Robert Oostenveld - 2016-05-30 10:04:46 +0200

This follows up on repeated contacts with people that struggle with finding an efficient and good analysis strategy for steady-state and frequency-tagged data. I have an example dataset from Stefan Wiens (Stockholm) that I will use for this.

Robert Oostenveld - 2016-05-30 10:07:59 +0200

We have a short example page "Use frequency analysis to estimate SSVEP amplitude" at That is to be extended with the time-domain regression approach and made specific for the example dataset.

Robert Oostenveld - 2016-05-30 10:15:24 +0200

I uploaded the description of the example dataset to

Robert Oostenveld - 2016-05-30 10:18:43 +0200

I uploaded the dataset (BDF file) to /home/common/matlab/fieldtrip/data/ftp/example/ssvep from where it will automatically be synchronized with the fieldtrip/example/ssvep directory on the FTP server. I should also upload the trialfun, but first have to check that out in more detail.

Tzvetan Popov - 2016-05-30 18:51:04 +0200

I have example data from 256 EGI and 40Hz SSAEP. I'd be happy to contribute to the tutorial in case needed. In my read the Stockholm dataset is only visual right?

Robert Oostenveld - 2016-05-31 08:55:58 +0200

(In reply to Tzvetan Popov from comment #4) Thanks for the offer. The Stockholm data is indeed only visual. The experimental structure of it is didactically quite interesting with regards to analysis, as there is a ~5 s flicker, combined with 4 stimuli that are slightly jittered. So the phase of the stimuli is random relative to the flicker. One analysis for which your SSAEP dataset would be better, is detecting the SS response on the source level (e.g. fitting two dipoles to the SSAEP, or doing a BF). Let me first write this one out, and then together look whether all cases that we want to explain are sufficiently covered.

Stephen Whitmarsh - 2016-07-21 09:33:43 +0200

Hi there, Very good idea! I have a SSSSEF dataset (somatosensory steady state ;-)) which I am analyzing now and could share if needed (although the study is ongoing). Is there any further progress planned any time soon? Perhaps Robert (as well as Popov, and Stefan), it would be helpful to discuss the possible approaches with me? I know it would be for me :-) Best, Stephen

Robert Oostenveld - 2016-10-13 09:59:30 +0200

The de2bi function is missing (as it is in the communications toolbox), here is a replacement ---------- function b = de2bi(d, n) d = d(:); if nargin>2 error('unsupported'); end if nargin<2 % how many bits are needed? n = ceil(log(max(d))/log(2)); end b = zeros(numel(d), n); for i=1:numel(d) for j=1:n b(i,j) = bitget(d(i), j); end end

Robert Oostenveld - 2016-10-13 10:00:02 +0200

the array2table function is not present in 2012b, it is present in 2015b.