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

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
  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

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