y
xz
a1
y
xz
0 a
x
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
xikxikxkxk eBeAeBeA 22112211
X=0
22221111 BikAikBkAk
)(xEy Continuous
)(xEx y
Continuous
2211 BABA
21211111 BkAkBkAk
22122111 )()(2 BikkAikkAk
22122111 )()(2 BikkAikkBk
2
2
2121
2121
11
1
2
1
B
A
ikkikk
ikkikk
kB
A
2121
2121
11 2
1
ikkikk
ikkikk
kM
t
BE
HjE
jE
H
00
ˆˆˆ
yEzyx
zyx
E
)(ˆ)0(ˆˆ
)(ˆ)0(ˆˆ
x
Ezy
z
Ex
x
Ezy
z
Ex
yy
yy
x
Ey
H
Continuous @ z=0 Continuous @ z=0
Why?
y
xz
a1
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
2121
2121
11 2
1
ikkikk
ikkikk
kM
xikeA 22
xikeB 22
xkeA 33
xkeB 33
xkxkxikxik eBeAeBeA 33223322
x=a
akakaikaik eBeAeBeA 33223322
akakaikaik eBkeAkeBikeAik 332233332222
akakaikaik eBikeAikeBikeAik 332232322222
akakaik eBkikeAkikeAik 33233233222 )()(2
akakaik eBkikeAkikeBik 33233233222 )()(2
3232
3232
23 2
1kikkik
kikkik
ikM
2
21
1
1
B
AM
B
A
ak
ak
aik
aik
eB
eAM
eB
eA3
3
2
2
3
33
2
2
ak
ak
aik
aik
eB
eA
kikkik
kikkik
ikeB
eA3
3
2
2
3
3
3232
3232
22
2
2
1
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
2121
2121
11 2
1
ikkikk
ikkikk
kM
xikeA 22
xikeB 22
xkeA 33
xkeB 33
3232
3232
23 2
1kikkik
kikkik
ikM
2
21
1
1
B
AM
B
A
ak
ak
aik
aik
eB
eAM
eB
eA3
3
2
2
3
33
2
2
2
2
2
2
2
2
2
2
0
0
B
A
e
e
eB
eAaik
aik
aik
aik
aik
aik
aik
aik
eB
eA
e
e
B
A2
2
2
2
2
2
2
2
0
0
aik
aik
eB
eAM
B
A2
2
2
22
2
2
aik
aik
e
eM
2
2
0
02
aik
aik
eB
eAMM
B
A2
2
2
221
1
1
ak
ak
eB
eAMMM
B
A3
3
3
3321
1
1
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
2121
2121
11 2
1
ikkikk
ikkikk
kM
xikeA 22
xikeB 22
xkeA 33
xkeB 33
3232
3232
23 2
1kikkik
kikkik
ikM
aik
aik
e
eM
2
2
0
02
ak
ak
eB
eAMMM
B
A3
3
3
3321
1
1
ak
ak
eB
eA
MM
MM
B
A3
3
3
3
2221
1211
1
1
0
0 33
2221
1211
1
akeA
MM
MM
B
akeAM 33110
akeAMB 33211
011 M
2
21
1
0
B
AM
B
1
11
2
2 0
BM
B
A
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
2121
2121
11 2
1
ikkikk
ikkikk
kM
xikeA 22
xikeB 22
xkeA 33
xkeB 33
3232
3232
23 2
1kikkik
kikkik
ikM
aik
aik
e
eM
2
2
0
02
ak
ak
eB
eAMMM
B
A3
3
3
3321
1
1
2
21
1
0
B
AM
B
1
11
2
2 0
BM
B
A
3
3321
1
0
B
AMMM
B
1
1
3
3 03
3
BM
eB
eAak
ak
clear;clf;lamda = 1.5; %umn1 = 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; %umnm = 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 endplot(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 endend
%calculate model profilem = 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); % = 0plot(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
01
221
21
20
0
221
2
21
21
20
0
21 )(1
)(1
)()(dx
ddx
nkdxx
dx
d
nkdxxx
021
21
21
20
0122
121
20
1|)(
1dx
dx
d
dx
d
nkdx
dx
nk
1
02
21
21
20
0122
121
20
1|)(
1
ddx
d
nkdx
dx
nk
0
22
2
121
21
20
01
221
21
20
0122
121
20
1|
1|)(
1dx
dx
d
nkdx
d
nkdx
dx
nk
0
2121
21
20
22
21
200
12
21
21
20
0122
121
20
|1
|)(1
dxnk
nk
dx
d
nkdx
dx
nk
0
2121
21
20
22
21
200
12
21
21
20
0122
121
20
0
21 |1
|)(1
dxnk
nk
dx
d
nkdx
dx
nkdx
aaaa
dxnk
nk
dx
d
nkdx
dx
nkdx
0 2121
22
20
22
22
20
012
21
22
20
01
221
22
20
0 21 |1
|)(1
0
2122
21
20
01
2012
0
2121
21
20 ||)( dxnk
dx
d
dx
dxdxnk
01
2012
0
2121
22 ||)(
dx
d
dx
dxdx
aaaa
dxnkdx
d
dx
dxdxnk
0 2122
22
2001
20
120 21
21
22
20 ||)(
aaa
dx
d
dx
dxdx 01
20
120 21
21
22 ||)(
aaaa
dxnk
nk
dx
d
nkdx
dx
nkdx 212
123
20
22
23
20
12
21
23
20
122
123
20
21 |1
|)(1
aaaa
dxnkdx
d
dx
dxdxnk 21
22
23
201
21221
21
23
20 ||)(
aaa dx
d
dx
dxdx ||)( 1
21221
21
22
01
2012
0
2121
22 ||)(
dx
d
dx
dxdx
aaa
dx
d
dx
dxdx 01
20
120 21
21
22 ||)(
02121
22
dx
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
xikeA 22
xikeB 22
xkeA 33
xkeB 33
a+b1
ba a2
a+a2+b1
M5 = M1M4M6 = M2
M7 = M3
)(4
2 baxikeA
)(4
2 baxikeB
Same waveguide
)(3
3' baxkeA
)(3
3' baxkeB
xkeA 35
xkeB 35
'
'
0
0
3
3
3
3
3
3
3
3
B
A
e
e
eB
eAbk
bk
ak
ak
4
45
3
3
'
'
B
AM
B
A
)(3
3 bakeA
)(3
3 bakeB
'3A
'3B
ak
ak
eB
eAMMM
B
A3
3
3
3321
1
1
bk
bk
e
eM
3
3
0
04
'
'
3
34321
1
1
B
AMMMM
B
A
4
454321
1
1
B
AMMMMM
B
A
15 MM
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
xikeA 22
xikeB 22
xkeA 33
xkeB 33
a+b1
ba a2
a+a2+b1
M5 = M1M4 M7 = M3
)(4
2 baxikeA
)(4
2 baxikeB
)(3
3' baxkeA
)(3
3' baxkeB
)(5
3 abaxkeA
)(5
3 abaxkeB
)(3
3 bakeA
)(3
3 bakeB
'3A
'3B
)(4
4' abaxikeA
)(4
4' abaxikeB
ak
ak
aik
aik
eB
eAM
eB
eA3
3
2
2
3
33
2
2
)(2
2' axikeA
)(2
2 axikeB
'2A
'2B
aikeA 22
aikeB 22
'
'
0
0
4
4
4
4
4
4
B
A
e
e
B
Aaik
aik
M6
aikeA 44
aikeB 44
'
'
4
4654321
1
1
B
AMMMMMM
B
A
aik
aik
e
eM
4
4
0
06
)(3
3' axkeA
)(3
3' axkeB
akeA 33
akeB 33
0 ax
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
xikeA 22
xikeB 22
xkeA 33
xkeB 33
a+b1
ba a2
a+a2+b1
M5 = M1M4 M7 = M3
)(4
2 baxikeA
)(4
2 baxikeB
)(3
3' baxkeA
)(3
3' baxkeB
)(5
3 abaxkeA
)(5
3 abaxkeB
)(3
3 bakeA
)(3
3 bakeB
'3A
'3B
)(4
4' abaxikeA
)(4
4' abaxikeB
ak
ak
aik
aik
eB
eAM
eB
eA3
3
2
2
3
33
2
2
)(2
2' axikeA
)(2
2 axikeB
'2A
'2B
aikeA 22
aikeB 22
5
57
4
4
'
'
B
AM
B
A
M6
aikeA 44
aikeB 44
'
'
4
4654321
1
1
B
AMMMMMM
B
A
aik
aik
e
eM
4
4
0
06
)(3
3' axkeA
)(3
3' axkeB
akeA 33
akeB 33
'
'
0
0
4
4
4
4
4
4
B
A
e
e
B
Aaik
aik
2121
2121
11 2
1
ikkikk
ikkikk
kM
3232
3232
23 2
1kikkik
kikkik
ikM
aik
aik
e
eM
2
2
0
02
4
454321
1
0
B
AMMMMM
B
x
n1
n2
n3
M1 M2 M3
k1
k2
k3
xkeA 11
xkeB 11
xikeA 22
xikeB 22
TE mode
xikeA 22
xikeB 22
xkeA 33
xkeB 33
ba a2M5 = M1M4 M7 = M3
)(4
2 baxikeA
)(4
2 baxikeB
)(5
3 abaxkeA
)(5
3 abaxkeB
M6
bk
bk
e
eM
3
3
0
04
aik
aik
e
eM
4
4
0
06
5
57654321
1
1
B
AMMMMMMM
B
A
5
57654321
1
0
B
AMMMMMMM
B
clear;clf;lamda = 1.5; %umn1 = 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; %umb = 2; %umnm = 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 endplot(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 endend
%calculate model profilem = 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); % = 0plot(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); % = 0x4 = 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); % = 0x5 = 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