The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 3rd, 2024, 2:46pm
Pages: 1
Send Topic Print
simulate noise figure for heterodyne receiver (Read 10342 times)
Ian
Junior Member
**
Offline



Posts: 27

simulate noise figure for heterodyne receiver
Apr 22nd, 2008, 10:05am
 
I'm simulating the noise figure of two mixers together for a heterodyne receiver, i.e., with two large LO signals. My first attempt by using PSS+Pnoise, gives me a NF above 100dB. It's  way too much! Please advise the right way to simulate mixers with two large LO signals. Thanks.  

The frequencies are: flo1=1.1GHz, frf=1GHz, flo2=90MHz.

The main settings are as follows:

---- Simulation Definations
pss  pss  fund=10M  harms=0  errpreset=moderate  annotate=status
+    outputtype=freq
pnoise  pnoise  start=1K  stop=1M  maxsideband=120
+       oprobe=PORT_IF  iprobe=PORT_RF  refsideband=-1  annotate=status

------ Port Definitions
PORT_LO2 (net0140 0) port r=50 num=4 type=sine freq=flo2 ampl=vlo2 \
       fundname="flo2"
PORT_LO (net081 0) port r=50 num=3 type=sine freq=flo ampl=vlo \
       fundname="flo"
PORT_IF (Vloadp Vloadn) port r=50 num=2 type=dc
PORT_RF (net086 0) port r=50 num=1 type=sine freq=frf ampl=vrf \
       fundname="frf"
Back to top
 
 
View Profile   IP Logged
ACWWong
Community Fellow
*****
Offline



Posts: 539
Oxford, UK
Re: simulate noise figure for heterodyne receiver
Reply #1 - Apr 22nd, 2008, 2:21pm
 
looks like your pnoise reference sideband is wrong. the output log at the start of the pnoise normally prints at what frequency the input port (PORT_RF) has been swept to get the output. In your case it won't be around 1GHz which is what you want...

There are a couple of other things I would recommend
1) PORT_RF should be dc not sine if you are not looking for noise figure in the presence of a large input RF tone.
2) making flo1 and flo2 integer related by a higher common divisor will speed up simulation. (e.g, 1.1G & 100M or 1.08G & 90M etc.)
3) Then do pxf to get the gain correct. In doing so you can see the correct refsideband giving the gain for use in the pnoise simulation
For further details you should consult the spectreRF user guide.


Back to top
 
 
View Profile   IP Logged
Ian
Junior Member
**
Offline



Posts: 27

Re: simulate noise figure for heterodyne receiver
Reply #2 - Apr 22nd, 2008, 11:31pm
 
Thanks, Wong.

ACWWong wrote on Apr 22nd, 2008, 2:21pm:
looks like your pnoise reference sideband is wrong. the output log at the start of the pnoise normally prints at what frequency the input port (PORT_RF) has been swept to get the output. In your case it won't be around 1GHz which is what you want...


Indeed, the input frequency in the log is 99MHz to 99.999MHz (i.e., for 1K - 1MHz IF), which is the input frequency of the second mixer.

Quote:
There are a couple of other things I would recommend
1) PORT_RF should be dc not sine if you are not looking for noise figure in the presence of a large input RF tone.

I did experiments on both cases, either dc or sine, for one single mixer. They agrees with each other perfectly (though the RF tone is not really a large signal).
But yes, for dc PORT_RF, the simulation could probably be faster. For LO frequencies (also RF frequency) with common divisor (e.g., 100MHz), dc PORT_RF wins sine PORT_RF by about 10s (i.e.,  49.43s vs 59.95s).

Quote:
2) making flo1 and flo2 integer related by a higher common divisor will speed up simulation. (e.g, 1.1G & 100M or 1.08G & 90M etc.)

Good point. My first few attempts really took long time for 'random' LO frequencies.

Quote:
3) Then do pxf to get the gain correct. In doing so you can see the correct refsideband giving the gain for use in the pnoise simulation
For further details you should consult the spectreRF user guide.

Good point. I'll check on this.

Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: simulate noise figure for heterodyne receiver
Reply #3 - Apr 23rd, 2008, 12:16am
 
Ian wrote on Apr 22nd, 2008, 10:05am:
pss  pss  fund=10M  harms=0  errpreset=moderate  annotate=status
+    outputtype=freq

You forget to set "maxacfreq" in PSS.
For example, you have to set maxacfreq=6G.

Ian wrote on Apr 22nd, 2008, 10:05am:
pnoise  pnoise  start=1K  stop=1M maxsideband=120
+       oprobe=PORT_IF  iprobe=PORT_RF  refsideband=-1 annotate=status

"maxsideband=120" is too small. Your fund is 10MHz and flo1=1100MHz, for example, you must set maxsideband more than 5*flo1/fund=550.
So you should set maxsideband=550.

Ian wrote on Apr 22nd, 2008, 11:31pm:
ACWWong wrote on Apr 22nd, 2008, 2:21pm:
looks like your pnoise reference sideband is wrong. the output log at the start of the pnoise normally prints at what frequency the input port (PORT_RF) has been swept to get the output. In your case it won't be around 1GHz which is what you want...

Indeed, the input frequency in the log is 99MHz to 99.999MHz (i.e., for 1K - 1MHz IF), which is the input frequency of the second mixer.

You are wrong. If you want to evaluate SSB-NF and conversion gain, you have to choose the input frequency of the first mixer.
If you want to evaluate only DSB-NF and not conversion gain, you can set any value as refsideband.
Try to use "select from list" in refsideband setting of Pnoise setting.
In your case, you have to set refsideband=-101, where first mixer is LSB and second mixer is USB.

1000=abs(10-101*Fund)  <--- refsideband=-101, First Mixer In=1000MHz, Second Mixer In=100MHz, Out_freq=10MHz, Fund=10MHz
1020=abs(10+101*Fund) <--- refsideband=101, First Mixer In=1020MHz, Second Mixer In=80MHz, Out_freq=10MHz, Fund=10MHz

Ian wrote on Apr 22nd, 2008, 11:31pm:
ACWWong wrote on Apr 22nd, 2008, 2:21pm:
There are a couple of other things I would recommend
1) PORT_RF should be dc not sine if you are not looking for noise figure in the presence of a large input RF tone.

I did experiments on both cases, either dc or sine, for one single mixer. They agrees with each other perfectly (though the RF tone is not really a large signal).
But yes, for dc PORT_RF, the simulation could probably be faster. For LO frequencies (also RF frequency) with common divisor (e.g., 100MHz), dc PORT_RF wins sine PORT_RF by about 10s (i.e.,  49.43s vs 59.95s).

You should not use unnecessary tones in RF analysis especially in multitone HB-analysis.
It could result in not only slowness in simulation but also wrong results. Also it could not be converged in simulation.

Again see http://www.designers-guide.org/Forum/YaBB.pl?num=1184111670

Ian wrote on Apr 22nd, 2008, 11:31pm:
ACWWong wrote on Apr 22nd, 2008, 2:21pm:
2) making flo1 and flo2 integer related by a higher common divisor will speed up simulation. (e.g, 1.1G & 100M or 1.08G & 90M etc.

Good point. My first few attempts really took long time for 'random' LO frequencies.

You can also invoke multitone HB analysis such as QPSS. Rather I will use multitone HB analysis for such receiver.
I will not use PSS(Shooting and HB) for double super receiver, indeed I will not use SpectreRF itself for RF design.

In QPSS, you must not set flo1 and flo2 with integer relation.

Also see http://www.designers-guide.org/Forum/YaBB.pl?num=1162399761
Back to top
 
« Last Edit: Apr 23rd, 2008, 8:08am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Ian
Junior Member
**
Offline



Posts: 27

Re: simulate noise figure for heterodyne receiver
Reply #4 - Apr 25th, 2008, 4:07am
 
pancho_hideboo, you're right on the 'maxsideband' parameter, I adjusted the setting and got reasonable results.

Minor comment on the following:
pancho_hideboo wrote on Apr 23rd, 2008, 12:16am:
Quote:
You forget to set "maxacfreq" in PSS.
For example, you have to set maxacfreq=6G.

I think, the default value of  'maxacfreq' is 40*fundamental (i.e., 44GHz in my case). That should be fine.
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: simulate noise figure for heterodyne receiver
Reply #5 - Apr 25th, 2008, 4:35am
 
Ian wrote on Apr 25th, 2008, 4:07am:
pancho_hideboo, you're right on the 'maxsideband' parameter, I adjusted the setting and got reasonable results.

No. Serious problem is your wrong value of refsideband, if you see SSB-NF.

Ian wrote on Apr 25th, 2008, 4:07am:
Minor comment on the following:
pancho_hideboo wrote on Apr 23rd, 2008, 12:16am:
Quote:
You forget to set "maxacfreq" in PSS.
For example, you have to set maxacfreq=6G.

I think, the default value of  'maxacfreq' is 40*fundamental (i.e., 44GHz in my case). That should be fine.

No, you are wrong. It seems you always don't understand your fundamental frequency.
Your fundamental frequency is 10MHz like following. So the default value of  'maxacfreq' is 40*fundamental=400MHz.
It is too low.

Ian wrote on Apr 22nd, 2008, 10:05am:
pss  pss  fund=10M  harms=0  errpreset=moderate  annotate=status
+    outputtype=freq


You should always set "maxacfreq" obviously.
Back to top
 
« Last Edit: Apr 25th, 2008, 11:47pm by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Ian
Junior Member
**
Offline



Posts: 27

Re: simulate noise figure for heterodyne receiver
Reply #6 - Apr 26th, 2008, 2:17am
 
pancho_hideboo, I've realized I did mix up on a few things in my previous post. I have another problem related to pnoise accuracy for a single down-converter operating at 10GHz. The following is what I've got from the output log:
Quote:
Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
Version 6.2.0.420 -- 11 Jun 2007
****************************************************
Periodic Steady-State Analysis `pss': fund = 10 GHz
****************************************************
Trying `homotopy = gmin' for initial conditions.
***********************************************************
Periodic Noise Analysis `pnoise': freq = (1 kHz -> 100 MHz)
***********************************************************
Input frequency range = (9.9 GHz -> 10 GHz).
Using the operating-point information generated by PSS analysis `pss'.

Warning from spectre at freq = 1 kHz during PNoise analysis `pnoise'.
   WARNING (SPECTRE-12012): Relative residual of linear system is significantly above tolerance. Results may be inaccurate. To get more accuracy, you can set maxacfreq (PSS option) to a value greater than 40*fundamental (default value). Or set the solver method in your Periodic small signal analysis option to "std" (standard).


I didn't see this warning message when the mixer works at 1GHz. I followed the tip in the warning message, the major settings are as follows:
Quote:
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 ckptclock=1800 \
   sensfile="../psf/sens.output" checklimitdest=psf

pss  pss  fund=10G  harms=0  errpreset=moderate  maxacfreq=500G
+    annotate=status
pnoise  pnoise  start=1K  stop=100M  dec=10  maxsideband=50
+       oprobe=PORT_IF  iprobe=PORT_RF  refsideband=-1  solver=std
+       annotate=status


I also tried set 'errpreset=conservative' or 'errpreset=liberal', still suffer from the same warning.
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: simulate noise figure for heterodyne receiver
Reply #7 - Apr 26th, 2008, 4:39am
 
Ian wrote on Apr 26th, 2008, 2:17am:
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 ckptclock=1800 \
   sensfile="../psf/sens.output" checklimitdest=psf

pss  pss  fund=10G  harms=0  errpreset=moderate  maxacfreq=500G
+    annotate=status
pnoise  pnoise  start=1K  stop=100M  dec=10  maxsideband=50
+       oprobe=PORT_IF  iprobe=PORT_RF  refsideband=-1  solver=std
+       annotate=status

I also tried set 'errpreset=conservative' or 'errpreset=liberal', still suffer from the same warning.

Is the above true netlist which you were using when you got warning ?
Often you show fake netlist.

"solver=std" in Pnoise is truely activated ?

From practical point of view, I don't think noise folding from 500GHz is needed.
Also in your conditions, timestep is very small.
You had better change analysis method from Shooting-PSS to HB-PSS.
Back to top
 
« Last Edit: Apr 26th, 2008, 8:24am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.