The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 28th, 2024, 12:58am
Pages: 1 2 
Send Topic Print
Why resistors produce so much noise (Read 17385 times)
vp1953
Senior Member
****
Offline



Posts: 172

Why resistors produce so much noise
Sep 07th, 2010, 4:32pm
 
I am running a transient simulation in Cadence Spectre with the tran noise option enabled. Settings are Fmax = 20G, Fmin = 1Mhz (leaving it blank does not make a difference), Noise Seed = 1.

The schematic consists of simply a 50 ohm port left open (I also terminated the port with a capacitor without any improvement at the frequencies of interest). The noise levels associated with the 50 ohm resistor seem huge. In the time domain the noise amplitudes (open circuit voltage) reach a peak of several mV and spectrally there seem to be noise components that have magnitudes of -95 to -105dBm pretty much at all frequencies.

What causes transient noise to produce so much noise?
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Why resistors produce so much noise
Reply #1 - Sep 8th, 2010, 10:20am
 
vp1953 wrote on Sep 7th, 2010, 4:32pm:
In the time domain the noise amplitudes (open circuit voltage) reach a peak of several mV
It is very natural result since you set Fmax = 20G.

Output Noise Voltage density is "4*k*T*R [Vrms2/Hz]" since your output is an open circuit voltage of resistor.

So expected RMS output noise voltage is "sqrt(4*k*T*R*Fmax)=0.13mVrms
However peak voltage could be enough larger than 4*0.13mV=0.52mV

vp1953 wrote on Sep 7th, 2010, 4:32pm:
spectrally there seem to be noise components that have magnitudes of -95 to -105dBm pretty much at all frequencies.
I think you are misunderstanding frequency bin width of FFT results.

vp1953 wrote on Sep 7th, 2010, 4:32pm:
The schematic consists of simply a 50 ohm port left open (I also terminated the port with a capacitor without any improvement at the frequencies of interest).
This is also very natural result.
But time domain amplitude must be smaller.

See attached figures.
I can get reasonable results for both time domain noise and noise spectrum.
Here expected RMS output noise voltage is "sqrt(k*T*R*Fmax)=sqrt(k*290*50*0.5MHz)=0.32uVrms".

"Netlist for Agilent ADSsim" Quote:
simulator lang=spectre
global 0
R1 (vo 0) resistor r=50 isnoisy=yes
R2 (vo 0) resistor r=50 isnoisy=no

simulator lang=ads
Options ResourceUsage=yes Verbose=yes UseNutmegFormat=no TopDesignName="data"

Options:Options1 Temp=16.85 Tnom=27 TopologyCheck=yes GiveAllWarnings=yes \
   MaxWarnings=10

Tran:Tran1 StartTime=0 StopTime=10000u MaxTimeStep=1u IntegMethod=0 Mu=0.5 \
   TimeStepControl=0 ChargeTol=1.0e-14 TruncTol=7.0 LimitStepForTL=yes \
   ImpApprox=no ShortTL_Delay=1.0e-12 ImpMaxPts=4096 ImpRelTrunc=1.0e-4 \
   ImpAbsTrunc=1.0e-7 ImpInterpOrder=1 ImpMode=1 ImpWindow=0 \
   ImpNoncausalLength=32 CheckKCL=yes CheckOnlyDeltaV=yes MaxIters=10 \
   MaxItersDC=200 StatusLevel=2 OutputAllPoints=yes \
   NoiseBandwidth=1/(2*1u) NoiseScale=1 MaxOrder=4 HB_Sol=no HB_Window=no \
   OutputPlan[1]="GlobalOutputPlan" OutputPlan[2]="GlobalInhibitPlan"

OutputPlan:GlobalOutputPlan Type="Output" UseBuiltinRule=no \
   OverrideInhibitRule=no UseNodeNestLevel=yes NodeNestLevel=2 \
   UseCurrentNestLevel=yes CurrentNestLevel=999 \
   UseDeviceCurrentNestLevel=no NodeName[1]="vo"

OutputPlan:GlobalInhibitPlan Type="Inhibit" UseBuiltinRule=no \
   OverrideInhibitRule=no NodeRegExpr[1]="\.net[0-9]+$|^net[0-9]+$"


"Netlist for Cadence Spectre" Quote:
simulator lang=spectre
global 0
R1 (vo 0) resistor r=50 isnoisy=yes
R2 (vo 0) resistor r=50 isnoisy=no

simulatorOptions options temp=16.85 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

tran tran stop=10000u noiseseed=1 noisefmax=1/(2*1u) noisescale=1 \
   maxstep=1u write="spectre.ic" writefinal="spectre.fc" annotate=status \
   maxiters=5

save vo
saveOptions options save=selected

Back to top
« Last Edit: Sep 9th, 2010, 4:04am by pancho_hideboo »  

test_tran_noise.jpg
View Profile WWW Top+Secret Top+Secret   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Why resistors produce so much noise
Reply #2 - Sep 8th, 2010, 6:35pm
 
I recommend that you walk through the numbers. If you still think the noise is high, post your analysis and let people comment on it. That way if your making a mistake or a poor assumption, people can point the problem out.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
vp1953
Senior Member
****
Offline



Posts: 172

Re: Why resistors produce so much noise
Reply #3 - Sep 20th, 2010, 6:45pm
 
Hi Pancho,

Thank you for the detailed explanation. I had missed seeing your post earlier.

I think the issue is large resolved but one thing I still need to check was : that when i did a dft for the time domain noise after running for a long time, there was a significant 1/f noise component - I need to verify this again just to make sure that I did not make any mistakes.
Back to top
 
 
View Profile   IP Logged
raja.cedt
Senior Fellow
******
Offline



Posts: 1516
Germany
Re: Why resistors produce so much noise
Reply #4 - Sep 24th, 2010, 12:53am
 
hi vp1953,
sorry for the diversion in this post, i want to check the resister noise in transient simulation like you. For that i have kept 50ohm resister connected to a 1v dc voltage source. I did transient simulation with transient noise enabled. Option in transient noise is noiseseen=1and noisefmax=20M. But in the waveform i am not seeing any noise only dc current is coming but expected is expected is with noise. I am expecting some options i am missing. So please explain whats wrong.

Thanks.
Back to top
 
 
View Profile WWW raja.sekhar86   IP Logged
vp1953
Senior Member
****
Offline



Posts: 172

Re: Why resistors produce so much noise
Reply #5 - Sep 24th, 2010, 5:05pm
 
Hi Raja,

IN your schematic  - one end of the resistor is connected to DC supply an the other end to gnd? In this case you will not see any noise since both ends of the resistor are tightly clamped to fixed voltages.

connect the resistor to the dc source and leave the other end of the resistor open; now probe the voltage on the open end of the resistor to see the noise. Alternatively look at the setup Pancho has in one of the figures in this thread.
Back to top
 
 
View Profile   IP Logged
vp1953
Senior Member
****
Offline



Posts: 172

Re: Why resistors produce so much noise
Reply #6 - Sep 25th, 2010, 9:25am
 
Hi Pancho

Quote:
No, noise should be included in observed current.


let me clarify - if a resistor is connected between a dc voltage source (ideal with 0 source resistance) and gnd, then no noise voltage will be seen. A noise current will be there as you say

Now the odd thing is that just as Raja says I dont see any noise current as well for the above case - something odd about Spectre?
Back to top
 
 
View Profile   IP Logged
vp1953
Senior Member
****
Offline



Posts: 172

Re: Why resistors produce so much noise
Reply #7 - Sep 26th, 2010, 10:13am
 
Hi Pancho,

Which effective resistance is zero? If the resistor is modeled as a resistor with a noise current source in parallel (as you stated), then there should be a noise current measured.

Just curious as to why the temperature for your simulation is 16.85?
Back to top
 
 
View Profile   IP Logged
raja.cedt
Senior Fellow
******
Offline



Posts: 1516
Germany
Re: Why resistors produce so much noise
Reply #8 - Sep 26th, 2010, 10:42pm
 
hi vp1953,
i did simulation with setup as you told. Please find the attached schematic. even though i have opened the one end of the resister i am not able to get the noise, still i am getting dc values. Could you please check my options in transient analysis. or please tell me how to get those noise as you shown in the above post (with dc as well as noise.)

@pancho_hideboo,
i have one basic doubt in simulations, while doing normal transient analysis on some block like op amp will the simulator  adds all device noise and give results or with out noise it will give? and in the above post in the resister schematic whats that " trise=isnoisy=yes"

Thanks for your time.
Back to top
 
 
View Profile WWW raja.sekhar86   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: Why resistors produce so much noise
Reply #9 - Sep 27th, 2010, 2:02am
 
Raja,

 Try using probes. select AC terminal currents --> yes
               in ADE Outputs --> Save All --> yes
               in Spectre netlist, saveOptions options useprobes=yes

                                                        Best Regards,

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



Posts: 1424
Real Homeless
Re: Why resistors produce so much noise
Reply #10 - Sep 27th, 2010, 4:28am
 
vp1953 wrote on Sep 25th, 2010, 9:25am:
Now the odd thing is that just as Raja says I dont see any noise current as well for the above case
- something odd about Spectre?
Being different from you and Raja, I can surely see noise current even for R2=0 or vdc=0 in both conventional small signal noise analysis and transient noise analysis of Cadence Spectre.
And its value is almost coincident to theoretically expected value.

Show me your netlist.

But conventional small signal noise analysis of Cadence Spectre results in error when resistor value is zero,
regardless of http://www.designers-guide.org/Forum/YaBB.pl?num=1236837379/10#10. Quote:
******************************************************
Noise Analysis `noise': freq = 1 GHz, r2 = (0 -> 50)
******************************************************

Internal error found in spectre during DC solution estimation, during DC analysis, during Noise analysis `noise'.  Please run `getSpectreFiles' or send the netlist, the spectre log file, the behavioral model files, and any other information that can help identify the problem to support@cadence.com.
   FATAL (SPECTRE-18): Segmentation fault.

On the other hand, there is no error even for R2=0 in both Agilent GoldenGate and Synopsys HSPICE.
Only Cadence Spectre can not run for R2=0.
See the followings.
http://www.designers-guide.org/Forum/YaBB.pl?num=1236837379/8#8
http://www.designers-guide.org/Forum/YaBB.pl?num=1236837379/11#11
http://www.designers-guide.org/Forum/YaBB.pl?num=1236837379/18#18
pancho_hideboo wrote on Mar 22nd, 2009, 8:52pm:
Andrew Beckett wrote on Mar 20th, 2009, 2:19pm:
Hopefully my response is a little more polite than some of the responses in this thread  ;)
I'm always very honest. Cheesy

If I replace R2=0 with vdc=0, Cadence Spectre can give same noise value as R2=0.

Transient Noise Analysis of Cadence Spectre can run even for R2=0, although conventional small signal noise analysis of Cadence Spectre results in error.

Netlist Quote:
// Generated for: spectre
// Generated on: Sep 27 18:58:15 2010
// Design library name: My_RFDE_Test
// Design cell name: test_Resistor_Noise
// Design view name: schematic
simulator lang=spectre
global 0
parameters r1=50 r2=50

// Library name: My_RFDE_Test
// Cell name: test_Resistor_Noise
// View name: schematic
IPRB0 (net015 net023) iprobe
H0 (Inoise 0) ccvs rm=1 probe=IPRB0
Vdummy (net06 0) vsource dc=1 mag=1 type=dc
Rdummy (net06 0) resistor r=50 isnoisy=no dtemp=-289.999
R1 (net023 0) resistor r=r1 isnoisy=yes
R2 (net015 0) resistor r=r2 isnoisy=no dtemp=-289.999
R10 (Inoise 0) resistor r=1T isnoisy=no dtemp=-289.999

simulatorOptions options temp=16.85 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

tran tran stop=10000u noiseseed=1 noisefmax=1/(2*1u) noisescale=1 \
   maxstep=1u write="spectre.ic" writefinal="spectre.fc" annotate=status \
   maxiters=5

noise ( Inoise 0 ) noise freq=1G param=r2 start=0.5 stop=50 lin=1 \
   values=[0 5] annotate=status

designParamVals info what=parameters where=rawfile
saveOptions options save=selected pwr=none


Attached figure is a schematic of test bench.
Here extra blocks and extra parameters are included for accomodation of Synopsys HSPICE and Agilent GoldenGate.
Back to top
« Last Edit: Sep 27th, 2010, 8:23am by pancho_hideboo »  

test_Resistor_Noise.png
View Profile WWW Top+Secret Top+Secret   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Why resistors produce so much noise
Reply #11 - Sep 27th, 2010, 4:33am
 
Plots of results.

Noise current[Arms2] values are evaluated as RMS2 from results of Transient Noise Analysis.
Back to top
 

test_Resistor_Noise_Out.png
View Profile WWW Top+Secret Top+Secret   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: Why resistors produce so much noise
Reply #12 - Sep 27th, 2010, 4:39am
 
This is a summary.

raja.cedt wrote on Sep 26th, 2010, 10:42pm:
i have one basic doubt in simulations,
while doing normal transient analysis on some block like op amp will the simulator  adds all device noise
and give results or with out noise it will give?
I can't understand what you want to mean.

raja.cedt wrote on Sep 26th, 2010, 10:42pm:
and in the above post in the resister schematic whats that " trise=isnoisy=yes"
I can't understand what you want to mean.
Back to top
 

Summary_001.png
View Profile WWW Top+Secret Top+Secret   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: Why resistors produce so much noise
Reply #13 - Sep 27th, 2010, 6:08am
 
raja.cedt wrote on Sep 26th, 2010, 10:42pm:
@pancho_hideboo,
i have one basic doubt in simulations, while doing normal transient analysis on some block like op amp will the simulator  adds all device noise and give results or with out noise it will give?


Normal transient analysis does not include any noise; you can do transient noise or small-signal (ac) noise analysis.



Quote:
and in the above post in the resister schematic whats that " trise=isnoisy=yes"


Pancho's schematic interface has been set up so that certain instance parameters are displayed in the schematic for easy visibility.  "trise=" looks like no value was specified for trise, which I assume means "trise=0", the device will be simulated at the circuit temperature.   isnoisy=yes means the device will have noise in noise analyses; isnoisy=no can be used in noise figure simulations, where you want certain resistors in the testbench not to contribute to the output noise (easier to do this than try to subtract out that noise later).
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
vp1953
Senior Member
****
Offline



Posts: 172

Re: Why resistors produce so much noise
Reply #14 - Sep 28th, 2010, 5:08pm
 
Hi Pancho,

In you analysis, can you take out R2 altogether (and not set it to 0) - and have a non-zero voltage source connected across a noisy resistor with one end of the resistor and voltage source connected to ground.

Do you get zero noise current in Cadence Spectre transient noise analysis? If yes, why is this?
Back to top
 
 
View Profile   IP Logged
Pages: 1 2 
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.