directional coupler [호환 모드] - high-speed circuits...
TRANSCRIPT
High-Speed Circuits & Systems Lab.Dept. of Electrical and Electronic Engineering
Yonsei University
Directional coupler
Byung-Min Yu
Page 3/20Yonsei University
Silicon photonics
http://www.trendguardian.com/2010/08/silicon-photonics-1terabyte-of-data-in.html
Page 4/20Yonsei University
Simulation tool
MODE Solutions
- Eigen mode solver for waveguide
- 2.5D FDTD propagation method(Analyzing how optical fields propagate within waveguiding structures)
Page 5/20Yonsei University
What is directional coupler (DC)
PthroughPin
Pcoupled
- Directional coupler: relation between nearby two waveguide
- Light field in waveguide affect another waveguide
Directional coupler overview Field in directional coupler
Coupling gap
Coupling length
Page 6/20Yonsei University
What is directional coupler
Even-mode of Ey field Odd-mode of Ey field
- Even-mode: phases of E-fields are same direction in two waveguides
- Odd-mode: phases of E-fields are opposite direction in two waveguides
Effective indexes of two modes are different (group velocity is also different)coupled power of light affects effective index difference between two modes
Even-mode of |Ey|2 field Odd-mode of |Ey|2 field
Page 8/20Yonsei University
E-field modes in DC
• Through power: = = where is through coefficient
• Coupling power: = = where is through coefficient= ∆ / (∆ : effective index difference between even and odd modes)
Coupling power and through power in directional coupler
Cross-over length
Page 9/20Yonsei University
Key parameters of DC
PthroughPin
Pcoupled
Coupling gap
Coupling length
- Coupling gap: effective index difference of even and odd modes (C)
- Coupling length: coupled power and through power
- Wavelength: directional coupler have wavelength dependency
Coupling power: = = , ( = ∆ / )
Page 10/20Yonsei University
Coupling gap variation
Cross-over length as various coupling gapCoupling coefficient at particular wavelength
as various coupling gap
- Cross-over length increased as coupling gap is increased coupling gap affects effective index difference
- Coupling coefficient
Page 11/20Yonsei University
Coupling length variation
Coupling power and through power in directional coupler
Page 12/20Yonsei University
Wavelength variation
Coupling coefficient as various wavelengthEffective index of two modes
Page 13/20Yonsei University
Simulation
Simulation using propagatorSimulation using mode solver
- Mode solver simulation: find effective indexes even and odd mode
- Propagator simulation: light input and find light power directly
Page 14/20Yonsei University
Mode solver vs propagator
- Easy to simulation
- Simulation time is fast
- Simulation accuracy is relatively bad
Mode solver
- Simulation accuracy is relatively good
- Simulation time is slow
- Simulation is complicated
Propagator
Coupling length
Coupling power exist !
Page 15/20Yonsei University
Mode solver
Material setting
material_BOX = "SiO2 (Glass) - Palik";
material_Si = "Si (Silicon) - Palik";
draw box
addrect; set("name","Clad"); set("material", material_Clad);
set("y", 0); set("y span", Y_span+1e-6);
set("z min", 0); set("z max", thick_Clad);
set("x min", Xmin); set("x max", Xmax);
set("override mesh order from material database",1);
set("mesh order", 3);
set("alpha", 0.05);
Make structure
Page 16/20Yonsei University
# define simulation parameters
wavelength = 1.55e-6;
meshsize = 10e-9; # maximum mesh size
# add 2D mode solver (waveguide cross-section)
addmode; set("solver type", "2D X normal"); set("x", 0);
set("y", 0); set("y span", Y_span);
set("z max", Zmax); set("z min", Zmin);
set("wavelength", wavelength); set("solver type","2D X
normal");
set("define y mesh by","maximum mesh step");
set("dy",meshsize);
set("define z mesh by","maximum mesh step");
set("dz",meshsize);
N_modes=2; # modes to output
set("number of trial modes",10);
Mode solverMake mode solver
Page 17/20Yonsei University
Mode solver
for(jj=1:length(gap_list)) {
switchtolayout;
setnamed("waveguide2","y", -width_ridge/2-gap_list(jj)/2);
setnamed("waveguide1","y", width_ridge/2+gap_list(jj)/2);
n=findmodes;
for (m=1:N_modes) { # extract mode data
neff (jj,m) =abs( getdata("MODE::data::mode"+num2str(m),"neff") );
}
L_cross(jj) = wavelength / 2 / abs( neff (jj,1)-neff (jj,2));
}
Coupling gap sweep using mode solver
Page 18/20Yonsei University
PropagatorMake structure
addring;
set('name',"circle1_right2");
set("material",material_Si);
set('x', lc/2 + 2*rad);
set('y',rad + gap/2 + width_ridge/2);
set('z min',0);
set('z max',0.22e-6);
set("inner radius",rad - width_ridge/2);
set("outer radius",rad + width_ridge/2);
set('theta start',90);
set('theta stop',180);
Page 19/20Yonsei University
PropagatorSimulation
addpropagator;
set("background index", 1.44);
set("simulation time", 2000e-15);
set("x", 0);
set("x span", 2*(lc/2 + sqrt(2)*rad + 4.6e-6));
set("y", 0);
set("y span", 2*(gap + 2*width_ridge + rad));
set("z min", -0.5e-6 + thick_Si/2);
set("z max", 0.5e-6 + thick_Si/2);
set("x0", 0);
set("y0", -width_ridge/2);
set("bandwidth", "broadband");
Page 20/20Yonsei University
PropagatorSimulation
addmodesource;
set("injection axis", "x-axis");
set("direction", "Forward");
set("x", -lc/2-sqrt(2)*rad-3e-6);
set("y", -gap/2-width_ridge/2-(2-sqrt(2))*rad );
set("y span", 1e-6);
set("wavelength start", 1.5e-6);
set("wavelength stop", 1.6e-6);
addpower;
set("name", "through");
set("monitor type", "Linear Y");
set("x", lc/2+sqrt(2)*rad+3e-6);
set("y", -gap/2-width_ridge/2-(2-sqrt(2))*rad);
set("y span",1e-6);
set("z", 0.11e-6);