Auditory Oddball Scripts
From NeuroTychoWiki
We assume that we are in the data folder.
Preprocessings and ERP plots
clear; close all; DataDir=sprintf(['./']); nCH=numel(dir([DataDir 'ECoG_ch*'])); n=whos('-file',[DataDir 'ECoG_ch1.mat']); ECoG=zeros(nCH,n.size(2)); % load data load([DataDir 'repEvent']); for ch=1:nCH openfile=sprintf('ECoG_ch%d',ch); ECoG(ch,:)=struct2array(load([DataDir openfile])); end ECoG=0.25*ECoG; % CMR (Common Median Reference) mECoG=ECoG-ones(nCH,1)*median(ECoG); % bandpass filter with digital filter Fs=1000; N=100; Wn=[1 30]/(Fs/2); fil=fir1(N,Wn,'bandpass'); meth='FIR digital filter'; fdmdata=filtfilt(fil,1,mECoG')'; % align on the stimulus onsets rtime=(-1100:1000); for t=1:length(repEvent) fdmrpt(:,t,:)=fdmdata(:,repEvent(t,6)+503*repEvent(t,5)+rtime); end % plot standard and deviant ERPs figure for ch=1:nCH subplot(6,6,ch-36*(ceil(ch/36)-1)); % trial rejection data=squeeze(fdmrpt(ch,:,:)); [I K]=find(std(data,[],2)>(mean(std(data,[],2))+3*std(std(data,[],2)))); trial=[1:size(data,1)]; trial(I)=[]; data=data(trial,:); % cut data STD=data(:,rtime>=-603 & rtime<=-3); DEV=data(:,rtime>=-100 & rtime<=500); % base line correction STD=STD-mean(mean(STD(:,1:100))); DEV=DEV-mean(mean(DEV(:,1:100))); plot(-100:500,mean(STD),'b'); hold on plot(-100:500,mean(DEV),'g'); plot([0 0],[-15 15],'k'); hold off set(gca,'XLim',[-100 500],'YLim',[-15 15],'YDir','reverse') ylabel(['ch' num2str(ch)]) end