Presentation is loading. Please wait.

Presentation is loading. Please wait.

Y x z a1 y x z 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode X=0 Continuous.

Similar presentations


Presentation on theme: "Y x z a1 y x z 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode X=0 Continuous."— Presentation transcript:

1 y x z a1 y x z 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode X=0 Continuous

2 Continuous @ z=0 Why? y x z a1

3 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode x=a

4 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode

5 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode

6 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode

7 clear; clf; lamda = 1.5; %um n1 = 1.5; n2 = 1.6; n3 = 1.5; k0 = 2*pi/lamda; dn = n2 - n3; N = 100000; neff = n3+dn/N:dn/N:n2-dn/N; beta = k0.*neff; k1 = (beta.^2-k0^2*n1^2).^.5; k2 = (k0^2*n2^2-beta.^2).^.5; k3 = (beta.^2-k0^2*n3^2).^.5; d = 5; %um nm = 0; for m = 2:length(beta) M1(1,1) = (k1(m)+i*k2(m)); M1(1,2) = (k1(m)-i*k2(m)); M1(2,1) = (k1(m)-i*k2(m)); M1(2,2) = (k1(m)+i*k2(m)); M1 = M1./(2*k1(m)); M2(1,1) = exp(i*k2(m)*d); M2(2,1) = 0; M2(1,2) = 0; M2(2,2) = exp(-i*k2(m)*d); M3(1,1) = (k3(m)+i*k2(m)); M3(1,2) = (-k3(m)+i*k2(m)); M3(2,1) = (-k3(m)+i*k2(m)); M3(2,2) = (k3(m)+i*k2(m)); M3 = M3./(i*2*k2(m)); M = M1*M2*M3; M11(m) = M(1,1); I11(m) = abs(M11(m)); if I11(m)<1e-3 if I11(m)>I11(m-1) nm = nm +1; gneff(nm) = neff(m-1); else end else end plot(neff, I11); zoom on; nmn = 1; ggneff(1) = gneff(1); for m = 2:nm if (gneff(m)-gneff(m-1))>1e-3 nmn = nmn+1; ggneff(nmn) = gneff(m); % effective index end %calculate model profile m = 1; betam = k0.*ggneff(m); k1m = (betam.^2-k0^2*n1^2).^.5; k2m = (k0^2*n2^2-betam.^2).^.5; k3m = (betam.^2-k0^2*n3^2).^.5; M1(1,1) = (k1m+i*k2m); M1(1,2) = (k1m-i*k2m); M1(2,1) = (k1m-i*k2m); M1(2,2) = (k1m+i*k2m); M1 = M1./(2*k1m); M2(1,1) = exp(i*k2m*d); M2(2,1) = 0; M2(1,2) = 0; M2(2,2) = exp(-i*k2m*d); M3(1,1) = (k3m+i*k2m); M3(1,2) = (-k3m+i*k2m); M3(2,1) = (-k3m+i*k2m); M3(2,2) = (k3m+i*k2m); M3 = M3./(i*2*k2m); M = M1*M2*M3; V1 = [0 1]'; B1 = V1(2); V2 = M1^-1*V1; A2 = V2(1); B2 = V2(2); x1 = -10:0.001:0; y1 = B1.*exp(k1m.*x1); figure (2) plot(x1,y1); hold on; x2 = 0:0.001:d; y2 = A2.*exp(-i*k2m.*x2) + B2.*exp(i*k2m*x2); V3 = M^-1*V1; A3 = V3(1)*exp(k3m*d); B3 = 0; %V3(2)*exp(-k3m*d); % = 0 plot(x2,y2, 'r'); x3 = d:0.001:10; y3 = A3.*exp(-k3m.*x3) + B3.*exp(k3m*x3); plot(x3,y3, 'b'); hold off; zoom on; One waveguide.m

8 M(1,1) = 0

9 mode profile

10

11

12

13

14 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode a+b1 b aa2 a+a2+b1 M5 = M1 M4 M6 = M2 M7 = M3 Same waveguide

15 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode a+b1 b aa2 a+a2+b1 M5 = M1 M4 M7 = M3 M6

16 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode a+b1 b aa2 a+a2+b1 M5 = M1 M4 M7 = M3 M6

17 x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode b aa2 M5 = M1 M4 M7 = M3 M6

18 clear; clf; lamda = 1.5; %um n1 = 1.5; n2 = 1.6; n3 = 1.5; k0 = 2*pi/lamda; dn = n2 - n3; N = 100000; neff = n3+dn/N:dn/N:n2-dn/N; beta = k0.*neff; k1 = (beta.^2-k0^2*n1^2).^.5; k2 = (k0^2*n2^2-beta.^2).^.5; k3 = (beta.^2-k0^2*n3^2).^.5; d = 5; %um b = 2; %um nm = 0; for m = 2:length(beta) M1(1,1) = (k1(m)+i*k2(m)); M1(1,2) = (k1(m)-i*k2(m)); M1(2,1) = (k1(m)-i*k2(m)); M1(2,2) = (k1(m)+i*k2(m)); M1 = M1./(2*k1(m)); M2(1,1) = exp(i*k2(m)*d); M2(2,1) = 0; M2(1,2) = 0; M2(2,2) = exp(-i*k2(m)*d); M3(1,1) = (k3(m)+i*k2(m)); M3(1,2) = (-k3(m)+i*k2(m)); M3(2,1) = (-k3(m)+i*k2(m)); M3(2,2) = (k3(m)+i*k2(m)); M3 = M3./(i*2*k2(m)); M4(1,1) = exp(k3(m)*b); M4(2,1) = 0; M4(1,2) = 0; M4(2,2) = exp(-k3(m)*b); M5 = M1; M6 = M2; M7 = M3; M = M1*M2*M3*M4*M5*M6*M7; M11(m) = M(1,1); I11(m) = abs(M11(m)); if I11(m)<1e-3 if I11(m)>I11(m-1) nm = nm +1; gneff(nm) = neff(m-1); else end else end plot(neff, I11); zoom on; nmn = 1; ggneff(1) = gneff(1); for m = 2:nm if (gneff(m)-gneff(m-1))>1e-5 nmn = nmn+1; ggneff(nmn) = gneff(m); % effective index end %calculate model profile m = 2; betam = k0.*ggneff(m); k1m = (betam.^2-k0^2*n1^2).^.5; k2m = (k0^2*n2^2-betam.^2).^.5; k3m = (betam.^2-k0^2*n3^2).^.5; M1(1,1) = (k1m+i*k2m); M1(1,2) = (k1m-i*k2m); M1(2,1) = (k1m-i*k2m); M1(2,2) = (k1m+i*k2m); M1 = M1./(2*k1m); M2(1,1) = exp(i*k2m*d); M2(2,1) = 0; M2(1,2) = 0; M2(2,2) = exp(-i*k2m*d); M3(1,1) = (k3m+i*k2m); M3(1,2) = (-k3m+i*k2m); M3(2,1) = (-k3m+i*k2m); M3(2,2) = (k3m+i*k2m); M3 = M3./(i*2*k2m); M4(1,1) = exp(k3m*b); M4(2,1) = 0; M4(1,2) = 0; M4(2,2) = exp(-k3m*b); M5 = M1; M6 = M2; M7 = M3; M = M1*M2*M3*M4*M5*M6*M7; V1 = [0 1]'; B1 = V1(2); V2 = M1^-1*V1; A2 = V2(1); B2 = V2(2); x1 = -10:0.001:0; y1 = B1.*exp(k1m.*x1); figure (2) plot(x1,y1); hold on; x2 = 0:0.001:d; y2 = A2.*exp(-i*k2m.*x2) + B2.*exp(i*k2m*x2); V3 = (M1*M2*M3)^-1*V1; A3 = V3(1)*exp(k3m*d); B3 = V3(2)*exp(-k3m*d); % = 0 plot(x2,y2, 'r'); x3 = d:0.001:d+b; y3 = A3.*exp(-k3m.*x3) + B3.*exp(k3m*x3); plot(x3,y3, 'b'); V4 = (M1*M2*M3*M4*M5)^-1*V1; A4 = V4(1); B4 = V4(2); % = 0 x4 = d+b:0.001:d+b+d; y4 = A4.*exp(-i*k2m.*(x4-d-b)) + B4.*exp(i*k2m.*(x4-d-b)); plot(x4,y4,'r'); V5 = (M1*M2*M3*M4*M5*M6*M7)^-1*V1; A5 = V5(1); B5 = 0; %V5(2); % = 0 x5 = d+b+d:0.001:d+b+d+d; y5 = A5.*exp(-k3m.*(x5-d-b-d)) + B5.*exp(k3m.*(x5-d-b-d)); plot(x5,y5,'b'); hold off; zoom on; Twowaveguide.m

19 M(1,1) = 0

20 mode profile


Download ppt "Y x z a1 y x z 0a x n1 n2 n3 M1M2M3 k1 k2 k3 TE mode X=0 Continuous."

Similar presentations


Ads by Google