计算4x4 MMI 的phase error

OtisOtis Member Posts: 2
edited January 11 in Photonics

我使用EME计算4x4 MMI结构,仿真field mode以及group span扫描多模区长度都没有问题,但是在计算相位的时候有一些疑惑,(在EME左边input设置了一个port,右边output设置了四个port,由上到下分别为3254,按照MMI 的原理,2 5为Q 3 4 为I)

我使用的计算phase error的代码公式如下

emesweep;

Hyb_SMatrix = getemesweep ('S');

G3_span = Hyb_SMatrix.group_span_3;

S21 = Hyb_SMatrix.s21;

S31 = Hyb_SMatrix.s31;

S41 = Hyb_SMatrix.s41;

S51 = Hyb_SMatrix.s51;

Phi1 = unwrap(angle (S21));

Phi2 = unwrap(angle (S31));

Phi3 = unwrap(angle (S41));

Phi4 = unwrap(angle (S51));

Phase1 = mod(Phi1-Phi4,pi);

Phase1 = (Phase1-round(Phase1/pi)*pi)/pi*180;

Phase2 = mod(Phi2-Phi3,pi);

Phase2 = (Phase2-round(Phase2/pi)*pi)/pi*180;

Phase = unwrap(mod((Phi1+Phi4)/2-(Phi2+Phi3)/2+pi/2,2*pi));

Phase = (Phase-round(mean(Phase)/pi)*pi)/pi*180;

plot(G3_span*1e6,Phase,Phase1,Phase2,'Hybrid Length (micron)','Phase error (degree)');#FOR length

legend('Phase IQ', 'phase I', 'Phase Q');

但是扫描任何长度Phase = (Phase-round(mean(Phase)/pi)*pi)/pi*180;的结果都偏差很大(40°),不知道计算上是有什么问题

Phase = mod((Phi1+Phi4)/2-(Phi2+Phi3)/2+pi/2,2*pi);

Phase = (Phase-round(mean(Phase)/pi)*pi)/pi*180;

plot(G3_span*1e6,Phase,Phase1,Phase2,'Hybrid Length (micron)','Phase error (degree)');#FOR length

legend('Phase IQ', 'phase I', 'Phase Q');

已解决!去掉phase这个公式中的unwrap就正常了!

Tagged:

Answers

Sign In or Register to comment.