Attenuator (Attenuator)
Symbol
Available in ADS
Parameters
Name |
Description |
Units |
Default |
---|---|---|---|
Loss |
Attenuation |
dB |
0 |
VSWR |
Voltage standing wave ratio for both ports |
None |
1 |
Rref |
Reference resistance for both ports |
Ohm |
50 |
Temp |
Temperature |
°C |
None |
CheckPassivity |
Check passivity flag: if set to yes, a passivity check is performed and a warning is output if the device is not passive; if set to no, a passivity check is not performed. |
None |
yes |
ReturnPhase |
Phase characteristic of return loss |
None |
0 |
Range of Usage
VSWR>1.0
Notes/Equations
- The S-parameters for Attenuator are:
|S12| = |S21|= 10(-|Loss|/20)
Phase(S12)= Phase (S21)=0
|S11| = |S22| = (VSWR-1) / (VSWR+1) (regarding limiting, refer to Note 2)
Phase (S11) = Phase (S22) = -90 if ReturnPhase < 0
Phase (S11) = Phase (S22) = 0 if ReturnPhase = 0
Phase (S11) = Phase (S22) = 90 if ReturnPhase > 0 - When ReturnPhase = 0, |S11| and |S22| will be limited to
min(|S11|, 1 - |S21|)
in order to maintain passivity constraints. - This component will always provide attenuation; for example, either Loss=20 or Loss=-20 will result in 20 dB attenuation.
- When used in time domain simulations, set ReturnPhase=0; any other ReturnPhase value will not produce proper results because (+/-)j in the frequency domain corresponds to a non-causal impulse response in time domain.
- When checking passivity, remember that infinitesimal numerical differences can make a difference. For example, an Attenuator with
is theoretically passive. However, it may give a non-passivity warning in ADS due to infinitesimal numerical differences. Subtracting a small number, say 1e-12, from all S-parameters should address the problem without causing noticeable changes in the results. - CheckPassivity controls whether a separate passivity check is enabled. This is what outputs the Linear S_Port ... is non-passive warning. ReturnPhase controls whether limiting is enabled. This is what outputs the VSWR limited ... warning. When limiting is enabled, it implies a passivity check to find out what limiting, if any, should be done (refer to note 7). This passivity check is silent and never produces a non-passivity warning. When ReturnPhase=0, VSWR limiting is done before the passivity check if CheckPassivity=yes. This means that for ReturnPhase=0, a non-passivity warning will never be issued regardless of whether CheckPassivity is set to yes or no. For CheckPassivity=no, a passivity check will not be done; therefore a non-passivity warning will not be output. For CheckPassivity=yes, a passivity check will be done but the parameters have already been limited to ensure passivity so the component will be found to be passive and a non-passivity warning will not be output.
- This note answers two questions regarding Attenuator:
Q How does Attenuator do its passivity check and how/why does it perform limiting to ensure passivity?
A The S-matrix for this attenuator is
We have
and we see that T is real and fulfils 0 ≤ T ≤ 1 for Loss values from minus infinity to infinity. We also have
where
scale = if ( ReturnPhase=0) then 1 elseif (ReturnPhase<0) then -j else
j endif
VSWR2 = if (ReturnPhase=0) then min( VSWR , MaxVSWR ) else VSWR endif
MaxVSWR= (1+MaxR)/(1-MaxR)
MaxR = maximum value of R which guarantees passivity, TBD
and we see that R is real for ReturnPhase=0 and fulfils 0 ≤ R ≤ 1 for VSWR values from 1 to infinity. The S-matrix for ReturnPhase=0 is therefore
The condition for passivity is that eigenvalues(transpose(conjugate(S)) × S) ≤ 1. For the real and symmetric matrix above, this reduces to eigenvalues( S × S ) ≤ 1.
We have
and find the eigenvalues R2-2 × R × T + T2 and R2+2 × R × T + T2. Letting these eigenvalues equal to 1 (the max value for passivity), we get
R2 - 2 × R × T + T2=1 -> R=-1+ T and R=1+ T
R2 + 2 × R × T + T2=1 ≥ R = -1 - T and R=1- T
and see that eigenvalues ( S × S ) ≤ 1 implies R ≥ -1 + T, R ≤ 1 + T, R ≥ -1 - 7 and R ≤ 1- T . For 0 ≤ R , T ≤ 1, the first three inequalities are always satisfied and the last one gives MaxR=1-T.
Q I have a dissipationless attenuator. It has a given S21 and because it is dissipationless I know that
.
For instance, I might have S21=0.8 and I know that |S11|=0.6 corresponding to a VSWR of 4. I enter S21=0.8 and S11=0.6 for the attenuator but when I simulate I'm told that VSWR is limited to 1.5 corresponding to an S11 value of 0.2. I know that my attenuator is passive with |S11|=0.6. Isn't the limiting by Attenuator too restrictive and wrong?
A Let's examine the above S-matrix. It is
and it does fulfill
However, for a dissipationless network it must also fulfill
and it clearly does not. What is wrong is that S11=S22 have zero phase.
To remedy this, we could consider
which fulfills both of the above equations. A similar matrix could be constructed by scaling with -j. These matrices must be entered into ADS with ReturnPhase>0 and ReturnPhase<0, respectively, not the default ReturnPhase=0. For ReturnPhase<>0, no limiting is done on VSWR and the above concern is void. An Attenuator with the original S-matrix is not dissipationless and must be limited in order to be passive.
All this generalizes to N × N matrices. Look, for example, at a standard four-port directional coupler. The elements are not all real. There are j's floating around. Why? This is why.
A quick check shows that the eigenvalues of
are 0.36 and 1.0 and that the eigenvalues of
are 0.04 and 1.96 showing again that the circuit corresponding to the former/limited matrix is passive (largest eigenvalue of S × S equals one) while the circuit corresponding to the latter/unlimited matrix is not passive (largest eigenvalue of S × S > 1).