Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

P1dB is greater than IIP3 ! Why?

Status
Not open for further replies.

Majid Rafei

Junior Member level 2
Joined
Aug 25, 2011
Messages
20
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Tehran
Activity points
1,463
I am working on a LNA which has an active feedback. P-1dB and IIP3 are simulated using Spectre and results are as follows:
P-1dB:
p1dB_1stage.png
IIP3:
iip3_1stage.png

In addition, these parameters are simulated using HSPICE and results are as follows:
hspice_p1dB_iip3.png

I have two questions:

1) simulation conditions for both Spectre and HSPICE are the same, why results are different?

2) why P-1dB is greater than IIP3 (in normal condition IIP3 is 10 to 15 dBm greater than P1dB)?
 

Show me analysis statements and option statements for both Spectre and HSPICE.
I think analysis conditions are different even if you use HB analysis for both Spectre and HSPICE.

Spectre:
parameters freq2=301e6 Pin=-40 freq1=300e6
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
sweepqpss sweep param=Pin start=-50 stop=10 step=1 {
qpss qpss flexbalance=yes oversample=[1 1] funds=["f1" "f2"]
+ maxharms=[5 5] errpreset=conservative annotate=status

}

HSPICE:
.options post=2
.param Pin:dBm=-30.0
.param Pin=Pin:dBm
.param Pin:W='1.0e-3*pwr(10.0,Pin/10.0)' $ Change to Watts for sources
** 50 Ohm input port (incl. bias), 50 Ohm output port.
**
** Two-tone input source (DC blocked at this point)
**
Vin RFin 0 dc=0 power=1 z0=50 $ 50 Ohm src
+ HB Pin:W 0 1 1 $ tone 1
+ HB Pin:W 0 1 2 $ tone 2
Rload RFout 0 R=50
**
** HB test bench to measure IP3 and IP2
**
.HB tones=300e6,301e6 nharms=11 11 intmodmax=7
+SWEEP Pin:dBm -50.0 20 1.0

You use exatrapolation point of Pin=-50dBm as post processing of Spectre results.
Do you use same value as post processing of HSPICE results ?
Yes, I do.

IIP3 is small signal distortion measure where Pin v.s. Pout is linear relation.
On the other hand, P1dB is essentially large signal drive distortion.
So, how can i be sure that results are valid?
 

Show me analysis statements and option statements for both Spectre and HSPICE.
I think analysis conditions are different even if you use HB analysis for both Spectre and HSPICE.
Same results are achieved with hp analysis like qpss in Spectre:
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
sweephb sweep param=Pin start=-50 stop=10 step=1 {
hb hb oversample=[1 1] fundfreqs=[freq1 freq2] maxharms=[11
+ 11] errpreset=conservative tstabOpt=yes annotate=status

}
p1db_iip3_1stage.png
 

1) simulation conditions for both Spectre and HSPICE are the same,
why results are different?
Show me analysis statements and option statements for both Spectre and HSPICE.
I think analysis conditions are different even if you use HB analysis for both Spectre and HSPICE.

You use exatrapolation point of Pin=-50dBm as post processing of Spectre results.
Do you use same value as post processing of HSPICE results ?

2) why P-1dB is greater than IIP3
(in normal condition IIP3 is 10 to 15 dBm greater than P1dB)?
IIP3 is small signal distortion measure where Pin v.s. Pout is linear relation.
On the other hand, P1dB is essentially large signal drive distortion.

See equation, (11) and (14) of https://www.designers-guide.org/Modeling/modeling-rf-systems.pdf
 
Last edited:
Show me versions of Spectre and HSPICE.


Spectre:
sweepqpss sweep param=Pin start=-50 stop=10 step=1 {
qpss qpss flexbalance=yes oversample=[1 1] funds=["f1" "f2"]
+ maxharms=[5 5] errpreset=conservative annotate=status

}
........................
HSPICE:
.HB tones=300e6,301e6 nharms=11 11 intmodmax=7
+SWEEP Pin:dBm -50.0 20 1.0
Conditions for HB Analyses are different.

Change HSPICE like following.
Code:
.HB	tones=300e6,301e6	nharms=5	5	intmodmax=10
+SWEEP	Pin:dBm	-50.0	10	1.0

So, how can i be sure that results are valid?
What do you want to mean ?

sweephb sweep param=Pin start=-50 stop=10 step=1 {
hb hb oversample=[1 1] fundfreqs=[freq1 freq2] maxharms=[11
+ 11] errpreset=conservative tstabOpt=yes annotate=status
Set "intmodmax=22" for HSPICE.

Show me trace lines, 1st and 3rd using same tool.
I think you use Cadence Wavescan.

Plot Spectre and HSPICE results as over plot using Wavescan.
 
Last edited:
Conditions for HB Analyses are different.

Change HSPICE like following.
Code:
.HB	tones=300e6,301e6	nharms=5	5	intmodmax=10
+SWEEP	Pin:dBm	-50.0	10	1.0

Set "intmodmax=22" for HSPICE.

Show me trace lines, 1st and 3rd using same tool.
I think you use Cadence Wavescan.

Plot Spectre and HSPICE results as over plot using Wavescan.
I did as you suggested and results are as follows:
Spectre:
p1db_iip3_1stage_new.png
HSPICE:
hspice_p1dB_iip3_new.png
No changes in results! :roll:

What do you want to mean ?
I mean, can i accept these results and report them, although I think that simulation conditions are standard and P1dB should be less than IIP3 by about 10 dBm! But, here IIP3 is less than P1dB! For me, results are strange.
 

Attachments

  • hspice_p1dB_iip3_new.png
    hspice_p1dB_iip3_new.png
    16.7 KB · Views: 103

Overplot results using same tool.

Show me versions of Spectre and HSPICE.


But, here IIP3 is less than P1dB!
For me, results are strange.
When distortion is dominant for input characteristics, IIP3 is larger than P1dBin.

However if distortion is fairly occupied by output characteristics, IIP3 could be lesser than P1dBin.
 

When distortion is dominant for input characteristics, IIP3 is larger than P1dBin.

However if distortion is fairly occupied by output characteristics, IIP3 could be lesser than P1dBin.
Excuse me, I am confused. Would you please explain some more or refer me to a reference or paper about this issue?!
 


I think there is a feedback in the circuit.Have you ever checked the stability ?? If there is a stability issue, these results are valid at all.
Because P1dB Compression Point curve is pretty weird.
 

No.
Plot Spectre results and HSPICE results using cadence ViVA or Sysnopsys Custom Waveviwer.
I don't have ViVa and Waveviewer, although i think no changes will be on results!

No.
Both don't show version of simulator.

Show me version of simulator.
If you don't know how to know it, see logfile of simulator.
I looked for log files and find nothing. As I mentioned, I have used HSPICE version 2010 and Cadence version 6.14.

- - - Updated - - -

I think there is a feedback in the circuit.Have you ever checked the stability ?? If there is a stability issue, these results are valid at all.
Because P1dB Compression Point curve is pretty weird.
Yes, as I mentioned in my first post, the circuit has an active feedback. However, I have checked the stability of the LNA by means of K_stability_factor, which is greater than 1 in whole bandwidth (K_stab > 1 is a necessary and sufficient condition for the stability of a LNA).
 

over plot using Cadence wavescan.

Compare results exactly.
I think you have Cadence ViVA since you use Cadence dfII version 6.1.4.

2010 is a version of HSPICE UI not simulator version.

Simulator version is located of head of logfile.
Surely see logfile.

If you use Spectre 6.X, it is too old.
HB-QPSS in Spectre 6.X is very suspicious.

I think you use Spectre 11.X or 14.X.
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top