The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design >> RF Design >> intercept point IIP3 ??
https://designers-guide.org/forum/YaBB.pl?num=1180964813

Message started by BERBEREPHONE on Jun 4th, 2007, 6:46am

Title: intercept point IIP3 ??
Post by BERBEREPHONE on Jun 4th, 2007, 6:46am

hello has all,
please can somebody of you say themselves to me how schematically to extract the point from interception of order 3 (IIP3) under ELDORF for my mixer?? I arrive has frequentiellement to extract only IM3. thus I want to have on the same diagram the point of compression 1dB and the IIP3. veiled to fichier.cir it that I use to define the point 1dB and the IM3:

* PROJET NAME :
* LIBNAME     :
* CELL-NAME   : mixer
* VIEW        : schematic
* SIMULATIONS :
* TECHNO      : CMOS065
* TEMP. RANGE :
*--------------------------------------------------------------------
*          Options
*--------------------------------------------------------------------
.OPTION XA = 6.250000e-07 NOASCII STVER GEAR EPS=1e-6 OPTYP=2 NOPROBEOP GRAMP=9 nowarn=240 nowarn=902
*--------------------------------------------------------------------
*    Netlist Inclusion
*--------------------------------------------------------------------
.include ./eldoD/schematic/netlist/netlist
*--------------------------------------------------------------------
*    Corner Inclusion
*--------------------------------------------------------------------
.include ./eldoD/schematic/netlist/corners
#com
.include process_alter
.step param vdd list 1.35 1.65
.temp -40 125
#endcom
*--------------------------------------------------------------------
*       Supply
*--------------------------------------------------------------------

.param  Vdd =1.2
.param  V_OL=0

.param  Freq_OL = 50G
.param  Freq_RF = 60G
.param  PI=3.1415926535897932384626433832795

*-----------Matching-----------*
.param  Lg =  61p  
.param  Ls = 30p    

.param  Lg_OL = 553p
*------------------------------*

*-----------Filtre DC----------*
.param  Cc1=10p
.param  Cc2=20p
*------------------------------*

*-----------Filtre IF----------*
.param  C_OL=4f
.param  L_OL=2.53n
.param  L_FI = 10n
*------------------------------*

Vvplus   Vdd     0   DC  Vdd
Vvminus  vminus  0   DC   0
 
.param P_RF=-20
.param P_OL= 0

.param  Spacing = 2Meg

RL  IF  vminus   50



*--------------------------------------------------------------------
*      Stimuli
*--------------------------------------------------------------------
.temp 25
*--------------------------------------------------------------------
* Calcul de IM3 en utilisant PdBm
*--------------------------------------------------------------------
VOL        OL        vminus    Rport=50     FOUR     fund3            MA                      (1)  0.10   -90   !(0)   0.8    0   (1)    0.22   -90
VRF        RF        vminus    Rport=50     FOUR     fund1    fund2   PdBm  (1,0)  P_RF  -90 (0,1)   P_RF   -90
*--------------------------------------------------------------------

*--------------------------------------------------------------------
*  Simulation commands
*--------------------------------------------------------------------
.probe V
!.step param P_RF -35 0 0.5

*--------------------------------------------------------------------
* Steady-State analysis definition
*--------------------------------------------------------------------
.sst fund1={Freq_RF+{Spacing/2] nharm1=4 fund2={Freq_RF-{Spacing/2] nharm2=4  fund3=Freq_OL nharm3=4
.option sst_max_liniter=100  
.option sst_spectrum=1
*--------------------------------------------------------------------
*plot
*--------------------------------------------------------------------
.plot fsst vdb(RF)
.plot fsst vdb(IF,vminus)
.plot fsst Pdbm(VRF)
.plot fsst Pdbm(RL)
.plot tsst v(IF,vminus)

*--------------------------------------------------------------------
* definition of the third intermodulation
*--------------------------------------------------------------------
.extract fsst label=IM3 (yval(PdBm(RL), fund1-fund3) - yval(PdBm(RL), {2*fund1-fund2-fund3}))
.extract fsst label=IIP3 0.5*meas(IM3) + P_RF
.extract fsst label=OIP3 0.5*meas(IM3) + yval(PdBm(RL),{fund1-fund3})

*--------------------------------------------------------------------
* definition of the third order intercept point
*--------------------------------------------------------------------

.extract FSST label=P1 yval(PdBm(RL), {fund1-fund3})
.extract FSST label=P3 yval(PdBm(RL), {2*fund1-fund2-fund3})

.extract FSST label=BIS_IM3 {meas(P1) - meas(P3)}
.extract FSST label=BIS_IIP3 {meas(IM3)/2 + P_RF}
.extract FSST label=BIS_OIP3 {meas(P1) + meas(IM3)/2}
#com
*--------------------------------------------------------------------
* functions for direct IIP3-OIP3 extracts
*--------------------------------------------------------------------
.extract fsst label=IIP3_ref  iipx( PdBm(VRF), PdBm(RL), {fund1-fund3},{2*fund1-fund2-fund3} )
.extract fsst label=OIP3_ref  oipx( PdBm(RL) ,           {fund1-fund3},{2*fund1-fund2-fund3} )
.extract fsst label=IIP3_ref_bis  iipx( vdb(RF), PdBm(RL), {fund1-fund3},{2*fund1-fund2-fund3} )

#endcom


thank you for you

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