The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> How to plot "input reflection coefficient" in ADS
https://designers-guide.org/forum/YaBB.pl?num=1266403928

Message started by DoYouLinux on Feb 17th, 2010, 2:52am

Title: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 17th, 2010, 2:52am

Hi all,

I am just wondering .... I am trying to simulate a single transistor with two 50-ohm ports connected at the base and collector in ADS.

From theory, if the output is terminated with a 50-ohm load, the input reflection coefficient looking into the base is equal to S11. How ever, if the output is terminated with some impedance other than 50 ohm (Gamma_L is not zero), we need to calculate the input reflection coefficient (Gamma_in) as a function of "Gamma_L"

My question is, how could we plot "Gamma_in" in ADS ??? Do we need to edit the equation of Gamma_in by ourselves ? Or, there exists some predefined function ?


Thanks a lot in advance (I will put my schematic soon)

DYL  ;D

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 17th, 2010, 3:17am

Assume following.
ZL ; Load Impedance.

Z01 ; Port1 Impedance=Reference Impedance for Port1
Z02 ; Port2 Impedance=Reference Impedance for Port2

You can calculate Gamma_in by various methods.

If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02==conj(ZL), S(1,1) is Gamma_in you want.

If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02!=conj(ZL), use "stos()" function.
http://edocs.soco.agilent.com/display/ads2009/stos%28%29

Scorrected = stos(S, PortZ, {PortZ(1),conj(ZL)})

You can get Gamma_in as Scorrected(1,1).
Here PortZ(1)=Z01, PortZ(2)=Z02.

Of course, you can also calculate Gamma_in by the following.
Gamma_L=(ZL-conj(Z02))/(ZL+Z02)
Gamma_in=S(1,1)+S(1,2)*S(2,1)*Gamma_L/(1-S(2,2)*Gamma_L)

You can define your custom functions in Agilent ADS post processing environment which are commonly usable in ADS native, RFDE and GoldenGate.

See http://www.edaboard.com/viewtopic.php?t=371902

Source codes of original prepared functions exist in "$HPEESOF_DIR/expressions/ael".
You can create your custom function easily by modifying them.



Code:
defun  my_gamma_in(S, ZL, Z02)
{
       decl  gammaL = (ZL-conj(Z02))/(ZL+Z02);
       decl  gamma_in=S(1,1)+S(1,2)*S(2,1)*gamma_L/(1-S(2,2)*gamma_L);
       return gamma_in;
}


Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 17th, 2010, 7:18am

Hi pancho_hideboo,

Thank you so much again for your great reply. However, I am still confused at some points.

1) For the load reflection coefficient (Gamma_L), is it not calculated by "(ZL-Z02)/(ZL+Z02) ? Why is the numerator in your reply equal to "ZL-conj(Z02)" ? From what I understand, your reflection coefficient is a general form. For example, as seen from the attached figure, if Z0 is complex and if ZL is a complex conjugate of Z0, the two impedances are conjugately matched and there will be no reflection at the reference plane. Do I understand correctly ??

However, in ADS, the reference impedance becomes Z0 of the "term" element, not that of the transmission like shown in the figure anymore. Hmmmm .... so where is the reference plan that we can define the "reflection" ???

2) As you can see from another attached figure, if I changed Z0 of "Term 2" to be, for instance, 10 + j20 instead of 50. Now does my load become 10 + j20 ohm and the reference impedance of Term 2 is 10 Ohm.

I am quite confused about reference impedance in ADS and reference impedance used in several text books now  >:(

However, thank you very much again for your nice post

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 17th, 2010, 7:19am

Oh, forgot another figure. Here it is.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 17th, 2010, 7:30am

See http://en.wikipedia.org/wiki/S-parameters
a1=0.5*k*(V1+Z01*I1), b1=0.5*k*(V1-conj(Z01)*I1), k=1/sqrt(real(Z01))
Gamma=b1/a1=(V1-conj(Z01)*I1)/(V1+Z01*I1)=(Zin-conj(Z01))(Zin+Z01), Zin=V1/I1


DoYouLinux wrote on Feb 17th, 2010, 7:18am:
1) For the load reflection coefficient (Gamma_L), is it
not calculated by "(ZL-Z02)/(ZL+Z02) ?
Why is the numerator in your reply equal to "ZL-conj(Z02)" ?
Try to run 1 port s-parameter analysis using Agilent ADS under Z of "Term1" is 50+j*50 and Zload=20+j*30.
Confirm S11 which ADS gives is (Zload-conj(Z))/(Zload+Z) not (Zload-Z)/(Zload+Z).


DoYouLinux wrote on Feb 17th, 2010, 7:18am:
For example, as seen from the attached figure, if Z0 is complex and if ZL is a complex conjugate of Z0, the two impedances are conjugately matched and there will be no reflection at the reference plane.
Do I understand correctly ??
Not correct. Reflection regarding "Voltage Wave" exists even if this reflection coefficient is zero.
This reflection coefficient is for maximum power transmission. That is no reflection for sqrt(Power Wave).
Not for non-distortion(non reflection regarding Voltage Wave) transmission condition.

Definition of reflection coefficient for non reflection regarding Voltage Wave is (Zload-Z)/(Zload+Z) not (Zload-conj(Z))/(Zload+Z).


DoYouLinux wrote on Feb 17th, 2010, 7:18am:
However, in ADS, the reference impedance becomes Z0 of the "term" element,
not that of the transmission like shown in the figure anymore.
Hmmmm .... so where is the reference plan that we can define the "reflection" ???
Signal source having source impedance of Z0 is connected to left of transimission line in your attatched figure.
Consider Tevenin equivalent circuit seeing left from Ref. plane in your attached figure.
If you consider Tevenin equivalent circuit, it is very clear that reference plane is point you showed.


DoYouLinux wrote on Feb 17th, 2010, 7:18am:
2) As you can see from another attached figure,
if I changed Z0 of "Term2" to be, for instance, 10 + j20 instead of 50.
Now does my load become 10 + j20 ohm and the reference impedance of Term 2 is 10 Ohm.
Not correct.
The reference impedance of "Term2" is (10+j*20)ohm not 10ohm.

If you use AC analysis for evaluation of Zin, Z of "Term2" must be ZL.

But if you use SP analysis for evaluation of Zin and Z of "Term2" is conj(ZL),
Gamma_in which you want is given as S11.


DoYouLinux wrote on Feb 17th, 2010, 7:18am:
I am quite confused about reference impedance ADS and reference impedance used in several text books now
Treatment of complex impedance of "Term" in Agilent ADS is very correct.
There are very few books which describe definition of S-parameters when reference impedances are complex number, although I don't know what text books you read.

In Agilent ADS, "SP_Probe" is available for evaluation of Zs,Zin,Zout and ZL.
http://edocs.soco.agilent.com/display/ads2009/SP+Probe+%28S-Parameter+Probe%29


Title: Re: How to plot "input reflection coefficient" in ADS
Post by Frank Wiedmann on Feb 18th, 2010, 2:07am


pancho_hideboo wrote on Feb 17th, 2010, 7:30am:
There are very few books which describe definition of S-parameters when reference impedances are complex number, although I don't know what text books you read.

The article http://www.mtt.org/measurements/GENERWGCT.PDF is the best reference for this subject I know of. The discussion at http://www.designers-guide.org/Forum/YaBB.pl?num=1251245633 might also be interesting regarding the definition of S-parameters.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 18th, 2010, 2:29am

When reference impedance is real number, definition of s-parameter is very easy.
See http://www.designers-guide.org/Forum/YaBB.pl?num=1266168115/1#1


Frank Wiedmann wrote on Feb 18th, 2010, 2:07am:
The article http://www.mtt.org/measurements/GENERWGCT.PDF is the best reference for this subject I know of.
This is based on "Electro-Magnetic Wave Circuit Theory".
So I think it is very difficult to understand for people who are not microwave theory experts.

Most important issue is understanding "Power Wave formulation" based on "Kaneyuki Kurokawa's formulation".

When reference impedance is real number, sqrt(power wave) is same as voltage wave except for scalar multiplication existing between them.

But when reference impedance is complex number, sqrt(power wave) is different from voltage wave completely.


This board is "Simulators".
So I move back to issue of "Simulators".

I have confirmed that treatment of complex impedance of "Term" in Agilent ADS's SP analysis is very correct.

However I have not confirmed whether treatment of complex impedance of "port" is correct or not in SP analysis of both Cadence Spectre and Agilent GoldenGate.

Cadence Spectre claims supporting "port" with complex impedance at least for small signal analysis.
http://www.designers-guide.org/Forum/YaBB.pl?num=1231076499/5#5

Is there anyone who confirmed treatment of complex impedance of "port" in SP analysis of both Cadence Spectre and Agilent GoldenGate ?
Can they give correct S11 and S21 when both Z01 and Z02 are complex numbers ?

Title: Re: How to plot "input reflection coefficient" in ADS
Post by Frank Wiedmann on Feb 18th, 2010, 5:06am


pancho_hideboo wrote on Feb 18th, 2010, 2:29am:

Frank Wiedmann wrote on Feb 18th, 2010, 2:07am:
The article http://www.mtt.org/measurements/GENERWGCT.PDF is the best reference for this subject I know of.
This is based on "Electro-Magnetic Wave Circuit Theory".
So I think it is very difficult to understand for people who are not microwave theory experts.

The summary at http://wikis.ua.pt/MTT-11/index.php/S-Parameters_and_VNA_Calibrations might be more accessible.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 18th, 2010, 6:54am

Hi Pancho_Hideboo,

I have just finished my homework, proving your reply. Wow, you are correct about the definition of reflection coefficient that is used by ADS. I attached what I did in ADS and the results here.

Now I am trying to understand the definitions of reflection coefficients you mentioned (I still don't know exactly how to use Quote, sorry about this):

---------------------------------------------------------------------------------------------------
Reflection regarding "Voltage Wave" exists even if this reflection coefficient is zero.
This reflection coefficient is for maximum power transmission. That is no reflection for sqrt(Power Wave). Not for non-distortion(non reflection regarding Voltage Wave) transmission condition.

Definition of reflection coefficient for non reflection regarding Voltage Wave is (Zload-Z)/(Zload+Z) not (Zload-conj(Z))/(Zload+Z)
---------------------------------------------------------------------------------------------------

Why do we have two definitions: (Zload-Z)/(Zload+Z) and (Zload-conj(Z))/(Zload+Z). As I have proved in ADS, the latter definition is correct, while the first one is not correct  :-/

Thank you very much for your explanation again,

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 18th, 2010, 6:55am

Oh, forgot the results.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 18th, 2010, 7:18am


DoYouLinux wrote on Feb 18th, 2010, 6:54am:
Why do we have two definitions: (Zload-Z)/(Zload+Z) and (Zload-conj(Z))/(Zload+Z).
As I have proved in ADS, the latter definition is correct, while the first one is not correct
Both reflection coefficients are correct.
They depend on wave which we have interest in.

First one is based on Voltage Wave.
Second one is based on sqrt(Power Wave).

For complex reference impedance, you have to distinguish S11 from ΓV(=Voltage Wave Refelection Coefficient).

At power matching(=conjugate matching) condition, output waveform is distorted unless input signal is single frequency sinusoidal.

Assume source impedance is Zs=Rs//Cs=1/(1/Rs+j*ω*Cs) and Load impedance is ZL.

If ZL=conj(Zs)=1/(1/Rs-j*ω*Cs)=1/(1/Rs+1/(j*ω*Leq)), (Leq=1/(ω2*Cs)), output waveform is distorted
because we can never realize broadband conjugate matching.

If ZL=k*Zs, (k is real number), output waveform is never distorted.
Here we can realize ZL=k*Zs=(k*Rs)//(Cs/k) over relative wide frequency band.
k=1 is no more than no reflection condition for Voltage Wave.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 19th, 2010, 1:47am


pancho_hideboo wrote on Feb 18th, 2010, 2:29am:
I have confirmed that treatment of complex impedance of "Term" in Agilent ADS's SP analysis is very correct.

However I have not confirmed whether treatment of complex impedance of "port" is correct or not in SP analysis of both Cadence Spectre and Agilent GoldenGate.

Cadence Spectre claims supporting "port" with complex impedance at least for small signal analysis.
http://www.designers-guide.org/Forum/YaBB.pl?num=1231076499/5#5

Is there anyone who confirmed treatment of complex impedance of "port" in SP analysis of both Cadence Spectre and Agilent GoldenGate ?
Can they give correct S11 and S21 when both Z01 and Z02 are complex numbers ?
I have confirmed treatment of complex impedance of "port" in SP analysis of both Cadence Spectre and Agilent GoldenGate.

Both Cadence Spectre and Agilent GoldenGate can give same S11 and S21 as Agilent ADSsim when both Z01 and Z02 are complex numbers.

But Cadence OCEAN functions, "zm()" and "zref()" can't give correct values. "zref()" ignores imaginary part.

I've not confirmed other Cadence OCEAN functions related to SP analysis.
If you will use Cadence Spectre, you should confirm their validity for complex reference impedance case.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 23rd, 2010, 6:17am

Hmmm Pancho_Hideboo,

I actually am reading it, from the beginning .... I will come back with some results of my homework soon :)

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 23rd, 2010, 9:13pm


pancho_hideboo wrote on Feb 17th, 2010, 3:17am:
If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02==conj(ZL), S(1,1) is Gamma_in you want.

If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02!=conj(ZL), use "stos()" function.
http://edocs.soco.agilent.com/display/ads2009/stos%28%29

Scorrected = stos(S, PortZ, {PortZ(1),conj(ZL)})
I have mistakes.
Correctly these have to be :
Quote:
If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02==ZL, S(1,1) is Gamma_in you want.

If {S(1,1),S(1,2),S(2,1),S(2,2)} are evaluated under condition of Z02!=ZL, use "stos()" function.
http://edocs.soco.agilent.com/display/ads2009/stos%28%29

Scorrected = stos(S, PortZ, {PortZ(1),ZL})




pancho_hideboo wrote on Feb 17th, 2010, 7:30am:
But if you use SP analysis for evaluation of Zin and Z of "Term2" is conj(ZL),
Gamma_in which you want is given as S11.
I have mistakes.
Correctly this has to be :
Quote:
But if you use SP analysis for evaluation of Zin and Z of "Term2" is ZL,
Gamma_in which you want is given as S11.


Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Feb 24th, 2010, 7:06am

Hi Pancho_Hideboo,

Thank you for the correction. However, is Gamma_L still the same:

Gamma_L=(ZL-conj(Z02))/(ZL+Z02)

??

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 24th, 2010, 7:10am


DoYouLinux wrote on Feb 24th, 2010, 7:06am:
However, is Gamma_L still the same:
Gamma_L=(ZL-conj(Z02))/(ZL+Z02)


pancho_hideboo wrote on Feb 17th, 2010, 3:17am:
Of course, you can also calculate Gamma_in by the following.
Gamma_L=(ZL-conj(Z02))/(ZL+Z02)
Gamma_in=S(1,1)+S(1,2)*S(2,1)*Gamma_L/(1-S(2,2)*Gamma_L)
Gamma_L might be (ZL-Z02)/(ZL+conj(Z02)) in the above.

But I use AC analysis for evaluation of Γin. I don't use SP analysis.
So I have not confirmed this for complex reference impedance case.

I use custom interstage impedance probe with conventional AC analysis and master large signal steady state analysis followed by small signal AC analysis.
See the followings.
http://www.designers-guide.org/Forum/YaBB.pl?num=1221012939
http://www.designers-guide.org/Forum/YaBB.pl?num=1240334878/18#18
http://www.designers-guide.org/Forum/YaBB.pl?num=1218635777/5#5

Also see http://www.edaboard.com/viewtopic.php?t=380636

Again see the following. This is also interstage impedance probe, although this gives reflection coefficients not impedances.

pancho_hideboo wrote on Feb 17th, 2010, 7:30am:
In Agilent ADS, "SP_Probe" is available for evaluation of Zs,Zin,Zout and ZL.
http://edocs.soco.agilent.com/display/ads2009/SP+Probe+%28S-Parameter+Probe%29



Back to original topics of this thread.

ΓP=(Zin-conj(Z01))/(Zin+Z01)
ΓV=(Zin-Z01)/(Zin+Z01)

If Z01 is real number, ΓPV.
Is Z01 real number in your evaluation of Γin ?

If Z01 is complex number, which type of reflection coefficient is required as Γin, ΓP or ΓV.

When Z01 is complex number, results of SP analysis are all  ΓP type not ΓV type.

I think the followings are proper in sqrt(Power) wave formulation, although I have not confirmed.

ΓS=(ZS-Z01)/(ZS+conj(Z01))
Γin=(Zin-conj(Z01))/(Zin+Z01)

Γout=(Zout-conj(Z02))/(Zout+Z02)
ΓL=(ZL-Z02)/(ZL+conj(Z02))




Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 25th, 2010, 3:54am


pancho_hideboo wrote on Feb 24th, 2010, 7:10am:

pancho_hideboo wrote on Feb 17th, 2010, 3:17am:
Of course, you can also calculate Gamma_in by the following.
Gamma_L=(ZL-conj(Z02))/(ZL+Z02)
Gamma_in=S(1,1)+S(1,2)*S(2,1)*Gamma_L/(1-S(2,2)*Gamma_L)
Gamma_L might be (ZL-Z02)/(ZL+conj(Z02)) in the above.
I confirmed this.

Gamma_L has to be (ZL-Z02)/(ZL+conj(Z02)).

Attached figure is a testbench schematic for AC analysis.

The followings are netlists of DUT. Here I used netlist of Cadence Spectre syntax directly in Agilent ADSsim.

"FBP_1.scs":
Code:
simulator lang=spectre
global 0

include "~/RFDE/FBP_1.sub"

I1 (in out) bpf


"FBP_1.sub":
Code:
simulator lang=spectre

// Star-Hspice Manual, Release 1998.2 at page.9-21
// Bandpass Netlist: Star-Hspice Network Analysis Results
// References
// Goyal, Ravender. "S-Parameter Output From SPICE Program", MSN & CT,
// February 1988, pp. 63 and 66.

// FILE: FBP_1.SP
// BAND PASS FILTER

subckt bpf ( in out )
c1 ( in 2 ) capacitor c=3.166p
l1 ( 2 3 ) inductor l=203n
c2 ( 3 0 ) capacitor c=3.76p
c3 ( 3 4 ) capacitor c=1.75p
c4 ( 4 0 ) capacitor c=9.1p
l2 ( 4 0 ) inductor l=36.81n
c5 ( 4 5 ) capacitor c=1.07p
c6 ( 5 0 ) capacitor c=3.13p
l3 ( 5 6 ) inductor l=233.17n
c7 ( 6 7 ) capacitor c=5.92p
c8 ( 7 0 ) capacitor c=4.51p
c9 ( 7 8 ) capacitor c=1.568p
c10 ( 8 0 ) capacitor c=8.866p
l4 ( 8 0 ) inductor l=35.71n
c11 ( 8 9 ) capacitor c=2.06p
c12 ( 9 0 ) capacitor c=4.3p
l5 ( 9 10 ) inductor l=200.97n
c13 ( 10 out ) capacitor c=2.97p
ends bpf


Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 25th, 2010, 4:15am

Attached figure is a testbench schematic for SP analysis.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 25th, 2010, 4:19am

Attached figure is a result.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Feb 25th, 2010, 4:20am

Attached figure is a result as "pdf" format for detail view.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Apr 21st, 2010, 8:35pm

Hi pancho_hideboo,

Thank you very much again for your great post. I am trying to understand the given example. One thing that is still not clear to me is Gamma_L, why is it defined as "Gamma_L=(ZL-Z02)/(ZL+conj(Z02))" ??

Should it be defined as "Gamma_L=(ZL-conj(Z02))/(ZL+Z02)" ??

Thank you very much,


DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on Apr 22nd, 2010, 10:08am


DoYouLinux wrote on Apr 21st, 2010, 8:35pm:
Should it be defined as "Gamma_L=(ZL-conj(Z02))(ZL+Z02)" ??
No.

It has to be Gamma_L=(ZL-Z02)/(ZL+conj(Z02)).
See equations in http://www.designers-guide.org/Forum/Attachments/test_FBP_1.pdf

Derive Gamma_out and Gamma_L from definition in http://en.wikipedia.org/wiki/S-parameters.

As direct thought, simply consider "complex conjugate matching condition" as reflection coefficient expressions, Gamma_out and Gamma_L.



Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on May 6th, 2010, 8:01am

Hi pancho_hideboo,

Thank you very much for the explanation, again. Let me take some time to prove and understand them.

However, as I tried to follow the given example to plot Gamma_in (the BPF example), but here I used a transistor as a test vehicle. I found from the result that, in the plot of Gamma_in using "stos" function, if I defined the function as:

S_new=stos(S, PortZ, {Zo1, Zload}),

then S_new(1,1) will be identical to Gamma_in I defined using an equation. However, if I replaced Zo1 in the S_new function by Zsource as:

S_new=stos(S, PortZ, {Zsource, Zload}),

then S_new(1,1) will not be identical to Gamma_in function. How come ?

To my understanding "S_new=stos(S, PortZ, {Zsource, Zload})" should be correct because we changed the reference impedance to be Zsource and Zload (here in my case, my Zo1 is not equal to Zsource, as in your example).

Could you clarify more on this point, please ?

Thank you very much in advance,

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on May 6th, 2010, 8:02am

Here is the result:

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on May 6th, 2010, 8:16am

Gamma_in is not correct for your case since you change Z01.
On the other hand, S_new(1,1) is correct.

Equation for Gamma_in has to be modified if Z01 is changed.

You can derive modified equation for Gamma_in_corrected valid for changing Z01.

Calculate Zin from Gamma_in=(Zin-conj(Z01))/(Zin+Z01).
Next calculate Gamma_in_corrected as (Zin-conj(Zs))/(Zin+Zs).


Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on May 8th, 2010, 10:39am

Hi pancho_hideboo,

Thank you for your further explanation. However, I think that I am still confused about the expression "S_new" using "stos" function of ADS.

As explained also in the attached figure, to my understanding, the "PortZ" argument represents the default set of reference impedances, which are Zo1 and Zo2 as shown in the schematic. In my example, Zo1 and Zo2 imply the reference impedances used for characterizing the default S parameters of the transistor.

Then, the transistor was assume to be terminated with another set of impedances at the source side and the load side, which are "Zsource" and "Zload" in this example. This new termination is defined in the "S_new" expression as "{Zsource, Zload}". So, "Zsource" will be a new termination for port 1 (source side) and "Zload" will be a new termination for port 2 (load side).

Then, I compared "S_new(1,1)" with the "Gamma_in" expression given in the previous reply. The "Gamma_in" expression uses "my_Sxx" to represent the default set of  S parameter based on Zo1 and Zo2 reference impedances. "Gamma_L" in "Gamma_in" expression represents the load reflection coefficient due to termination using "Zload".

From my understanding described above, I expected that "S_new(1,1)" and "Gamma_in" would be identical. But this was not the case. However, when I changed the new reference impedance in the "stos" function of the "S_new" expression to be "{Zo1, Zload}", the expressions "S_new" and "Gamma_in" were identical. Why when I replaced "Zsource" with "Zo1", the results were identical ?
"Zo1" is not a new reference impedance at the source side (it is the default reference impedance at the source side instead), in my understanding, "Zsource" should be the correct variable.

Would you mind to explain me further about this please ? I really want to understand as clear as I can.

Thank you very much again,

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on May 8th, 2010, 10:46am

I can't understand what you want to mean at all.

"stos()" is very clear and straightforward.
If you have any doubt about it, see its definition in "$HPEESOF_DIR/expressions/ael/network_fun.ael".

=======================================================================
PortZ={Z01, Z02}

Zs!=Z01, ZL!=Z02

S_Z01_ZL=stos(S, PortZ, {Z01, ZL})
S_Z01_ZL(1,1)==Gamma_in

S_Zs_ZL=stos(S, PortZ, {Zs, ZL})
S_Zs_ZL(1,1)!=Gamma_in
S_Zs_ZL(1,1)==Gamma_in_corrected

Zin is unique regardless of {Z01,Z02} values.
Zin is determined by only ZL.

Gamma_in is a reflection coefficient defined for Zin and Z01.
Gamma_in_corrected is a reflection coefficient defined for Zin and Zs.
=======================================================================

Again see http://www.designers-guide.org/Forum/YaBB.pl?num=1266403928/24#24
Try to calculate Gamma_in_corrected.
Show me plot result of this Gamma_in_corrected and S_new(1,1).


I think you can't understand S-parameters and Reference impedances at all.
I think you should not use S-parameter formulation.
You had better use AC analysis, although there are no difference between AC and SP analyses for me,
since they are both linear analysis.

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on May 10th, 2010, 9:21am

Hi pancho_hideboo,

Thank you very much again for your explanation. I really appreciated it. I think perhaps I am confused about the definition of the "input reflection coefficient" and also confused about the expression of "stos" function. Therefore, I tried to summarize again in the attached figure.

In the figure, what I understood is, please correct me if I were wrong,:

1) A 2-port was first characterized with reference impedances Zo1 and Zo2. From these reference impedance, the default S parameter set was obtained and the input reflection is S11. The reference impedance is defined as "portZ" in the "stos" function.

2) Then, assuming that the reference impedance on the load side was changed to "Zload", now the input reflection coefficient was not equal to S11 anymore (since Gamma_L is not zero). In this configuration, the new reference impedance was defined as "{Zo1, Zload}" in the "stos" function (Zo1 remains but Zo2 replaced by Zload). Then, "Gamma_in" can be found from S_new(1,1).


Did I understand correctly ?

Thank you in advance again,

DYL  :)


Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on May 10th, 2010, 9:24am


DoYouLinux wrote on May 10th, 2010, 9:21am:
Did I understand correctly ?
Correct

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on May 27th, 2010, 6:43am

Hi Pancho_Hideboo,

After I repeat the simulation in ADS again, I got correct results. Thank you very much again for your explanation about Gamma_in topic.

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by pancho_hideboo on May 29th, 2010, 1:00am


DoYouLinux wrote on May 27th, 2010, 6:43am:
After I repeat the simulation in ADS again, I got correct results.
Have you truely come to be able to understand calculation of "Γin_corrected" in Case-2 without using "stos()" ?

[Case-1]
S_Z01_ZL=stos(S_Z01_Z02, {Z01,Z02}, {Z01,ZL})
S_Z01_ZL(1,1) == Γin=(Zin-conj(Z01))/(Zin+Z01)

[Case-2]
S_Zs_ZL=stos(S_Z01_Z02, {Z01,Z02}, {Zs,ZL})
S_Zs_ZL(1,1) != Γin=(Zin-conj(Z01))/(Zin+Z01)
S_Zs_ZL(1,1) == Γin_corrected=(Zin-conj(Zs))/(Zin+Zs)


Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Jul 24th, 2010, 9:19am

Hi pancho_hideboo,

I tried to evaluate input and output reflection coefficients in several ways, including Case 2 you mentioned. The results I obtained are all the same, as shown in the attached figures. If you have more comments, please post again. Thank you very much for your clear explanations, you are a great sensei.

DYL

Title: Re: How to plot "input reflection coefficient" in ADS
Post by DoYouLinux on Jul 24th, 2010, 9:25am

and the results ...

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.