function [sta, stc, sta_resamp] = Spike_Triggered_Covariance(sp_binary, stimulus, tw, pp, rate_)
stimulus = stimulus - mean(stimulus);
length_sta = round(tw/pp);
length_stc = length_sta/rate_;
sta = zeros(2*length_sta+1,1);
spike_indx = find(sp_binary>0);
maxindx = spike_indx(end);
indx_int = find(spike_indx>length_sta & spike_indx<maxindx-length_sta);
stc = zeros(2*length_stc+1,length(indx_int));
for j = 1: length(indx_int)
sta = sta + stimulus(spike_indx(indx_int(j))-length_sta:spike_indx(indx_int(j))+length_sta);
stc_ = stimulus(spike_indx(indx_int(j))-length_sta:spike_indx(indx_int(j))+length_sta);
stc(:,j) = stc_;
end
sta = sta/length(indx_int);
sta_resamp = sta;