FT_STEADYSTATESIMULATION
Note that this reference documentation is identical to the help that is displayed in MATLAB when you type “help ft_steadystatesimulation”.
FT_STEADYSTATESIMULATION creates a simulated EEG/MEG dataset. This function allows to simulate the effect of several independent stimulus trains. These can be presented as a periodic sequence, or as single (or few) transient stimuli. This function creates a single block of data. You can call it repeatedly and use FT_APPENDDATA to combine different blocks. Use as data = ft_steadystatesimulation(cfg) where cfg is a configuration structure that should contain cfg.fsample = scalar, sampling frequency in Hz (default = 512) cfg.duration = scalar, trial length in seconds (default = 4.56) cfg.baseline = scalar, baseline length in seconds (default = 0) cfg.ntrials = integer N, number of trials (default = 320) cfg.iti = scalar, inter-trial interval in seconds (default = 1) Each trial can contain multiple nested experimental manipulations cfg.level1.condition = scalar, or vector of length L1 (default = 1) cfg.level1.gain = scalar, or vector of length L1 (default = 1) cfg.level2.condition = scalar, or vector of length L2 (default = 1) cfg.level2.gain = scalar, or vector of length L2 (default = 1) cfg.level3.condition = scalar, or vector of length L3 (default = 1) cfg.level3.gain = scalar, or vector of length L3 (default = 1) If you don't need level 2 and up, specify the condition and gain as empty. Idem for level 3 and up. Stimuli are created at the lowest experimental level, and are modulated according to the product of the gain of all levels. Each trial can contain one or multiple stimuli. The behaviour of each stimuli is specified with cfg.stimulus1.mode = 'periodic', 'transient' or 'off' (default = 'periodic') cfg.stimulus2.mode = 'periodic', 'transient' or 'off' (default = 'transient') If the stimulus is periodic (below as example for stimulus1), the following options apply cfg.stimulus1.number = does not apply for periodic stimuli cfg.stimulus1.onset = in seconds, first stimulus relative to the start of the trial (default = 0) cfg.stimulus1.onsetjitter = in seconds, max jitter that is added to the onset (default = 0) cfg.stimulus1.isi = in seconds, i.e. for 10Hz you would specify 0.1 seconds as the interstimulus interval (default = 0.1176) cfg.stimulus1.isijitter = in seconds, max jitter relative to the previous stimulus (default = 0) cfg.stimulus2.condition = does not apply for periodic stimuli cfg.stimulus2.gain = does not apply for periodic stimuli cfg.stimulus1.kernelshape = 'sine' cfg.stimulus1.kernelduration = in seconds (default = isi) If the stimulus is transient (below as example for stimulus2), the following options apply cfg.stimulus2.number = scalar M, how many transients are to be presented per trial (default = 4) cfg.stimulus2.onset = in seconds, first stimulus relative to the start of the trial (default = 0.7) cfg.stimulus2.onsetjitter = in seconds, max jitter that is added to the onset (default = 0.2) cfg.stimulus2.isi = in seconds as the interstimulus interval (default = 0.7) cfg.stimulus2.isijitter = in seconds, max jitter relative to the previous stimulus ((default = 0.2) cfg.stimulus2.condition = 1xM vector with condition codes for each transient within a trial (default = [1 1 2 2]) cfg.stimulus2.gain = 1xM vector with gain for each condition for each transient within a trial(default = [1 1 1 1]) cfg.stimulus2.kernelshape = 'hanning' cfg.stimulus2.kernelduration = in seconds (default = 0.75*isi) RANDOMIZATIONS: - The onsetjitter is randomized between 0 and the value given, and is always added to the onset. - The isijitter is randomized between 0 and the value given, and is always added to the interstimulus interval (isi). - For periodic stimuli, which are constant within a trial, the condition code and gain are shuffled over all trials. - For transient stimuli, the condition code and gain are shuffled within each trial. Using the default settings, we model a peripherally presented flickering stimulus that appears at different excentricities together with a centrally presented transient stimulus that appears 4x per trial. To simulate the experiment described at , you have to call this 4 times with a different cfg.configuration and cfg.gain to model the task load and use FT_APPENDDATA to concatenate the trials. In this case cfg.condition models the factor "task load" (2 levels, low and high), cfg.stimulus1.condition models the factor "excentricity" (4 levels), and cfg.stimulation2.condition models the factor "stimulus type" (2 levels, non-target or target). See also FT_DIPOLESIMULATION, FT_TIMELOCKSIMULATION, FT_FREQSIMULATION, FT_CONNECTIVITYSIMULATION, FT_APPENDDATA