The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 23rd, 2024, 6:28pm
Pages: 1
Send Topic Print
how to start a oscillator's phase noise? (Read 7922 times)
liletian
Community Member
***
Offline



Posts: 97
MD
how to start a oscillator's phase noise?
May 03rd, 2009, 9:01pm
 
 Hi Guys
 Are any of you familiar with phase noise simulation? I want to simulate ring oscillator phase noise use RFDE or cadence. I had read the tutorial "http://www.odyseus.nildram.co.uk/Systems_And_Devices_Files/PhaseNoise.pdf"
 But I did not find PM_Demotuned(page 9 of tutorial) in my rfde/ads library and I did not find similar HB balance setup in my rfde.
 Any suggestion will be appreciated.
 Thanks
Back to top
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: how to start a oscillator's phase noise?
Reply #1 - May 3rd, 2009, 10:55pm
 
I can't find out any design issues in your questions.
Your questions are no more than a usage of very specific vendor tool.

liletian wrote on May 3rd, 2009, 9:01pm:
how to start a oscillator's phase noise?
What do you mean ?

liletian wrote on May 3rd, 2009, 9:01pm:
I had read the tutorial "http://www.odyseus.nildram.co.uk/Systems_And_Devices_Files/PhaseNoise.pdf"
But I did not find PM_Demotuned(page 9 of tutorial) in my rfde/ads library
and I did not find similar HB balance setup in my rfde.
What is "HB balance" ?

(1) There is no library called "rfde/ads". Maybe you refer to "adsLib", right ?
(2) I don't know your PM_Demotuned, but "PM_DemodTuned" is not ported to "adsLib".
(3) You don't have to use "PM_DemodTuned".

Simply do Autonomous-HB with Phase Noise Analysis in Agilent ADS(RFDE) or Autonomous PSS/Pnoise in Cadence Spectre.

If you want to use "PM_DemodTuned", choose one of the followings.
  - Export "PM_DemodTuned" to your library of Cadence Environment by making symbol and necessary CDF parameters.
  - Include netlist of "PM_DemodTuned" in your ADSsim's netlist under RFDE.
  - Invoke Dynamic Link, here you can use "PM_DemodTuned" in ADS's native schematic.

Again You don't have to use "PM_DemodTuned"..

Back to top
 
« Last Edit: May 4th, 2009, 10:36am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
oermens
Community Member
***
Offline



Posts: 86

Re: how to start a oscillator's phase noise?
Reply #2 - May 4th, 2009, 6:46am
 
If you want to use Cadence spectre to simulate, refer to $MMSIM_HOME/doc/spectreRF/spectreRF.pdf there is a section on simulating oscillators. Also check $MMSIM_HOME/tools/spectre/examples/SpectreRF_workshop/SpectreRF_AN and http://www.doe.carleton.ca/~jlam/oscnoise.pdf. Or see my previous post regarding same question:
http://www.designers-guide.org/Forum/YaBB.pl?num=1228240587/0
Back to top
 
 
View Profile   IP Logged
liletian
Community Member
***
Offline



Posts: 97
MD
Re: how to start a oscillator's phase noise?
Reply #3 - May 4th, 2009, 8:46am
 
great, is there a similiar topic show how to do it in RFDE?
thanks a lot
oermens wrote on May 4th, 2009, 6:46am:
If you want to use Cadence spectre to simulate, refer to $MMSIM_HOME/doc/spectreRF/spectreRF.pdf there is a section on simulating oscillators. Also check $MMSIM_HOME/tools/spectre/examples/SpectreRF_workshop/SpectreRF_AN and http://www.doe.carleton.ca/~jlam/oscnoise.pdf. Or see my previous post regarding same question:
http://www.designers-guide.org/Forum/YaBB.pl?num=1228240587/0

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



Posts: 1424
Real Homeless
Re: how to start a oscillator's phase noise?
Reply #4 - May 4th, 2009, 9:02am
 
liletian wrote on May 3rd, 2009, 9:01pm:
how to start a oscillator's phase noise?
Still I can't understand what you mean by this sentence.

liletian wrote on May 4th, 2009, 8:46am:
is there a similiar topic show how to do it in RFDE?
See examples prepared for RFDE. They are installed from CIW menu.
http://cp.literature.agilent.com/litweb/pdf/rfde2009/rfdeexamples/intro.html
http://cp.literature.agilent.com/litweb/pdf/rfde2009/rfdeexamples/RFIC_MOS_VCO.h...

http://cp.literature.agilent.com/litweb/pdf/rfde2009/rfde2009.html
http://edocs.soco.agilent.com/display/doc/Home
Back to top
 
« Last Edit: May 4th, 2009, 11:47am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
oermens
Community Member
***
Offline



Posts: 86

Re: how to start a oscillator's phase noise?
Reply #5 - May 4th, 2009, 11:27am
 
pancho_hideboo wrote on May 4th, 2009, 9:02am:
liletian wrote on May 4th, 2009, 8:46am:
is there a similiar topic show how to do it in RFDE?
See examples prepared for RFDE. They are installed from CIW menu.
http://cp.literature.agilent.com/litweb/pdf/rfde2009/rfdeexamples/intro.html
http://cp.literature.agilent.com/litweb/pdf/rfde2009/rfdeexamples/RFIC_MOS_VCO.h...


You can find these and other examples in your local ADS install directory, $HPEESOF_DIR/doc. there are many documents and examples related to RFDE, particularly $HPEESOF_DIR/doc/rfdecktsimhb
Back to top
 
 
View Profile   IP Logged
liletian
Community Member
***
Offline



Posts: 97
MD
Re: how to start a oscillator's phase noise?
Reply #6 - May 5th, 2009, 7:41pm
 
 I set up the simulation for ring oscillator ( same HB setting as in example RFIC_MOS_VCO, they can generate correct frequency, but when they calculate phase noise, it took a long time and generate all <NAN>. My VCO is single end ring oscillator and I choose "oscPort" option, for the noise node, I choose the ring oscillator output and ground.
carrier mixing index
index list 1
the pnmx is <NAN>(invalid), what's the problem?
thank you


Here is the log.
Newton solver:                              
Iter      KCL residual      Damp %      Sol update
------------------------------------------------------------------------------
0.0*      547.964 mA        100.0            
1.0      1.16125 pA        100.0      928.989 pV  
   Frequency = 3.228998509 GHz
   Loop gain = 1.002669399 @    0.00 deg

Fwd I7.V=65.4571 mV     0.01% 2/2  Step=1
0.0*      64.4723 uA        100.0            
1.0      12.5225 uA        100.0            
1.1      4.95779 uA        100.0            
1.2      2.2832 uA        100.0            
1.3      1.06254 uA        100.0            
1.4      487.958 nA        100.0            
1.5      223.439 nA        100.0            
1.6      101.612 nA        100.0            
1.7      45.8034 nA        100.0            
1.8      20.4659 nA        100.0      49.4706 uV  
1.9      9.0671 nA        100.0      21.9079 uV  
1.10      3.99731 nA        100.0      9.63008 uV  
1.11      1.74928 nA        100.0      4.20618 uV  
   Frequency = 2.845147821 GHz
   Loop gain = 1.001724215 @    0.00 deg
   Arclength Newton-Raphson converged at 0.0689305 in 1 iters

Fwd I7.V=189.065 mV     0.02% 2/2  Step=1.414213562
0.0*      506.059 uA        100.0            
1.0      2.26357 A        100.0            
       Samanskii-Newton iteration failed
1.1*      2.26357 A        100.0            
   Frequency = -12.58622406 GHz
   rejected

Fwd I7.V=126.137 mV     0.01% 2/2  Step=0.6734350297
0.0*      193.704 uA        100.0            
1.0      82.4983 uA        100.0            
1.1      38.1963 uA        100.0            
1.2      32.7231 uA        100.0            
1.3      25.455 uA        100.0            
1.4      17.4229 uA        100.0            
1.5      12.0302 uA        100.0            
1.6      8.32103 uA        100.0            
1.7*      6.36713 uA        100.0            
2.0      81.3827 nA        100.0      66.8457 uV  
2.1      1.84204 nA        100.0      1.47335 uV  
   Frequency = 2.481891287 GHz
   Loop gain = 1.000331728 @    0.00 deg
   Arclength Newton-Raphson converged at 0.192002 in 2 iters

Fwd I7.V=295.166 mV     0.03% 2/2  Step=0.6734350297
0.0*      157.776 uA        100.0            
1.0      18.823 uA        100.0            
1.1      12.1386 uA        100.0            
1.2      4.69602 uA        100.0            
1.3      1.87346 uA        100.0            
1.4      643.367 nA        100.0            
1.5      214.562 nA        100.0            
1.6      67.0506 nA        100.0            
1.7      20.3028 nA        100.0      18.7545 uV  
   Frequency = 2.089009625 GHz
   Loop gain = 0.9998665466 @    0.00 deg
   Arclength Newton-Raphson converged at 0.297858 in 1 iters

   Calculating solution at 0.2674891611
0.0      24.4356 uA        100.0            
0.1      4.48504 uA        100.0            
0.2      1.23672 uA        100.0            
0.3      315.379 nA        100.0            
0.4      70.4547 nA        100.0            
0.5      15.7704 nA        100.0            
0.6      3.40399 nA        100.0            
   Frequency = 2.218761936 GHz
   Loop gain = 0.9999720313 @    0.00 deg
   Newton-Raphson converged at 0.2674891611

   Calculating solution at 0.2600632175
0.0      6.03582 uA        100.0            
0.1      1.01545 uA        100.0            
0.2      336.136 nA        100.0            
0.3      99.8599 nA        100.0            
0.4      26.0514 nA        100.0            
0.5      5.88748 nA        100.0            
   Frequency = 2.248423782 GHz
   Loop gain = 1.000000738 @    0.00 deg
   Newton-Raphson converged at 0.2600632175

   sourceLevel=0              0.00% 1/2
0.0*      236.421 mA        100.0            
1.0      386.584 pA        100.0            
1.1      775.893 fA        100.0      921.331 pV  
   Frequency = 2.247686993 GHz

   sourceLevel=1            100.00% 2/2
0.0      81.2609 uA        100.0            
0.1      81.2609 uA        100.0            
       Samanskii-Newton iteration failed
0.2*      81.2609 uA        100.0            
       Newton iteration failed, damping activated
1.0*      8.48896 uA         50.0            
2.0*      40.6305 uA        100.0            
3.0*      2.79309 uA        100.0            
4.0      25.703 nA        100.0            
4.1      506.108 pA        100.0            
4.2      11.6193 pA        100.0      35.6766 nV  


   Final oscillation frequency = 2.262356486 GHz

HB1_NC1 HB1[1] <input.ckt>   noisefreq=1 MHz 1 points
   Refining oscillator solution to improve phase noise accuracy
Warning detected by hpeesofsim during HB analysis `HB1'.
   An HB truncation error may be present.
   o The HB truncation error is due to using a finite order
   (number of harmonics) in the representation of the
   circuit signals.

   Waveform                Trunc error             Tolerance
   ---------------------------------------------------------
   I3.T9.nfet_rf.d         1.911e-05       >       1.369e-06
   VOUT2                   1.906e-05       >       1.369e-06
   I3.T11.pfet_rf.d        1.906e-05       >       1.370e-06
   I3.T9.nfet_rf.b         7.617e-06       >       1.015e-06
   I3.T9.nfet_rf.db        7.401e-06       >       1.018e-06

   o Number of waveforms violating the HB truncation error check:
       59 out of 149 waveforms.
   o Estimated max HB truncation error: 1.911e-05 @ waveform I3.T9.nfet_rf.d .
   o The maximal HB truncation error estimate is greater than the
   achieved tolerance of 1.369e-06 for this waveform.
   o A time-domain plot of plot of the sub! waveform may show the error as
   Gibbs ripples.
   o To reduce the error, increase the order (number of harmonics)
   and re-simulate.
Flushing data (please wait) ...

Resource usage:
 User time                =   612.81 seconds.
 System time              =     1.00 seconds.
 Total CPU time           =   613.81 seconds.
 Stopwatch time           =   629.84 seconds.

 Physical memory used: 0 Bytes.
 Incremental virtual memory (data only) used:  54.6 MBytes.

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



Posts: 1424
Real Homeless
Re: how to start a oscillator's phase noise?
Reply #7 - May 6th, 2009, 9:28am
 
liletian wrote on May 3rd, 2009, 9:01pm:
how to start a oscillator's phase noise?
Still I can't understand what you mean by this sentence.

liletian wrote on May 5th, 2009, 7:41pm:
My VCO is single end ring oscillator and I choose "oscPort" option, for the noise node, I choose the ring oscillator output and ground.
I think your insertion point of "OscPort" is not proper, although I can't understand what you mean by "for the noise node".

First use "OscTest" and confirm oscillation possibilty.
Then proceed to "OscPort".

http://edocs.soco.agilent.com/display/ads2009/OscTest+%28Grounded+Oscillator+Tes...
http://edocs.soco.agilent.com/display/ads2009/OscPort+%28Grounded+Oscillator+Por...

Show me HB_Order and HB_Oversample in your HB Analysis setting.


Back to top
 
 
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.