Page tree
Skip to end of metadata
Go to start of metadata

Attenuator (Attenuator)


Available in ADS











Voltage standing wave ratio for both ports




Reference resistance for both ports








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.




Phase characteristic of return loss



Range of Usage


  1. 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
  2. When ReturnPhase = 0, |S11| and |S22| will be limited to
    min(|S11|, 1 - |S21|)
    in order to maintain passivity constraints.
  3. This component will always provide attenuation; for example, either Loss=20 or Loss=-20 will result in 20 dB attenuation.
  4. 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.
  5. 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.
  6. 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.
  7. 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

    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).
  • No labels