function [S1,S2,S3,S4,S5,S6,S7,S8] = GATEPULSE(F)
%#codegen
persistent level;
T=(1/F);
if level== 1
S1=1
S2=1
S3=0
S4=0
S5=1
S6=1
S7=0
S8=0
elseif level== 2
S1=1
S2=1
S3=0
S4=0
S5=1
S6=0
S7=1
S8=0
elseif level== 3
S1=1
S2=0
S3=1
S4=0
S5=1
S6=0
S7=1
S8=0
elseif level== 4
S1=0
S2=1
S3=0
S4=1
S5=1
S6=0
S7=1
S8=0
else level== 5
S1=0
S2=1
S3=0
S4=1
S5=0
S6=1
S7=0
S8=1
end
for n=0:(T/12):T
if 0 < n <= (T/12)
level= 3;
elseif (T/12) < n <= (T/6)
level= 2;
elseif (T/6) < n <= (T/3)
level=1;
elseif (T/3) < n <= (5*T/12)
level=2;
elseif (5*T/12) < n <= (7*T/12)
level=3;
elseif (7*T/12) < n <= (8*T/12)
level=4;
elseif (8*T/12) < n <= (5*T/6)
level=5;
elseif (5*T/6) < n <= (11*T/12)
level=4;
else (11*T/12) < n <= (T)
level=3;
end