% % Generates 2Hz square waves with 0.5 dutycycle. % function insignal = makeDaughterInsignal(corr_syn, nSyn, ... upFreq, downFreq, maxTime) nShare = nSyn - sqrt(corr_syn)*(nSyn-1); pShare = 1/nShare; baseFreq = 3.333; dutyCycle = 0.5; stateTime = dutyCycle/baseFreq; isUpstate = 1; % Start with upstate startTime = 0; motherSpikes = []; for startTime = 0:stateTime:(maxTime-stateTime) if(isUpstate) curFreq = upFreq*nShare; else curFreq = downFreq*nShare; end motherSpikes = [motherSpikes; ... startTime + poissonMaxTime(curFreq, stateTime)]; isUpstate = ~isUpstate; end len = length(motherSpikes); v = (rand(len, nSyn) < pShare).*repmat(motherSpikes,1,nSyn); v(find(v == 0)) = inf; v = sort(v); vlen = 1+max(mod(find(v < inf) - 1, len)); insignal = v(1:vlen,:);