微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 电磁仿真讨论 > Matlab code for photonic band diagram, projected band diagram for1D photonic crystal

Matlab code for photonic band diagram, projected band diagram for1D photonic crystal

时间:03-30 整理:3721RD 点击:
I'm a student just taking nanophotonics for the first time. I need explanation on calculating photonic band diagram (at normal and off-mormal incidence), calculating projected band diagram and Omni-directional range using transfer matrix formalism in matlab.
Thanks.

Welcome bletayo,

I don't work in photonics (so proceed with caution), but I do obtain band diagrams for electromagnetic structures frequently, using transfer matrices.

I start assuming we have the transfer matrix -- if not, that's another topic altogether. Call this [T]. Now, partition this matrix into four equal components: [T_A], [T_B], [T_C], [T_D]. We express the transfer of the Bloch modes for [T_A] as

[T_A] = cosh([γ_b] * d)

where [γ_b] are the Bloch propagation constants, and d is the period of the structure you're observing. Now, [γ_b] actually represents a series of coupled solutions, so in order to extract the modal solutions, you need to diagonalize [γ_b]. You can do this with an eigenmode process, which lets you convert the above expression to:

[T_A] = [T]*cosh([γm_b] * d)*([T]^-1)

Where [γm_b] is the diagonal, modal solutions. This can be done in Matlab, "CoshGmbd = eig(T_A);" Now, you need to acosh the result and divide by d, such that

Gm = acosh(CoshGmbd)/d;

Gives you the modal Bloch propagation constants. Plotting these (usually just the imaginary component) gives you the band diagram.

Hope this helps, good luck!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top