I want to know how to calculate S-parameter.

I mean to say, I would like to find out whether S-parameter is calculated in Voltage[V] or Power[W].

I would like to appreciate it if you let me know as soon as possible.

Thanks.

I want to know how to calculate S-parameter.

I mean to say, I would like to find out whether S-parameter is calculated in Voltage[V] or Power[W].

I would like to appreciate it if you let me know as soon as possible.

Thanks.

Hi @in5068

First of all you have to read this article. It refers to the S parameters. You have to use âFreqeuncy-domain field and power monitorsâ and âMode expansion monitorsâ. After that you have to write a script in Python in order to calculate the S-parameters. In this page you can learn how to extract the S-parameters of a ring resonator. Follow all the steps and you will understand the procedure. Also i would like to mention where to write the python script.

After you have finished the design click right on model :

A window will open:There is an example python script , how to calculate the S parameters.

S parameters are calculated in Power[W] or you can convert them to [dB].

I hope it helps!

1 Like

Hi @in5068,

Thanks @konslekk for the answer. The S-parameter measures the âtransmissionâ and âreflectionâ percentage, so it doesnât come with a unit itself. The actually output unit depends on the input as well as the definition of the S-parameter. If the S-parameter defines the complex transmission, then the output could be complex transmission as well, the unit would be in âamplitudeâ unit (like V). If the S-parameter defines the power transmission, then the output unit would be a power unit (like W).

You may also find the following pages very helpful:

https://kb.lumerical.com/en/index.html?metamaterials_s_parameters.html

https://kb.lumerical.com/en/index.html?pic_passive_getting_started_ring_resonator_mode2.html

I hope this could help

1 Like

Hi.

In addition, I want to know whether Transmission and Reflection are Voltage[V] or Power[W].

Reflection or Transmission can be expressed 0~1 in Lumerical FDTD .

Hi @in5068

Like the S-parameters, âtransmissionâ is a unit-less quantity. In FDTD Solutions, it is defined as

the amount of power transmitted through power monitors and profile monitors, normalized to the source power. If you are interest in the actual power transmitted, you need to multiply the transmission with the sourcepower. Same goes with the reflection.

For general information about the units employed in Lumericalâs optical solvers, please have a look at the Units and normalization page.

2 Likes

HiïŒ

I do not understand why S22=in.b/in.a rather than S22=throgh.b/through.a; S12=through.a/in.a rahter than S12=in.a/through.a. Iâm confused.

Thank you very much!

Qi

1 Like

Hi @qi.han.1,

I think @konslekk assumed that the component/structure is reciprocal (@konslekk, please correct me if I am wrong) so that we can have S22 = S11, in which S11 = in.b/in.a. But your definition for S22 is also correct that by direct calculation, S22 = through.b/through.a, and you can also use this equation to calculate it.

For the definition of S12, it refers to the input from the through port and output from the in port (from port â2â to port â1â). Since you are using the Mode Expansion monitor to calculate for the s-parameters, a is along the positive coordinate axis and b is along the negative coordinate axis. Based on the reciprocal assumption, S12 = S21, and S21 = through.a/in.a.

I hope this is clear. The KB page S Parameter extraction could also be very helpful.

Hi,

If I want to extract S11, S21,S31 and S41, what should I write in script?

Sdata=[s.f, abs(S11), unwrap(angle(S11)),abs(S21), unwrap(angle(S21)),abs(S31), unwrap(angle(S31)),abs(S41), unwrap(angle(S41)),];

Is it right?

Qi

Hi @qi.han.1

in = getresult(âexpansionâ,âexpansion for inâ);

through = getresult(âexpansionâ,âexpansion for throughâ);

drop = getresult(âexpansionâ,âexpansion for dropâ);

drop2 = getresult(âexpansionâ,âexpansion for drop2â);

S11 = S22 = S33 = S44 = in.b/in.a;

S21 = S12 = S34 = S43 = drop.b/in.a;

S31 = S13 = S24 = S42 = through.a/in.a;

S41 = S14 = S23 = S32 = drop2.a/in.a;

S = matrixdataset;

S.addparameter(âfâ,in.f,âlambdaâ,in.lambda);

S.addattribute(âS11â,S11);

S.addattribute(âS21â,S21);

S.addattribute(âS31â,S31);

S.addattribute(âS41â,S41);

Sdata = [S.f, abs(S11), unwrap(angle(S11)), abs(S21), unwrap(angle(S21)), abs(S31), unwrap(angle(S31)), abs(S41), unwrap(angle(S41))];

if(fileexists(filename)) { rm(filename); }

format long;

write(filename,num2str(Sdata));

format short;

1 Like

Thank you very much!

Qi