Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| function Data_ERP_N3() | |
| % This function creates the model data depicted in Figure 7 of | |
| % | |
| % A thalamocortical neural mass model of the EEG during NREM sleep and its | |
| % response to auditory stimulation. | |
| % M Schellenberger Costa, A Weigenand, H-VV Ngo, L Marshall, J Born, T Martinetz, | |
| % JC Claussen. | |
| % PLoS Computational Biology (in review). | |
| % To ensure availability of the simulation routine and the utility functions | |
| % from fieldtrip it should be called from Create_Data.m | |
| % Simulation parameters | |
| load('Data/Parameter_N3'); | |
| % Simulation duration | |
| T = 3600; % duration of the simulation | |
| % stimulation parameters | |
| % first number is the mode of stimulation | |
| % 0 == none | |
| % 1 == semi-periodic | |
| % 2 == phase dependend | |
| var_stim = [ 2; % mode of stimulation | |
| 70; % strength of the stimulus in Hz (spikes per second) | |
| 80; % duration of the stimulus in ms | |
| 5; % time between stimulation events in s (ISI) | |
| 0; % range of ISI in s [ISI-range,ISI+range] | |
| 2; % Number of stimuli per event | |
| 1050; % time between stimuli within a event in ms | |
| 450]; % time until stimuli after minimum in ms | |
| % Model Output is given as: | |
| % 1. Pyramidal membrane voltage in mV | |
| % 2. Thalamic relay membrane voltage in mV | |
| % 3. Thalamic calcium concentration in mu mol | |
| % 4. Thalamic I_h activation unitless | |
| % 5. Stimulation markers in sampling rate | |
| [Vp, Vt, Ca, ah, Marker_Stim] = TC_mex(T, Param_Cortex, Param_Thalamus, Connectivity, var_stim); | |
| % Power of spindle bands (BP filtered) | |
| Fs = length(Vp)/T; | |
| Vp_FSP = ft_preproc_hilbert(ft_preproc_bandpassfilter(Vp, Fs, [12, 15], 513, 'fir'), 'abs').^2; | |
| Vp_SSP = ft_preproc_hilbert(ft_preproc_bandpassfilter(Vp, Fs, [09, 12], 513, 'fir'), 'abs').^2; | |
| % Check whether stimuli are too early | |
| Range_ERP = [-1, 3]; | |
| Marker_Stim = Marker_Stim(Marker_Stim>-Range_ERP(1)*Fs); | |
| Marker_Stim = Marker_Stim(Marker_Stim< (T-Range_ERP(2))*Fs); | |
| % Define the matrices | |
| N_Stim = length(Marker_Stim); | |
| time_event = linspace(Range_ERP(1), Range_ERP(2), (Range_ERP(2)-Range_ERP(1))*Fs+1); | |
| Events = zeros(length(time_event), N_Stim); | |
| Events_T = zeros(length(time_event), N_Stim); | |
| Events_FSP = zeros(length(time_event), N_Stim); | |
| Events_SSP = zeros(length(time_event), N_Stim); | |
| for i=1:N_Stim | |
| Events(:,i) = Vp((Marker_Stim(i)+Range_ERP(1)*Fs)+1:(Marker_Stim(i)+Range_ERP(2)*Fs+1)); | |
| Events_T(:,i) = Vt((Marker_Stim(i)+Range_ERP(1)*Fs)+1:(Marker_Stim(i)+Range_ERP(2)*Fs+1)); | |
| Events_FSP(:,i) = Vp_FSP((Marker_Stim(i)+Range_ERP(1)*Fs)+1:(Marker_Stim(i)+Range_ERP(2)*Fs+1)); | |
| Events_SSP(:,i) = Vp_SSP((Marker_Stim(i)+Range_ERP(1)*Fs)+1:(Marker_Stim(i)+Range_ERP(2)*Fs+1)); | |
| end | |
| save('Data/ERP_Stim_Model', 'Events', 'Events_T', 'Events_FSP', 'Events_SSP', 'Marker_Stim'); | |
| save('Data/Ca_Depletion', 'Vp', 'Vt', 'Ca', 'ah', 'Marker_Stim'); | |
| end |