5. 4
4. LC
(1) (Palette) Lump-Components( )
(DC) (AC) (Transient) (S-parameter)
(Circuit Envelope) (Harmonic Balance)
(2) C L
Ctrl+r 1 pF
3 pF 1 nH
Ctrl + r (rotate component)
1.4
(3) Simulation-S_Param SP
Term term 1.5
1.5
6. 5
(4) SP1 1 GHz
10 GHz 0.5 GHz ADS
1 GHz 1.5 GHz 2 GHz 2.5 GHz 3 GHz… 10 GHz 0.5 GHz
S_Param
SP1
Step=0.5 GHz
Stop=10.0 GHz
Start=1.0 GHz
S-PARAMETERS
Select the parameters
to display out
1.6
(5) F7 ADS
( Data Display ADS .dds
) Data Display Simulate
Simulation Setup Open Data Display when simulation completes
After simulation completed,
the data display window will
pop out.
If data display didn’t pop out, go back your
schematic window and select Simulation Setup. Here is the controlling option
1.7 Data Display
8. 7
(7) .ds /data schematic
/networks Data Display
Open An Existing Data Display Display
1.10 Data Display
5. (Tuning Parameters)
(1) tuning schematic tune
Select the parameters you want to
tune from “schematic” window.
Parameter On/OFF
1.11
9. 8
(2) Tuning ADS tune
Store tune
Update Schematic schematic
2 3 4 5 6 7 8 91 10
-25
-20
-15
-10
-5
-30
0
freq, GHz
dB(S(2,1))
m1
m1
freq=
dB(S(2,1))=-2.650
5.500GHz
You can save the tuned traces
and show them out.
Tuning by scrolling bar
or specifying values.
Tuning range and step
are also provided.You can update the tuned
values to schematic.
1.12
1.3
LC
ADS
11. 10
(3) Bf( BJT Beta) Vaf( ) Ise(
) 2.2 Display parameter
on schematic Schematic
BJT_Model
BJTM1
BJT_NPN
BJT1
Mode=nonlinear
Trise=
Temp=
Region=
Area=
Model=BJTM1
Double click
BJT_Model
BJTM1
Ise=0.02e-12
Vaf=50
Bf=beta
BJT_NPN
BJT1
Mode=nonlinear
Trise=
Temp=
Region=
Area=
Model=BJTM1
Check to show
this parameter.
2.2
(4) ( ) 320 pH ( )
120 fF ”Port” Port
(Collector) (Base) (Emitter)
Data Sheet
(Infineon) SiGe BJT BFP640 Data Sheet
C
C2
C=120 fF
C
C1
C=120 fF
L
L3
R=
L=320 pH
Port
P3
Num=3
BJT_Model
BJTM1
Ise=0.02e-12
Vaf=50
Bf=beta
L
L1
R=0.01 Ohm
L=320 pH
L
L2
R=
L=320 pH
Port
P2
Num=2
Port
P1
Num=1
BJT_NPN
BJT1
Model=BJTM1
Package
parasitics
Package
parasitics
2.3
12. 11
(5)
View Create/Edit Schematic Symbol
(Symbol) Help Symbol Type Order Pins by ADS
Ctrl+Shift+t Port C
B E
C
B E3
1
2
C
B E
1
32
Ctrl + Shift + t
to add texts ”B, C, E”
Rearrange the
pin location
2.4
(6) ADS
(5) File Design Parameters Q
Symbol Name SYM_BJT_NPN( More Symbols )
Use ADS internal symbol
Package artwork
Save this AEL file
(ADS system file)
2.5 ADS
13. 12
(7) Design Parameters Parameter beta
100
2.6
3. BJT I-V
(1) dc_curves Schematic (Library) Projects
bjt_pkg Schematic
beta
Create a new design named: dc_curves
Select “Projects”
Open library
Choose “bjt_pkg” we’ve created
and put it into the schematic.
2.7
14. 13
(2) Library Analog/RF DC_BJT BJT I-V
Curve Tracer FET Curve Tracer
Tracer (Push into Hierarchy) DC_BJT
Tracer
Port
Collector
Num=2
Port
Base
Num=1
I_Probe
IC
I_DC
SRC1
Idc=IBB
ParamSweep
S1
SweepVar="IBB"
SimInstanceName[1]="DC1"
SimInstanceName[2]=
SimInstanceName[3]=
SimInstanceName[4]=
SimInstanceName[5]=
SimInstanceName[6]=
Start=IBB_start
Stop=IBB_stop
Lin=IBB_points
PARAMETER SWEEP
VAR
VAR1
VCE=1.5
IBB=1.0 mA
Eqn
Var
V_DC
SRC2
Vdc=VCE
DC
DC1
SweepVar="VCE"
Start=VCE_start
Stop=VCE_stop
Lin=VCE_points
DC
MeasEqn
meas1
DC_power=IC.i*VCE
Eqn
Meas
Open Analog/RF library and find the DC tracer for BJT
DC tracer for FET is also available
Put the tracer
into schematic
Push into hierarchy, you can see
how “DC tracer” is implemented.
2.8 BJT I-V Curve Tracer
(3) 2.9 Tracer Base Tracer Collector
Tracer IBB 0 uA 100 uA VCE
0 V 5 V Data Display (IC)
- VCE ( I-V Curve) Marker
PDC=indep(m1)*m1
indep(m1) m1
(4) beta = 160
(5) I-V Curve Tracer 2.10 Insert
Template BJT_curve_tracer
15. 14
bjt_pkg
Q1
beta=100
DC_BJT
DC_BJT1
VCE_points=41
VCE_stop=5.0
VCE_start=0
IBB_points=11
IBB_stop=100 uA
IBB_start=0 uA
BJT Curve Tracer
Base Collector
m1
indep(m1)=
plot_vs(IC.i, VCE)=0.002
DC_BJT1.IBB=0.000040
3.000
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.50.0 5.0
0.000
0.002
0.004
0.006
-0.002
0.008
VCE
IC.i
m1
m1
indep(m1)=
plot_vs(IC.i, VCE)=0.002
DC_BJT1.IBB=0.000040
3.000
indep(m1)
3.000
m1
0.002
PDC
0.007
VCE
Eqn PDC=indep(m1)*m1
IC PDC
m1
indep(m1)=
plot_vs(IC.i, VCE)=0.003
DC_BJT1.IBB=0.000040
3.000
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.50.0 5.0
0.000
0.002
0.004
0.006
0.008
0.010
-0.002
0.012
VCE
IC.i
m1
m1
indep(m1)=
plot_vs(IC.i, VCE)=0.003
DC_BJT1.IBB=0.000040
3.000
indep(m1)
3.000
m1
0.003
PDC
0.010
VCE
Eqn PDC=indep(m1)*m1
IC PDC
Simulate with beta=100, and plot collector
current IC v.s. collector-emitter voltage VCE.
Simulate with beta=160
2.9 BJT I-V Curve
Insert the template
of BJT_curve tracer
The tracing circuits are automatically
generated. All sweeping parameters
are
BJT Curve Tracer
ParamSweep
Sweep1
Step=10 uA
Stop=100 uA
Start=0 uA
SimInstanceName[6]=
SimInstanceName[5]=
SimInstanceName[4]=
SimInstanceName[3]=
SimInstanceName[2]=
SimInstanceName[1]="DC1"
SweepVar="IBB"
PARAMETER SWEEP
bjt_pkg
Q1
beta=100
I_Probe
IC
V_DC
SRC1
Vdc=VCE
I_DC
SRC2
Idc=IBB
DC
DC1
SweepVar="VCE"
Start=0
Stop=5
Step=0.1
DC
VAR
VAR2
VCE =0 V
IBB =0 A
Eqn
Var
DisplayTemplate
disptemp1
"BJT_curve_tracer"
Temp
Disp
2.10 I-V Curve Tracer (Template)
16. 15
4.
(1) dc_curves.dsn dc_bias.dsn BJT beta 160
I-V Curve IBB - VCE
Data Display Equation
VCE
3 V
(2) 2.11 DC Controller DC1 Output Save by
name VCE Dataset Data
Display ADS ”Var Eqn” Controller
SweepVar( ) Dataset ( IBB)
( Wire) Dataset (
VBE) I_Probe ( IC) VCE
3 V Save by
name Dataset
VBE
VAR
VAR2
VCE= 3 V
IBB =0 A
Eqn
Var
DC
DC1
Step=10 uA
Stop=100 uA
Start=10 uA
SweepVar="IBB"
DC
V_DC
SRC1
Vdc=VCE
bjt_pkg
Q1
beta=160
I_Probe
IC
I_DC
SRC2
Idc=IBB
IBB
1.000E-5
2.000E-5
3.000E-5
4.000E-5
5.000E-5
6.000E-5
7.000E-5
8.000E-5
9.000E-5
1.000E-4
IC.i
599.8 uA
1.430 mA
2.349 mA
3.325 mA
4.341 mA
5.389 mA
6.462 mA
7.557 mA
8.669 mA
9.798 mA
VBE
754.8 mV
777.1 mV
789.9 mV
798.8 mV
805.7 mV
811.3 mV
815.9 mV
819.9 mV
823.5 mV
826.6 mV
VCE
3.000
3.000
3.000
3.000
3.000
3.000
3.000
3.000
3.000
3.000
Double click the DC controller
Add “variables” pass
to data display
Choose “VCE” then add it
Show the simulated results IC.i, VBE,
and VCE in a table. Here VCE is passed
from the schematic “VAR” block.
2.11 Schematic Dataset
17. 16
(3) 2.12
VCC 5 V (2) VCE 3 V
RC 2 V IC RC RB IBB
VCE-VBE list IBB
VCE = 3 V IC = 3.325
mA IBB 40uA RB 55.029 kOhm
RC 601.5 Ohm RB 56 kOhm RC 590 Ohm
Eqn Rb=(VCE-VBE)/IBB
Eqn Rc=VRc/IC.i
Eqn VRc=VCC-VCE
IBB
1.000E-5
2.000E-5
3.000E-5
4.000E-5
5.000E-5
6.000E-5
7.000E-5
8.000E-5
9.000E-5
1.000E-4
Rb
224518.366
111142.833
73669.698
55029.027
43886.103
36479.132
31201.140
27250.726
24183.637
21733.818
Rc
3334.233
1398.882
851.344
601.500
460.687
371.123
309.494
264.671
230.704
204.133
Rb[3]
55029.027
Rc[3]
601.500
Eqn VCC=5 V
Add an equation to calculate the bias resistance at BJT base
Assume the power rail VCC is 5 V
Calculate the voltage across the bias resistor at collector (here, 2 V)
Calculate the bias resistance at BJT collector
Index = 0
Index = 1
Index = 2
Index = 3
Bias resistor values @ IBB= 40 uA (index=3)
Note that the standard resistance you can
find in practice is 56k Ohm and 590 Ohm.
2.12
(4) dc_bias.dsn dc_net.dsn dc_net 5 V
Simultae Annotate DC Solution
Clear DC Annotation
VC
VBE
V_DC
SRC1
Vdc=5 V
R
RB
R=56 kOhm
R
RC
R=590 Ohm
VAR
VAR2
VCE= 3 V
IBB =0 A
Eqn
Var
DC
DC1
DC
I_Probe
IC
bjt_pkg
Q1
beta=160
Turn off the variable sweeping,
and add bias resistors.
3.03 V
VC
799 mV
VBE
5 V
5 V
-3.34 mA
V_DC
SRC1
Vdc=5 V
-39.8 uAR
RB
R=56 kOhm
3.34 mA
R
RC
R=590 Ohm
VAR
VAR2
VCE= 3 V
IBB =0 A
Eqn
Var
DC
DC1
DC
3.34 mA I_Probe
IC
3.31 mA
39.8 uA
-3.34 mA
bjt_pkg
Q1
beta=160
First run simulation
After simulation, choose annotate DC solution
to show node voltages and branches currents
in the network.
Clear all annotations
2.13
18. 17
5.
(1) I-V ADS
Transistor Bias Utility I-V
(2) dc_bias2 Library bjt_pkg
Transistor Bias BJT Bias Smart Component 5 V
2.14
(3) DesignGuide Amplifier Tools Transistor Bias
Utility
(4) Utility Vcc 5 V Vce 3 V Ic 3.325 mA
Bias Point Selections ADS I-V
Data Display I-V A
Set characteristic impedance, and
base current and collector voltage
sweep limits as needed.
In the event that this template
does not provide the required information
for the application, it can be appropriately
modified.
bjt_pkg
Q1
beta=160
ParamSweep
Sweep1
Step=IBBstep
Stop=IBBmax
Start=IBBmin
SimInstanceName[6]=
SimInstanceName[5]=
SimInstanceName[4]=
SimInstanceName[3]=
SimInstanceName[2]=
SimInstanceName[1]="DC1"
SweepVar="IBB"
PARAMETER SWEEP
DC
DC1
Step=VCEstep
Stop=VCEmax
Start=VCEmin
SweepVar="VCE"
DC
Options
Options1
Tnom=25
Temp=16.85
OPTIONS
VAR
VAR1
Rload=50 _ohms
IBB=0 A
VCE=0 V
Eqn
Var
VAR
VAR3
Z0=50
IBBmin=20 uA
IBBmax=100 uA
IBBstep=20 uA
VCEmin=0.25 V
VCEmax=5 V
VCEstep=0.1 V
Eqn
Var
DC_Block
DC_Block2
DC_Block
DC_Block1
DC_Feed
DC_Feed2
DC_Feed
DC_Feed1
I_DC
SRC2
Idc=IBB
Term
Term1
Z=Z0
Num=1
V_DC
SRC1
Vdc=VCE
I_Probe
IC
Term
Term2
Z=Z0
Num=2
m1
VCE=
IC.i=5.494m
IBB=0.000060
2.200
m2
VCE=
IC.i=8.793m
IBB=0.000100
400.0m
1 2 3 40 5
0.000
0.005
0.010
0.015
-0.005
0.020
IBB=20.0u
IBB=40.0u
IBB=60.0u
IBB=80.0u
IBB=100.u
VCE
IC.i,A
m1
m2
line_opt
VCEvals
ICmax
line
m1
VCE=
IC.i=5.494m
IBB=0.000060
2.200
m2
VCE=
IC.i=8.793m
IBB=0.000100
400.0m
12.09 m
Eqn VCEmax=5
523.151
2.969 m 24.56
Eqn PDmax=0.03
Follow these steps:
1) Move marker m2 to the knee of the I-V curve. This
sets the maximum collector current during AC operation.
2) Specify maximum allowed VCE, VCEmax. The optimal
bias point values are determined from the load line
between marker m2 and the (IC=0, VCE=VCEmax) point.
3) Specify maximum allowed DC power dissipation,
PDmax, in Watts.
4) Position marker m1 at some other bias point, if desired.
(Must be less than VCEmax.)
5) DC power consumption, average output power
in linear operation, DC-to-RF efficiency at marker m1
bias point are all calculated.
5.056 m 2.700
4.396 m
545.702
11.87 m
42.59
30.0u
40.0u
50.0u
60.0u
70.0u
80.0u
90.0u
20.0u
100.u
100
150
200
250
50
300
IBB
Beta
Beta versus IBB, at ICE
specified bymarker m1
DC-to-RF
Efficiency,%
DC Power
ConsumptionRload
Output Power
Watts dBm
DC-to-RF
Efficiency,%
Optimal
VCE
Optimal
ICE
DC Power Consumption
at Optimal Bias
Output Power
at Optimal Bias
Watts dBm
Rload at
Optimal Bias
Optimal Class A
bias point values.
Marker m1 bias point values, (Assuming Class A, AC
current limited to marker m2 value and AC voltage no
higher than VCEmax.)
7.038
4.726
Device IV Curves, Load Lines,
and Maximum DC Dissipation Curve
Equations
are on the
"Equations"
page.
Use ADS transistor bias utility
Bias testing setup is automatically
genrated.
2.14 ADS
19. 18
(5) Vce 3 V Ic 3.325 mA Design
ADS 8 2.15
5 OK ADS
Schematic Push into Hierarchy
RB 55 kOhm RC 594.35 Ohm
RB 56 kOhm RC 590 Ohm
3.00 3.33 m
799. mV 40.0 uA 3.00 V 3.33 mA 0.000 V 3.37 mA
BJT Bias
Display Assistant
Transistor Bias Designer
Achiev ed Bias Perf ormance
Achiev ed Bias Voltage/Current
Desired Bias Perf ormance
Need Help? Please see the Transistor Bias Utility User Manual
f or complete instructions on using this Display .
Vce
Ib Vc Ic Ve IeVb
3.00 3.33 mA
Ic
Port
P4
Num=4
Port
P3
Num=3
Port
P2
Num=2Port
P1
Num=1
R
R3
R=0 mOhm
R
R2
R=55.001167 kOhm
R
R1
R=594.349814 Ohm
8 biasing topologies are provided
2.15
6.
(1)
2.16 DC Controller
temp( ADS VAR
) -55 125 5
(2) 2.17 Dataset (
dc_temp) dc_net Display
Data Display dc_temp Dataset VCE VBE
20. 19
VC
VBE
DC
DC1
Step=5
Stop=125
Start=-55
SweepVar="temp"
DC
V_DC
SRC1
Vdc=5 V
R
RB
R=56 kOhm
R
RC
R=590 Ohm
VAR
VAR2
VCE= 3 V
IBB =0 A
Eqn
Var
I_Probe
IC
bjt_pkg
Q1
beta=160
Sweep temperature
variable “temp” from
-55 to 125 degree.
Show the variable
2.16
m1
indep(m1)=
plot_vs(VC, temp)=3.079
-55.000
m2
ind Delta=
dep Delta=-0.122
Delta Mode ON
180.000
-40 -20 0 20 40 60 80 100 120-60 140
1.0
1.5
2.0
2.5
3.0
0.5
3.5
temp
VBE
VC
m1
m2
m1
indep(m1)=
plot_vs(VC, temp)=3.079
-55.000
m2
ind Delta=
dep Delta=-0.122
Delta Mode ON
180.000
Store simulate data into a
separate dataset. Use Add Vs. to plot VBE and VC v.s. temp
2.17
7.
(1) dc_sparam bjt_pkg
(2) ADS Template SP_NWA_T
ADS Data Display
2.18
(3) T
(Bias-Tee) (Probe Station) (Test Fixture)
I-V Tracer
21. 20
Activate for available
gain and stability circles:
SP_NWA
X1
Port2Z=50
Port1Z=50
VBias2=3.03 V
VBias1=799 mV
NumPoints=101
Stop=5 GHz
Start=0.1 GHz
+ +
21
bjt_pkg
Q1
beta=160
DisplayTemplate
disptemp1
"S_21_11_wZoom"
"SP_NWA_T"
Temp
Disp
DisplayTemplate
disptemp2
"Circles_Stability"
"Circles_Ga_Stab"
Temp
Disp
Eqn F_lim1index=find_index(SP.freq,indep(F_lim1))
Eqn F_lim2index=find_index(SP.freq,indep(F_lim2))
Eqn low_index=if (F_lim1index<F_lim2index) then F_lim1index else F_lim2index
Eqn high_index=if (F_lim2index>F_lim1index) then F_lim2index else F_lim1index
Eqn ph=[-pi::0.01*pi::pi]
Eqn mag_gamma=(VSWRcircleVal-1)/(VSWRcircleVal+1)
Eqn gamma_cmplx=mag_gamma*exp(j*ph)
EqnVSWRcircleVal=2.5
freq (100.0MHz to 5.000GHz)
S(1,1)
Input Reflection Coefficient
F_lim1
freq=
dB(S(2,1))=20.323
2.060GHz
F_lim2
freq=
dB(S(2,1))=19.794
2.501GHz
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.50.0 5.0
17
18
19
20
21
16
22
freq, GHz
dB(S(2,1))
F_lim1
F_lim2 F_lim1
freq=
dB(S(2,1))=20.323
2.060GHz
F_lim2
freq=
dB(S(2,1))=19.794
2.501GHz
2.10
2.15
2.20
2.25
2.30
2.35
2.40
2.45
2.50
2.05
2.55
19.8
19.9
20.0
20.1
20.2
20.3
19.7
20.4
freq, GHz
dB(S(2,1))
freq (2.060GHz to 2.501GHz)
S(1,1)
indep(gamma_cmplx) (0.000 to 200.000)
Forward Transmission, dB
Zoomed Forward Transmission, dB
Zoomed Input Reflection Coefficient
Move markers to
set frequency
range of data
displayed in
"zoomed" plots
Set value for
constant-VSWR
circle here:
Use with S-Parameter Simulations
Insert S-parameter simulation
template SP_NWA_T
No simulation controller needed,
just run simulation.
Results are automatically
generated.
2.18 SP_NWA_T
8.
(1) ADS Library
ADS Library
ADS
(2) Data Sheet DesignKit
ADS ADS
(NXP) ADS DesignKit
http://www.nxp.com/models/ Renesas
http://www2.renesas.com/microwave/en/discrete/sigehbt.html DesignKit
(Foundry) TSMC 0.18 um
Mixed-Signal/RF CMOS DesignKit IC
(3) 2.19 Library Microwave Transistor Library RF Transistor Library
Schematic Agilent
AT41533
26. 25
5.
(1)
(2) 3.6
You can write an equation to
calculate the group delay.
3.6
6.
(1)
3.7
AC
AC1
NoiseNode[1]="Vout"
CalcNoise=no
Step=100 MHz
Stop=4.0 GHz
Start=100 MHz
AC
ParamSweep
Sweep1
Step=0.5
Stop=5
Start=0
SimInstanceName[6]=
SimInstanceName[5]=
SimInstanceName[4]=
SimInstanceName[3]=
SimInstanceName[2]=
SimInstanceName[1]="AC1"
SweepVar="Vdcs"
PARAMETER SWEEP
Vcc
V_DC
SRC1
Vdc=Vdcs
VAR
VAR2
Vdcs=5 V
Eqn
Var
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
1
2
3
4
5
0
6
freq, GHz
gain_voltage
Use a sweep plane to sweep
variable “Vdcs” with “AC1”
simulation.
Vcc is now controlled by a
variable “Vdcs” to consider
supply rail variations.
Gain versus power rail
voltage variation.
3.7 Parameter Sweep
28. 27
4.1
L ADS
(
)
4.2
1. ac_sim sparam_sim.dsn
2.
(1) Term
(RF Choke DC Feed) 4.1
(2) AC DC Block Choke
(RF) RF
(AC ) RF
(
AC )
Vout
Vin
S_Param
SP1
Step=100 MHz
Stop=4 GHz
Start=100 MHz
S-PARAMETERS
VAR
VAR2
Vdcs=5 V
Eqn
Var
Vcc
V_DC
SRC1
Vdc=Vdcs
DC_Feed
DC_Feed1
R
RB
R=56 kOhm
DC_Feed
DC_Feed2
Vcc
R
RC
R=590 Ohm
Term
Term2
Z=50 Ohm
Num=2Term
Term1
Z=50 Ohm
Num=1
DC_Block
DC_Block2
DC_Block
DC_Block1
bjt_pkg
Q1
beta=160
Ideal RF chokes
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
18
19
20
21
17
22
freq, GHz
dB(S(2,1))
m1
m1
freq=
dB(S(2,1))=20.422
1.900GHz
Power gain
dB(S(2,1))
4.1
29. 28
(3) 100 MHz
4 GHz 100 MHz
(4) Data Display Port 1 S11
Marker 1900
MHz
Marker Format
Zo 50 4.2
freq (100.0MHz to 4.000GHz)
S(1,1)
m2
m2
freq=
S(1,1)=0.855 / -3.631
impedance = Z0 * (10.990 - j4.420)
1.900GHz
freq (100.0MHz to 4.000GHz)
m2
m2
freq=
S(1,1)=0.855 / -3.631
impedance = 549.490 - j221.017
1.900GHz
Readout with “normalized”
impedance. Double click on the mark
m2, and set Zo=50 Ohm
Now you can read out the
impedance referenced to 50
Ohm system.
4.2
3. RF Choke DC Block
(1) Data Display
4.3
[x::y::z] DC Block 10 pF( 8.37 )
RF Choke 120 nH( 1.4k )
Eqn XC=-1/(2*pi*1900M*10e-12) XC
-8.377
Eqn XL=2*pi*1900M*L_val
Eqn L_val=[1n::10n::200n]
L_val
1.000E-9
1.100E-8
2.100E-8
3.100E-8
4.100E-8
5.100E-8
6.100E-8
7.100E-8
8.100E-8
9.100E-8
1.010E-7
1.110E-7
1.210E-7
1.310E-7
1.410E-7
1.510E-7
1.610E-7
1.710E-7
1.810E-7
1.910E-7
XL
11.938
131.319
250.699
370.080
489.460
608.841
728.221
847.602
966.982
1086.363
1205.743
1325.124
1444.504
1563.885
1683.265
1802.646
1922.026
2041.407
2160.787
2280.168
Use equation to calculate the reactance of capacitor
and inductor. You may represent a variable in an
sequence [x::y::z] to calculate different reactance of
inductors at once.
4.3
30. 29
(2) sparam_sim.dsn s_match.dsn DC Block 10 pF
RF Choke 120 nH 4.4 1~3 GHz
DC Block pF pF Choke
nH Block Choke
Choke
Choke
Vout
Vin
S_Param
SP1
Step=100 MHz
Stop=4 GHz
Start=100 MHz
S-PARAMETERS
C
DC_Block2
C=10 pF
L
DC_Feed1
R=
L=120 nH
L
DC_Feed2
R=
L=120 nH
C
DC_Block1
C=10 pF
VAR
VAR2
Vdcs=5 V
Eqn
Var
Vcc
V_DC
SRC1
Vdc=Vdcs
R
RB
R=56 kOhm
Vcc
R
RC
R=590 Ohm
Term
Term2
Z=50 Ohm
Num=2Term
Term1
Z=50 Ohm
Num=1
bjt_pkg
Q1
beta=160
Use practical values for
chokes and blocks.
4.4 Choke Block
(3) Choke Block 4.5 S(2,1) S(1,2)
Choke Block
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-60
-40
-20
0
20
-80
40
freq, GHz
dB(S(2,1))
m2
dB(S(1,2))
m2
f req=
dB(S(2,1))=20.253
1.900GHz
freq (100.0MHz to 4.000GHz)
S(1,1)
m1
S(2,2)
m1
f req=
S(1,1)=0.856 / -3.557
impedance = 554.502 - j219.573
1.900GHz
Results using ideal chokes and blocks.
Results using practical chokes and blocks.
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-100
-80
-60
-40
-20
0
20
-120
40
freq, GHz
dB(S(2,1))
m1
dB(S(1,2))
m1
f req=
dB(S(2,1))=20.422
1.900GHz
freq (100.0MHz to 4.000GHz)
S(1,1)
m2
S(2,2)
m2
f req=
S(1,1)=0.855 / -3.631
impedance = 549.490 - j221.017
1.900GHz
4.5 Choke Block
31. 30
4.
(1) ( )
( LNA PA )
(2) S12 0 ( unilateral condition)
S12 -60 dB
( S12
0) ADS Optimization
(3) L 4.6 50
DC Block
( )
1 pF 10 nH
1.9 GHz 50
Vout
S_Param
SP1
Step=10 MHz
Stop=4 GHz
Start=100 MHz
S-PARAMETERS
C
C_match_in
C=1 pF
L
L_match_in
R=
L=10 nH
C
DC_Block2
C=10 pF
L
DC_Feed1
R=
L=120 nH
L
DC_Feed2
R=
L=120 nH
C
DC_Block1
C=10 pF
VAR
VAR2
Vdcs=5 V
Eqn
Var
Vcc
V_DC
SRC1
Vdc=Vdcs
R
RB
R=56 kOhm
Vcc
R
RC
R=590 Ohm
Term
Term2
Z=50 Ohm
Num=2
bjt_pkg
Q1
beta=160
Term
Term1
Z=50 Ohm
Num=1
Input matching network
(L-shape matching)
Frequency step is set to
10 MHz
m2
freq=
dB(S(2,1))=21.668
1.900GHz
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-60
-40
-20
0
20
-80
40
freq, GHz
dB(S(2,1))
m2
dB(S(1,2))
m2
freq=
dB(S(2,1))=21.668
1.900GHz
m1
f req=
S(1,1)=0.793 / 100.094
impedance = 9.739 + j40.943
1.900GHz
freq (100.0MHz to 4.000GHz)
S(1,1)
m1
S(2,2)
m1
f req=
S(1,1)=0.793 / 100.094
impedance = 9.739 + j40.943
1.900GHz
Not matched to 50 Ohm
4.6
32. 31
(4) tuning
1.9 GHz 50 update
Use tuning function to tune the input
to 50 Ohm and update the tuned values
to schematic.
4.7 Tuning
(5) L
Maker m1
( S12 0 S12
m1 50 )
L
L_match_out
R=
L=14.3 nH
C
C_match_out
C=0.4 pF
Term
Term2
Z=50 Ohm
Num=2
L
L_match_in
R=
L=14.3 nH {t}
C
C_match_in
C=0.4 pF {t}
S_Param
SP1
Step=10 MHz
Stop=4 GHz
Start=100 MHz
S-PARAMETERS
C
DC_Block2
C=10 pF
L
DC_Feed1
R=
L=120 nH
L
DC_Feed2
R=
L=120 nH
C
DC_Block1
C=10 pF
VAR
VAR2
Vdcs=5 V
Eqn
Var
Vcc
V_DC
SRC1
Vdc=Vdcs
R
RB
R=56 kOhm
Vcc
R
RC
R=590 Ohm
bjt_pkg
Q1
beta=160
Term
Term1
Z=50 Ohm
Num=1
Input matching network
(L-shape matching)
Add output matching network
(L-shape matching)
freq (100.0MHz to 4.000GHz)
S(1,1)
m1
S(2,2)
m3
m1
freq=
S(1,1)=0.181 / -111.418
impedance = 41.510 - j14.469
1.900GHz
m3
freq=
S(2,2)=0.533 / -125.411
impedance = Z0 * (0.376 - j0.457)
1.900GHz
After simulation, you can see the input
matching is affected by the output
matching network.
4.8
33. 32
5.
(1) s_match.dsn s_opt.dsn ADS ADS
(2) Optim/Stat/Yield/DOE Optim Goal Goal
S11( ) 1850 MHz 1950 MHz -10 dB
Goal S22( ) -10 dB Optim 125 (MaxIter)
4.9 4.10 Help
Optim
Optim1
SaveCurrentEF=no
UseAllGoals=yes
UseAllOptVars=yes
SaveAllIterations=no
SaveNominal=yes
UpdateDataset=yes
SaveOptimVars=no
SaveGoals=yes
SaveSolns=yes
Seed=
SetBestValues=yes
NormalizeGoals=no
FinalAnalysis="SP1"
StatusLevel=4
DesiredError=0.0
MaxIters=125
OptimType=Random
OPTIM
Goal
OptimGoal2
RangeMax[1]=1950 MHz
RangeMin[1]=1850 MHz
RangeVar[1]="freq"
Weight=
Max=-10
Min=
SimInstanceName="SP1"
Expr="dB(S(2,2))"
GOAL
Goal
OptimGoal1
RangeMax[1]=1950 MHz
RangeMin[1]=1850 MHz
RangeVar[1]="freq"
Weight=
Max=-10
Min=
SimInstanceName="SP1"
Expr="dB(S(1,1))"
GOAL
Term
Term1
Z=50 Ohm
Num=1
bjt_pkg
Q1
beta=160
Vcc
R
RC
R=590 Ohm
R
RB
R=56 kOhm
Vcc
V_DC
SRC1
Vdc=Vdcs
VAR
VAR2
Vdcs=5 V
Eqn
Var
C
DC_Block1
C=10 pF
L
DC_Feed2
R=
L=120 nH
L
DC_Feed1
R=
L=120 nH
C
DC_Block2
C=10 pF
S_Param
SP1
Step=10 MHz
Stop=4 GHz
Start=100 MHz
S-PARAMETERS
C
C_match_in
C=0.4 pF {t}
L
L_match_in
R=
L=14.3 nH {t}
Term
Term2
Z=50 Ohm
Num=2
C
C_match_out
C=0.4 pF
L
L_match_out
R=
L=14.3 nH
We are now ready to use “optimization” function to let ADS
automatically find the “best matching component values.”
We have two goals: one is for input matching and the other is
for output matching.
4.9
Goal
OptimGoal1
RangeMax[1]=1950 MHz
RangeMin[1]=1850 MHz
RangeVar[1]="freq"
Weight=
Max=-10
Min=
SimInstanceName="SP1"
Expr="dB(S(1,1))"
GOAL
Goal
OptimGoal2
RangeMax[1]=1950 MHz
RangeMin[1]=1850 MHz
RangeVar[1]="freq"
Weight=
Max=-10
Min=
SimInstanceName="SP1"
Expr="dB(S(2,2))"
GOAL
Input: dB(S(1,1))
Output: dB(S(2,2))
Optimization Control
If you don’t know what the parameter
means, please use “Help.”
Optim
Optim1
SaveCurrentEF=no
UseAllGoals=yes
UseAllOptVars=yes
SaveAllIterations=no
SaveNominal=no
UpdateDataset=yes
SaveOptimVars=no
SaveGoals=yes
SaveSolns=yes
Seed=
SetBestValues=yes
NormalizeGoals=no
FinalAnalysis="SP1"
StatusLevel=4
DesiredError=0.0
MaxIters=125
OptimType=Random
OPTIM
4.10
34. 33
(3) ( )
Tune/Opt/Stat/DOE Setup Tuning Tuning Status
Optimization Enable
{o} ADS S11
S22
Double click
Clear tuning
Enable optimization
L
L_match_in
R=
L=14.3 nH {o}
{o} means this
component is set
to be optimized
4.11
(4) S11 S22 -10 dB
C_match_in.C
4.044E-13
C_match_out.C
2.889E-13
L_match_in.L
1.467E-8
L_match_out.L
2.109E-8
m3
f req=
dB(Optim1.SP1.SP.S)=36.121
optIter=64, index=(2,1)
1.900GHz
m4
f req=
dB(Optim1.SP1.SP.S)=-12.905
optIter=64, index=(2,2)
1.900GHz
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-60
-40
-20
0
20
-80
40
freq, GHz
dB(Optim1.SP1.SP.S)
m3
m4
m3
f req=
dB(Optim1.SP1.SP.S)=36.121
optIter=64, index=(2,1)
1.900GHz
m4
f req=
dB(Optim1.SP1.SP.S)=-12.905
optIter=64, index=(2,2)
1.900GHz
m1
f req=
Optim1.SP1.SP.S(1,1)=0.273 / -133.666
optIter=64
impedance = Z0 * (0.638 - j0.272)
1.900GHz
m2
f req=
Optim1.SP1.SP.S(2,2)=0.226 / -154.179
optIter=64
impedance = Z0 * (0.650 - j0.135)
1.900GHz
freq (100.0MHz to 4.000GHz)
Optim1.SP1.SP.S(1,1)
m1
Optim1.SP1.SP.S(2,2)
m2
m1
f req=
Optim1.SP1.SP.S(1,1)=0.273 / -133.666
optIter=64
impedance = Z0 * (0.638 - j0.272)
1.900GHz
m2
f req=
Optim1.SP1.SP.S(2,2)=0.226 / -154.179
optIter=64
impedance = Z0 * (0.650 - j0.135)
1.900GHz
Optimized results for dB(S(1,1)) and dB(S(2,2)) equal to -10 dB
4.12
35. 34
(5) S11 S22 Goal -20 dB 4.13 S11
S22 -20 dB (S21) S11
S22 50
C_match_in.C
3.015E-13
C_match_out.C
2.112E-13
L_match_in.L
2.064E-8
L_match_out.L
2.840E-8
m3
f req=
dB(Optim1.SP1.SP.S)=37.031
optIter=120, index=(2,1)
1.900GHz
m4
f req=
dB(Optim1.SP1.SP.S)=-20.254
optIter=120, index=(2,2)
1.900GHz
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-60
-40
-20
0
20
-80
40
freq, GHz
dB(Optim1.SP1.SP.S)
m3
m4
m3
f req=
dB(Optim1.SP1.SP.S)=37.031
optIter=120, index=(2,1)
1.900GHz
m4
f req=
dB(Optim1.SP1.SP.S)=-20.254
optIter=120, index=(2,2)
1.900GHz
m1
f req=
Optim1.SP1.SP.S(1,1)=0.086 / -144.263
optIter=120
impedance = Z0 * (0.866 - j0.087)
1.900GHz
m2
f req=
Optim1.SP1.SP.S(2,2)=0.097 / -147.607
optIter=120
impedance = Z0 * (0.844 - j0.089)
1.900GHz
freq (100.0MHz to 4.000GHz)
Optim1.SP1.SP.S(1,1)
m1
Optim1.SP1.SP.S(2,2)
m2
m1
f req=
Optim1.SP1.SP.S(1,1)=0.086 / -144.263
optIter=120
impedance = Z0 * (0.866 - j0.087)
1.900GHz
m2
f req=
Optim1.SP1.SP.S(2,2)=0.097 / -147.607
optIter=120
impedance = Z0 * (0.844 - j0.089)
1.900GHz
Optimized results for dB(S(1,1)) and dB(S(2,2)) equal to -20 dB
4.13
(6) 4.14 Simulate Update Optimization Values
Schematic
Disable Optim
L
L_match_in
R=
L=20.637 nH {-o}
Optim
Optim1
SaveCurrentEF=no
UseAllGoals=yes
StatusLevel=4
DesiredError=0.0
MaxIters=125
OptimType=Random
OPTIM
Disable optimization for matching componentsUpdate optimization values
After the optimization,
deactivate the OPTIM
controller to turn off
this function.
4.14
36. 35
(7) Optim s_opt.dsn s_final.dsn Tuning
4.15 S11 S22 -33 dB
m3
freq=
dB(var("S"))=35.168
(2,1)
1.900GHz
m4
freq=
dB(var("S"))=-39.575
(2,2)
1.900GHz
m5
freq=
dB(var("S"))=-33.824
(1,1)
1.900GHz
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
-60
-40
-20
0
20
-80
40
freq, GHz
dB(var("S"))
m3
m4
m5
m3
freq=
dB(var("S"))=35.168
(2,1)
1.900GHz
m4
freq=
dB(var("S"))=-39.575
(2,2)
1.900GHz
m5
freq=
dB(var("S"))=-33.824
(1,1)
1.900GHz
m1
freq=
S(1,1)=0.020 / 171.484
impedance = Z0 * (0.961 + j0.006)
1.900GHz
m2
freq=
S(2,2)=0.011 / -12.184
impedance = Z0 * (1.021 - j0.005)
1.900GHz
freq (100.0MHz to 4.000GHz)S(1,1)
m1
S(2,2)
m2
m1
freq=
S(1,1)=0.020 / 171.484
impedance = Z0 * (0.961 + j0.006)
1.900GHz
m2
freq=
S(2,2)=0.011 / -12.184
impedance = Z0 * (1.021 - j0.005)
1.900GHz
As you can see: Improved gain with improved matching.
4.15
6.
(1) s_final.dsn s_circles.dsn factor
ADS Simulation-S_Param
Mu MuPrim 4.16
Options
Options1
MaxWarnings=10
GiveAllWarnings=yes
I_AbsTol=
I_RelTol=
V_AbsTol=
V_RelTol=
Tnom=25
Temp=16.85
OPTIONS
S_Param
SP1
CalcNoise=yes
Step=10 MHz
Stop=1950 MHz
Start=1850 MHz
S-PARAMETERS
NsCircle
NsCircle1
NsCircle1=ns_circle(nf2,NFmin,Sopt,Rn/50,51)
NsCircle
GaCircle
GaCircle1
GaCircle1=ga_circle(S,30,51)
GaCircle
MuPrime
MuPrime1
MuPrime1=mu_prime(S)
MuPrime
Mu
Mu1
Mu1=mu(S)
Mu
C
C_match_out
C=0.22 pF
C
C_match_in
C=0.35 pF
L
L_match_out
R=6 Ohm
L=27.1 nH
L
L_match_in
R=12 Ohm
L=18.3 nH
Term
Term1
Z=50 Ohm
Num=1
bjt_pkg
Q1
beta=160
Vcc
R
RC
R=590 Ohm
R
RB
R=56 kOhm
Vcc
V_DC
SRC1
Vdc=Vdcs
VAR
VAR2
Vdcs=5 V
Eqn
Var
C
DC_Block1
C=10 pF
L
DC_Feed2
R=
L=120 nH
L
DC_Feed1
R=
L=120 nH
C
DC_Block2
C=10 pF
Term
Term2
Z=50 Ohm
Num=2
Mu(source) Mu(load) Constant gain circle
(here, set gain = 30 dB)
Constant NF circle
(min NF is auto calculated)
Frequency range is from
1850~1950 MHz with 10
MHz here. (avoid drawing
too many traces)
IEEE defined standard temperature
with noise analysis.
4.16 ADS
37. 36
(2) 4.16 Simulation-S_Param
GaCircle( ) NsCircle
S_Param CalcNoise Options
16.85 ( IEEE ) 51
30 dB 51
ADS ( nf2)
1850 MHz~1950 MHz
(
)
(3) Display GaCircle NsCircle
( ) Mu MuPrim
1 1850 MHz 1950 MHz (
)
(4)
(
)
cir_pts (0.000 to 51.000)
GaCircle1
NsCircle1
1.86 1.87 1.88 1.89 1.90 1.91 1.92 1.93 1.941.85 1.95
0.5
1.0
1.5
2.0
2.5
0.0
3.0
freq, GHz
Mu1
MuPrime1
freq
1.850 GHz
1.860 GHz
1.870 GHz
1.880 GHz
1.890 GHz
1.900 GHz
1.910 GHz
1.920 GHz
1.930 GHz
1.940 GHz
1.950 GHz
nf(2)
3.153
3.171
3.189
3.207
3.225
3.243
3.261
3.280
3.298
3.316
3.335
NFmin
1.055
1.056
1.056
1.056
1.057
1.057
1.057
1.058
1.058
1.058
1.058
Sopt
0.788 / -20.779
0.789 / -20.735
0.791 / -20.691
0.792 / -20.646
0.794 / -20.602
0.795 / -20.557
0.797 / -20.512
0.798 / -20.467
0.800 / -20.421
0.801 / -20.376
0.802 / -20.330
The load impedances that can result in constant gain (30 dB)
from 1850 MHz to 1950 MHz. (resulted traces are circles)
The maximum available power gain is
around the center of the circles.
The source impedances
that can result in
constant NF from
1850 MHz to 1950 MHz.
(traces are circles)
The minimum noise figure is
around the center of the NF circles.
When the minimum NF point is enclosed with the
constant gain circles, the desired gain and NFmin can
be simultaneously achieved while matched at the
blue point in such frequency range.
Stable: Mu > 1
nf(2) means the NF when port 2 is output port. When
the source is matched to Sopt, the Nfmin can be
achieved.
4.17
38. 37
7. s2p
(1) s2p_data
s2p s3p s4p ADS dataset
dataset s2p
(2) sparam_sim.dsn s2p
4.18 Write data file from dataset sparam_sim
dataset mybjt.s2p
Here, we are going to save the
transistor s-parameter simulated in
“sparam_sim.” If you forget what is
this, just open that design and you will
know. (It simulates the s-parameter of
the BJT at certain bias point)
4.18 s2p
(3) Data Items S2P mybjt.s2p
mybjt.s2p bjt_pkg
0.5 1.0 1.5 2.0 2.5 3.0 3.50.0 4.0
18
19
20
21
17
22
freq, GHz
dB(S(2,1))
dB(sparam_sim..S(2,1))
The blue circles are from s2p file, and the red line is the
results from sparam_sim.
S2P
SNP1
File="mybjt..s2p"
21
Ref
SweepPlan
SwpPlan1
Reverse=no
SweepPlan=
UseSweepPlan=
Start=100 MHz Stop=3 GHz Step=100 MHz Lin=
SWEEP PLAN
S_Param
SP1
Step=1.0 GHz
Stop=10.0 GHz
Start=1.0 GHz
SweepPlan="SwpPlan1"
S-PARAMETERS
Term
Term2
Z=50 Ohm
Num=2
Term
Term1
Z=50 Ohm
Num=1
4.19 file-based
41. 40
5.1
ADS
1dB 3
5.2
1. (Harmonic Balance, HB)
(1) s_final.dsn hb_basic.dsn
(2) P_1Tone 1900 MHz -40 dBm 5.1
(3) Simulation-HB (Harmonic Balance, HB)
Freq[1] 1900 MHz Order[1] 3
1900 MHz
Freq[1] Freq[2]
Freq[3] Order[1]
Order[1] 3
(DC) 1900 MHz( ) 3800 MHz( )
5700 MHz( )
Vc
Vb
Vout
Vin
MeasEqn
Meas1
dBmout=dBm(Vout[1])
Eqn
Meas
HarmonicBalance
HB1
Order[1]=3
Freq[1]=1900 MHz
HARMONIC BALANCE
P_1Tone
RF_Source
Freq=1.9 GHz
P=dbmtow(-40)
Z=50 Ohm
Num=1
Term
Term2
Z=50 Ohm
Num=2
L
L_match_in
R=12 Ohm
L=18.3 nH
C
C_match_out
C=0.22 pF
C
C_match_in
C=0.35 pF
L
L_match_out
R=6 Ohm
L=27.1 nH
bjt_pkg
Q1
beta=160
Vcc
R
RC
R=590 Ohm
R
RB
R=56 kOhm
Vcc
V_DC
SRC1
Vdc=Vdcs
VAR
VAR2
Vdcs=5 V
Eqn
Var
C
DC_Block1
C=10 pF
L
DC_Feed2
R=
L=120 nH
L
DC_Feed1
R=
L=120 nH
C
DC_Block2
C=10 pF
This means we have a source numbered 1 and its frequency
is Freq[1] = 1900MHz. In the simulation, we like to consider
3-harmonics into account, so Order[1]=3. The output voltage Vout is computed with 3-harmonics and the
DC-component. Now, we want to see the power of the
fundamental component (i.e. 1900 MHz) which is Vout[1]. The DC-
component is Vout[0], the 2nd harmonic is Vout[2], and the 3rd
harmonic is Vout[3].
5.1
42. 41
(4) P_1Tone 1900 MHz Freq[1]
1900 MHz Freq[1] 1800 MHz
1900 MHz 1900
MHz
(5) (1)~(3) Data Display Vout
dBm(Vout) Vout 5.2
Vout DC 1.9 GHz 3.8 GHz 5.7 GHz
( Order[1]=3 )
m1
freq=
dBm(Vout)=-4.876
1.900GHz
1 2 3 4 50 6
-80
-60
-40
-20
-100
0
freq, GHz
dBm(Vout)
m1
m1
freq=
dBm(Vout)=-4.876
1.900GHz dBmout
-4.876
DC Fundamental
@1.9 GHz
2nd harmonic
@3.8 GHz
3rd harmonic
@5.7 GHz
Use dBm(v) to transform voltage into power
with 50 Ohm impedance in default.
5.2
(6)
( ) V1 f1
A1
A1V1
( )
( )
f1
(Harmonics)
44. 43
(9) (8)
(Saturation power, Psat) 1 dB (1 dB gain
compression point) (Intermodulation intercept point)
(10) (5) Vin Vout Time domain signal
5.3 HB
Vin Vout ADS
HB
-2
0
2
-4
4
ts(Vin),mV
0.2 0.4 0.6 0.8 1.00.0 1.2
-100
0
100
-200
200
time, nsec
ts(Vout),mV
2
3
4
1
5
ts(Vc),V
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.00.0 1.1
790
800
810
780
820
time, nsec
ts(Vb),mV
Choose Vin, Vout, Vc and Vb in
Time-domain
5.3 ts()
45. 44
(11) list Mix Mix 0, 1, 2, 3
5.4
freq
0.0000 Hz
1.900 GHz
3.800 GHz
5.700 GHz
Mix
0
1
2
3
Vout
0.000 / 0.000
0.180 / -14.199
0.001 / -170.939
1.963E-5 / 46.135
“Mix” is the index sequence of the frequency components:
Mix = 0, 1, 2, 3
Mix[0] = 0 : DC
Mix[1] = 1 : Fundamental
Mix[2] = 2 : 2nd harmonic
Mix[3] = 3 : 3rd harmonic
5.4 Mix index
(12) Vout dBm(Vout[1]) [1] Vout
5.5 dBm(Vout[2])
MeasEqn
Meas1
dBmout=dBm(Vout[1])
Eqn
Meas
dBmout
-4.876
dBm(Vout[1])
-4.876
Measurement equation
in schematic
List it in data display
OR
Just manipulate Vout[1] in
data display
freq
0.0000 Hz
1.900 GHz
3.800 GHz
5.700 GHz
Mix
0
1
2
3
dBm(Vout)
<invalid>
-4.876
-49.839
-84.141
dBm(Vout) lists out the power of all components.
If you want fundamental power: use dBm(Vout[1])
2nd harmonic power: use dBm(Vout[2])
3rd harmonic power : use dBm(Vout[3])
5.5
(13) dBm() ADS dBm()
50 5.6 50 Vout
dBm(Vout[1]) dBm(Vout[1], 50)
Vin Zin Zin 50
dBm(Vin[1]) I_Probe
5.7
dBm(Vin[1], Zin)
50 dBm(Vin[1]) dBm(Vin[1], Zin)
46. 45
Here, we are using “Voltage” and 50 Ohm (default) to calculate power.
Warning: (1) For the output, Vout is just on a 50 Ohm term that’s OK!
(2) For the input, is Vin on a 50 Ohm term? Or, say, Zin = 50 Ohm?
Is it correct to use dBm(Vin[1],50) to calculate input power? Incorrect!
Vout
Term
Term2
Z=50 Ohm
Num=2
C
C_match_out
C=0.22 pF
L
L_match_out
R=6 Ohm
L=27.1 nH
Vin
L
L_match_in
R=12 Ohm
L=18.3 nH
C
C_match_in
C=0.35 pF
P_1Tone
RF_Source
Freq=1.9 GHz
P=dbmtow(-40)
Z=50 Ohm
Num=1
C
DC_Block1
C=10 pF
Zin
5.6
Vin
I_Probe
I_inP_1Tone
RF_Source
Freq=1.9 GHz
P=dbmtow(-40)
Z=50 Ohm
Num=1
L
L_match_in
R=12 Ohm
L=18.3 nH
C
C_match_in
C=0.35 pF
EqnP_deliv_dBm=10*log(0.5*real(Vin[1]*conj(I_in.i[1])))+30
EqnZ_in=Vin[1]/I_in.i[1]
dBm(Vin[1])
-40.214
P_deliv_dBm
-40.003
dBm(Vin[1],Z_in)
-40.003
Z_in
47.619 / 0.686
Insert the current probe named “I_in”
Calculate the input impedance and the real
input power in data display.
You can use dBm(Vin[1], Z-in) referenced to
the real input impedance.
5.7
2. 1 dB (P1dB)
(1) 1 dB
( )
(2) hb_basic.dsn hb_compression.dsn 1 dB
5.8
47. 46
RF_pwr Sweep Parameter
dataset hb_comp Data Display dbmout
RF_pwr RF_pwr
RF_pwr Marker m1
(Gain compression)
( ) RF_pwr
Vin
Vc
Vb
Vout
VAR
VAR3
RF_pwr=-40
Eqn
Var
MeasEqn
Meas1
dBmout=dBm(Vout[1])
Eqn
Meas
HarmonicBalance
HB1
Step=1
Stop=-20
Start=-50
SweepVar="RF_pwr"
Order[1]=3
Freq[1]=1900 MHz
HARMONIC BALANCE
P_1Tone
RF_Source
Freq=1.9 GHz
P=dbmtow(RF_pwr)
Z=50 Ohm
Num=1
XDB
HB2
GC_MaxInputPower=100
GC_OutputPowerTol=1e-3
GC_InputPowerTol=1e-3
GC_OutputFreq=1.9 GHz
GC_InputFreq=1.9 GHz
GC_OutputPort=2
GC_InputPort=1
GC_XdB=1
Order[1]=3
Freq[1]=1.9 GHz
GAIN COMPRESSION
I_Probe
I_in
Term
Term2
Z=50 Ohm
Num=2
L
L_match_in
R=12 Ohm
L=18.3 nH
C
C_match_out
C=0.22 pF
C
C_match_in
C=0.35 pF
L
L_match_out
R=6 Ohm
L=27.1 nH
bjt_pkg
Q1
beta=160
Vcc
R
RC
R=590 Ohm
R
RB
R=56 kOhm
Vcc
V_DC
SRC1
Vdc=Vdcs
VAR
VAR2
Vdcs=5 V
Eqn
Var
C
DC_Block1
C=10 pF
L
DC_Feed2
R=
L=120 nH
L
DC_Feed1
R=
L=120 nH
C
DC_Block2
C=10 pF
-45 -40 -35 -30 -25-50 -20
-10
-5
0
5
-15
10
RF_pwr
dBmout
m1
m1
indep(m1)=
plot_vs(dBmout, RF_pwr)=3.358
-31.000
Dataset name: hb_comp
Plot Output power v.s. Input power
Linear region
Gain compression
Saturate
5.8 (Pout v.s. Pin)
(3) 5.9 ( dB )
RF_pwr RF_pwr
( ) 1 dB (
) 1 dB 1 dB
IP1dB 5.10
1 dB
1 dB OP1dB
48. 47
Eqn Gain_db=dBmout-RF_pwr
-45 -40 -35 -30 -25-50 -20
26
28
30
32
34
24
36
RF_pwr
Gain_db
Gain compression effect
(large signal, high power region)
Linear gain (small signal, low power region)
-45 -40 -35 -30 -25-50 -20
26
28
30
32
34
24
36
RF_pwr
Gain_db
1 dB
1 dB gain compression point
Input power at 1 dB
gain compression point is call IP1dB
5.9 1 dB IP1dB
-14 -12 -10 -8 -6 -4 -2 0 2 4-16 6
26
28
30
32
34
24
36
dBmout
Gain_db
m3
m3
dBmout=
plot_vs(Gain_db, dBmout)=34.358
3.358
-45 -40 -35 -30 -25-50 -20
26
28
30
32
34
24
36
RF_pwr
Gain_db
1 dB
1 dB gain compression point
Input power at 1 dB
gain compression point is call IP1dB
1 dB
1 dB gain compression point
Output power at 1 dB
gain compression point is call OP1dB
Many people would say “P1dB” to describe the gain compression effect (nonlinear
effect). More correctly, you may ask that does he mean IP1dB or OP1dB?
5.10 IP1dB OP1dB ( x )
(4) IP1dB OP1dB 5.11 (dBmout)
(RF_pwr) 5.11
Gain_db[0] Gain_db 1 (index=0)
-50 dBm
( )
(Lin_pwr) (RF_pwr) ( dB )
49. 48
1 dB 1 dB (
1 dB 1 dB)
Marker m4 IP1dB
OP1dB IP1dB -31 dBm OP1dB 3.4 dBm 5.11
Psat 4.7 dBm
Eqn Lin_pwr=RF_pwr+Gain_db[0]
m4
indep(m4)=
plot_vs(dBmout, RF_pwr)=3.358
-31.000
-45 -40 -35 -30 -25-50 -20
-10
-5
0
5
10
15
-15
20
RF_pwr
dBmout
m4
Lin_pwr
m4
indep(m4)=
plot_vs(dBmout, RF_pwr)=3.358
-31.000
Output power drops 1 dB
from the linear power
IP1dB
1 dB
OP1dB
Linear power relation (if no compression)
5.11 IP1dB OP1dB
(5) P1dB (IP1dB OP1dB)
OP1dB OP1dB
OP1dB
IP1dB
IP1dB
IP1dB OP1dB
IP1dB OP1dB
Psat
( ) OP1dB
( Psat OP1dB )
OP1dB Psat
50. 49
3. (IP3) HB IP3out ip3_out()
(1) hb_compression.dsn hb_2tone.dsn P_nTone
RF_freq = 1900 MHz
tone_spacing = 10 MHz 5.12
(2) 2
P1dB (One-tone CW
test Single-tone CW test) IP3
(Two-tone CW test)
(3)
0 1
2 (
2 )
(Intermodulation products IM )
1 2mf nf+ 1f 2f m n ( ) m
n (order) ( m n+ )
Vin
HarmonicBalance
HB1
Step=1
Stop=-20
Start=-50
SweepVar="RF_pwr"
Order[2]=4
Order[1]=4
Freq[2]=RF_freq-tone_spacing/2
Freq[1]=RF_freq+tone_spacing/2
MaxOrder=8
HARMONIC BALANCE
VAR
VAR3
tone_spacing=10 MHz
RF_freq=1900 MHz
RF_pwr=-40
Eqn
Var
VAR
VAR2
Vdcs=5 V
Eqn
Var
P_nTone
PORT1
P[2]=dbmtow(RF_pwr)
P[1]=dbmtow(RF_pwr)
Freq[2]=RF_freq-tone_spacing/2
Freq[1]=RF_freq+tone_spacing/2
Z=50 Ohm
Num=1
MeasEqn
Meas1
dBmout=dBm(Vout[1])
Eqn
Meas
I_Probe
I_in
L
L_match_in
R=12 Ohm
L=18.3 nH
C
C_match_in
C=0.35 pF
C
DC_Block1
C=10 pF
Use P_nTone source to provide
2 sinusoidal signals.
fcenter= 1900 MHz
Tone spacing = 10 MHz
Freq[2] Freq[1]
Intermodulation (IM) products
Two-tone CW test for evaluating nonlinearity
MaxOrder = number of mixing products
Freq[1] is a variable or a number.
Order[1] = 4 means the component at
Freq[1] will be calculated with 4
harmonics.
5.12