load("simplified_antenna.mat")
p.FeedViaModel = "octagon";
start = [7.74,8.73]*10^-3;
ant1 = antenna.Rectangle( Length=g+h,Width=a, center=start+[-(g+h)/2,+a/2]);
ant2 = antenna.Rectangle( Length=h,Width=f+a, center=start+[-g-h/2,(a+f)/2]);
ant3 = antenna.Rectangle( Length=e,Width=a, center=start+[-g-h-e/2,a/2]);
ant4 = antenna.Rectangle( Length=c,Width=a, center=start+[-g-h-e-c/2,a/2]);
ant5 = antenna.Rectangle( Length=a,Width=b, center=start+[-g-h-e-c+a/2,b/2]);
ant6 = antenna.Rectangle( Length=c,Width=a, center=start+[-g-h-e-c/2,b-a/2]);
ant7 = antenna.Rectangle( Length=a,Width=b, center=start+[-g-h-e-a/2,b-a+b/2]);
ant8 = antenna.Rectangle( Length=c,Width=a, center=start+[-g-h-e-c/2,b+b-a*1.5]);
ant9 = antenna.Rectangle( Length=a,Width=b, center=start+[-g-h-e-c+a/2,b+b-a-a+b/2]);
ant10 = antenna.Rectangle( Length=c,Width=a, center=start+[-g-h-e-c/2,b+b+b-a*2.5]);
ant11 = antenna.Rectangle( Length=a,Width=b, center=start+[-g-h-e-a/2,b+b+b-a-a-a+b/2]);
ant12 = antenna.Rectangle( Length=c,Width=a, center=start+[-g-h-e-c/2,b+b+b+b-a*3.5]);
ant13 = antenna.Rectangle( Length=a,Width=d, center=start+[-g-h-e-c+a/2,b+b+b+b-a-a-a-a+d/2]);
ant14 = antenna.Circle(center=start+[-g-h/2,f+a], Radius=R);
Newobj = ant1+ant2+ant3+ant4+ant5+ant6+ant7+ant8+ant9+ant10+ant11+ant12+ant13+ant14;
title("Original top layer")
title("Parameterized top layer")
spar_0 = sparameters(antenna_0, (2:0.1:4)*10^9);
title("S parameter original design")
antenna_1.Layers{1,2}.Vertices = Newobj.Vertices;
spar_1 = sparameters(antenna_1, (2:0.1:4)*10^9);
title("S parameter parameterized version 1")
antenna_2.Layers{1,2} = Newobj;
spar_2 = sparameters(antenna_2, (2:0.1:4)*10^9);
title("S parameter parameterized version 2")