Switch to side-by-side view

--- a
+++ b/Supporting Functions/Burst_supression.m
@@ -0,0 +1,87 @@
+function [ bur, sup ] = Burst_supression( x, Fs )
+%UNTITLED2 Summary of this function goes here
+%   Detailed explanation goes here
+supression_threshold = 10;%10;
+
+% DETECT EMG ARTIFACTS.
+% [be ae] = butter(6, [30 49]./(Fs/2)); % bandpass filter
+% demg=filtfilt(be,ae,x);
+% i0=1; i1=1; ct=0; dn=0;
+% Nt = size(x,2);
+% chunkSize = 5; % 5 second chunks
+% a = zeros(1,Nt);
+% while ~dn
+%     %% get next data chunk
+%     i0=i1;
+%     if i1 == Nt
+%         dn=1;
+%     end
+%     
+%     i1=i0+round(Fs*chunkSize);
+%     i1=min(i1,Nt);
+%     i01=i0:i1;
+%     ct=ct+1; % get next data chunk
+%     
+%     A(ct)=0; % set to 1 if artifact is detected
+%     de=demg(:,i01);
+%     
+%     %% check for emg artifact
+%     v=std(de);
+%     if v > 5
+%         A(ct)=1;
+%     end
+%     a(i01)=A(ct);
+% end
+
+% [c,l]=wavedec(x,9,'db2');
+% A9=wrcoef('a',c,l,'db2',9);
+% 
+% [c,l]=wavedec(x,10,'db2');
+% A10=wrcoef('a',c,l,'db2',10);
+% 
+% [c,l]=wavedec(x,11,'db2');
+% A11=wrcoef('a',c,l,'db2',11);
+% 
+% x_tmp = x - A9;
+
+% CALCULATE ENVELOPE
+x = smooth(x,10);
+ME = abs(hilbert(x));
+% ME = smooth(e,Fs/4); % apply 1/2 second smoothing
+% e = ME;
+ME_temp = sort(ME);
+baseline = mean(ME_temp(1:Fs*1.5));
+ME = ME-baseline;
+% DETECT SUPRESSIONS
+% apply threshold -- 10uv
+z = (ME<supression_threshold);
+% remove too-short suppression segments
+z = fcnRemoveShortEvents(z,Fs/4);
+% remove too-short burst segments
+b = fcnRemoveShortEvents(1-z,Fs/4);
+z = 1-b;
+z = z';
+
+%% RUN 'BS' ALGORITHM
+went_low  = find((z(1:end-1) == 0) & (z(2:end) == 1));
+went_high  = find((z(1:end-1) == 1) & (z(2:end) == 0));
+
+if ~isempty(went_low)&&~isempty(went_high)
+starting = went_high(1) < went_low(1);
+
+if(starting == 0)
+    bur =  [[1, went_high(1:length(went_low)-1)]; went_low]';
+    sup = [went_low(1:length(went_high)); went_high]';
+end
+
+if(starting == 1)
+    sup =  [[1, went_low(1:length(went_high)-1)]; went_high]';
+    bur = [went_high(1:length(went_low)); went_low]';
+end
+
+else
+    bur = [];
+    sup = [];
+
+end
+