TAGGED: 3DFDTD, phase, phase-change
-
-
November 23, 2023 at 3:59 pm
berkay.neseli
SubscriberHello,
I am working on designing a phase shifter and I have some questions about how to get the correct phase information in FDTD. In a previous post (/forum/forums/topic/extracting-te-mode-phase-information-using-fdtdport-on-the-waveguide/) I saw that phase information can be extracted by using ports. Also in this group delay example of Lumerical, phase info is extracted from time monitor (https://optics.ansys.com/hc/en-us/articles/360042800113-Group-delay-analysis). Is there a significant difference between them? Which one is more appropriate to use or if set up correctly, would both of these methods give the same result ?
As an initial setup, I used ports and tried to get the phase information by this script :
port2S = getresult('FDTD::ports::output_port','S'); (It is my output port)
a=port2S.S;
deg=angle(a);
In the definition of angle(x), it says that the angle command "Returns the angle or phase of a complex number or matrix in radians." But my data is not complex, then does this mean that I can't use this approach?
Thank you.
-
December 9, 2023 at 1:04 am
Amrita Pati
Ansys EmployeeHi Berkay,
I apologize for the late reply. I believe the method used in https://optics.ansys.com/hc/en-us/articles/360042800113-Group-delay-analysis is only applicable to single mode waveguides. You may refer to the following article to see how the phase extraction is one from the S-paramater:Y-branch. In your case, if you go to the S-paramater result and change the scalar operation to Angle (as shown below), is the result 0 everywhere?
Regards,
Amrita -
December 12, 2023 at 6:08 am
berkay.neseli
SubscriberHello Amrita,
Thank you for the reply. When I plot my result, it is not 0. It is like the example graph I obtained below.
But when I use the 'angle' command to extract the phase data, I get a graph like below (index is the number of my monitor wavelength points);
And when I do only unwrap(angle(x)), I get the same result as the first graph. But when I do the unwrap(angle(x))*180/pi, the resulting plot is as below;
The thing I am confused with is, shouldn't I use unwrap(angle(x))*180/pi? Doesn't this convert the phase from radians to angle? Or only unwrap(angle(x)) is enough? (x is the phase data's name which is extracted from the port).
I will also check the example you suggested, I didn't had time to check it yet.
Thank you.
-
December 18, 2023 at 11:18 pm
Amrita Pati
Ansys EmployeeHi Berkay,
I apologize for the late reply. This is a bit strange. There should not be unwrap(angle(x))*180/pi and unwrap(angle(x))* should not show any difference in the trend. Would you be paste your exact code here so that I can run it one of my example.
Regards,
Amrita
-
- The topic ‘Phase information extraction’ is closed to new replies.
-
6450
-
1906
-
1457
-
1308
-
1022
© 2026 Copyright ANSYS, Inc. All rights reserved.



