The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Oct 4th, 2024, 4:09pm
Pages: 1 2 
Send Topic Print
How pnoise is computed (Read 1752 times)
Slater
New Member
*
Offline



Posts: 4
California
Re: How pnoise is computed
Reply #15 - Jan 29th, 2020, 2:44pm
 
Thank you so much Ken. One last question, appreciate your patience.

So PSTB only uses the transfer function that corresponds to when the input and output are the same frequency (sideband 0). Is there a particular reason for this? Intuitively, it seems like the logical choice and I don't have anything against it, but I haven't found any literature that says why sideband 0 is used.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: How pnoise is computed
Reply #16 - Jan 29th, 2020, 7:18pm
 
PSTB uses the zero sideband because you are interested in loop gain. Loop gain needs the input and output to be the same point at the same frequency.
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #17 - Oct 15th, 2020, 1:21pm
 
Ken Kundert wrote on Jan 27th, 2020, 11:42pm:
In the context of this thread, the averaging occurs over time. Specifically, in a noise analysis the noise is averaged over a clock cycle.

For my understanding I like to propose a thought experiment:
Say I would only have access to the output of PSS and sampled Pnoise analyses; what should I do to arrive at the corresponding time-average noise?
(Possibly combining something like: pnoise noisetype=timedomain noiseskipcount=0 with the corresponding PSS step sizes? Or is the sampling process filtering too much?)
Back to top
 
« Last Edit: Oct 15th, 2020, 2:22pm by Paul Geraedts »  
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: How pnoise is computed
Reply #18 - Oct 15th, 2020, 3:40pm
 
I feel like this is a trick question, but here we go ...

The time average noise is the noise power averaged over the period. So you would integrate the noise power over the cycle and then divide by the length of the cycle.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #19 - Oct 16th, 2020, 1:18am
 
No trick question; More that I feel confident with the matter to a certain degree, but still miss that part that allows me to put it into practice. To be able to play with the matter, I mean. And feel confident.

Say that I request sampled Pnoise for the noise output at consecutive time points t1, t2, .. along the PSS cycle. Next, I could try to accumulate these noise outputs with the goal to come up with the corresponding time-average noise, but my question is: how should I do this? (I can imagine that the correlation between these separate noise outputs plays a role. I can also imagine that the sampling process itself already filters too much of the data that I need.)

So in short, would I be able to translate the output of sampled Pnoise analysis to the output of time-average Pnoise analysis? (Is it possible in theory and if so, could I access the required data?)
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: How pnoise is computed
Reply #20 - Oct 16th, 2020, 5:42pm
 
No, you just average them. You just have to do it using power or power spectral densities.

In stationary noise, there is one type of correlation, correlation over time. That is responsible for coloring in the noise, or a variation in the noise power spectrum over frequency.

In cyclostationary noise there is also correlation over frequency, specifically the modulation frequency. When you sample the noise, you are sampling at the modulation frequency. As a result, the modulation disappears from the sampled output (you are sampling at the same phase of the modulation period, and so the modulation disappears). The resulting sampled noise is stationary, but it is still colored. It is fully represented by a simple power-spectrum.  To get the time-average power spectrum of the entire waveform, you just have to average the power spectrums from each sample point. Of course, if the sample points are not evenly spaced you need to weight them accordingly. This is why I said you integrate the noise spectrums and then divide by the modulation period.

There is a lot of complexity to these calculations, but fortunately most of that complexity is hidden in the simulator and is being used to compute the sampled noise.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #21 - Oct 17th, 2020, 2:01am
 
That clarifies and simplifies a lot! Thank you so much. For some reason I imagined that the sampling process complicated matters instead of simplifying them. I had it backward!

Now, say we have carried out the integration and ended up with a single (time-averaged) PSD. How should I set time-averaged Pnoise analysis to reach a match? (usb, lsb, am or pm*)

I can imagine that to match with the AM and PM options seperately I would have needed to use correlation data over frequency, but what about the total of AM and PM options? And for USB and LSB options, probably I could reach a match with the total of both? Also, do the USB and LSB options result in different PSDs?

*According to the manual [spectre -h pnoise] all of these use single sideband convention, half of the total power.
Back to top
 
« Last Edit: Oct 17th, 2020, 4:41am by Paul Geraedts »  
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: How pnoise is computed
Reply #22 - Oct 17th, 2020, 3:38pm
 
usb, lsb, am or pm: it is not any of those. I think you want noisetype=timeaverage. That is what the simulator is expecting, I don't know how to specify that from the environment.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #23 - Oct 18th, 2020, 3:05am
 
When setting noisetype=timeaverage this setting seems always active and defaults to usb, from [spectre -h pnoise]:
Code:
34      noiseout=usb      Specify noise output. You can set a vector like noiseout=[usb am pm]. And all are using single sideband(SSB) convention, half of the total power. Possible values are usb, lsb, am and pm. 


Back to top
 
 
View Profile   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #24 - Oct 19th, 2020, 11:30pm
 
This text explains recent changes in the Spectre interface: https://community.cadence.com/cadence_blogs_8/b/cic/posts/virtuoso-video-diary-p...

At the same time it does not describe the most recent Spectre (v20.1) interface, from [spectre -h pnoise]:
Code:
22      noisetype=timeaverage      Specifies computation of time-averaged or time-sampled noise information. Possible values are timeaverage, correlations, timedomain, pmjitter and sampled. 



Possibly Andrew could shed some light on this?
Back to top
 
« Last Edit: Oct 20th, 2020, 6:40am by Paul Geraedts »  
View Profile   IP Logged
Paul Geraedts
Community Member
***
Offline

GIGO

Posts: 60
Enschede, Netherlands
Re: How pnoise is computed
Reply #25 - Oct 22nd, 2020, 2:45am
 
Ken,

You are probably right: noisetype=timeaverage should do.

Everything slowly comes back. Thank you for your time.
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: How pnoise is computed
Reply #26 - Nov 14th, 2020, 2:57am
 
Paul Geraedts wrote on Oct 19th, 2020, 11:30pm:
This text explains recent changes in the Spectre interface: https://community.cadence.com/cadence_blogs_8/b/cic/posts/virtuoso-video-diary-p...

At the same time it does not describe the most recent Spectre (v20.1) interface, from [spectre -h pnoise]:
Code:
22      noisetype=timeaverage      Specifies computation of time-averaged or time-sampled noise information. Possible values are timeaverage, correlations, timedomain, pmjitter and sampled. 



Possibly Andrew could shed some light on this?


Sorry for the delay - bit behind on my Designer's Guide posts...

That blog was written before the cleanup of the various modes related to sampling (timedomain, pmjitter). Some of the modes remain for legacy reasons - but the choices that are now used are timeaverage and sampled. The timeaverage mode is pretty much covered in the blog - unfortunately some of the terminology used in the noiseout choice is rather confusing unless you're simulating an oscillator - for driven circuits, most likely the terms usb, lsb, am and pm don't mean so much. Usually you'd want to use "usb" in that case - this is equivalent to the old "sources" mode (mostly people didn't know what "sources" meant either, so that was not great terminology as well) - it's what you'd get on a spectrum analyser and is the easiest to understand. The other modes make more sense when you are (say) simulating the noise around a carrier frequency (e.g. an oscillator output) and you want to observe the noise in the upper sideband, the lower sideband, or find the AM or PM components from the two sidebands. This used to be computed via the "correlations" mode (under the hood from the UI), but it suffered from some accuracy problems (particularly with getting accurate AM noise).

The sampled mode allows you to compute the sampled output noise in various different ways; you can use "Edge Crossing", "Edge Delay" or "Sampled Phase" for the timing event; the first allows you to measure the sampled noise at one node based on a threshold crossing at another node (could be the same node); the Edge Delay allows you to measure the jitter delay between one node and another, and the Sampled Phase is essentially a way to strobe at an arbitrary time or set of times (i.e. the same as the old "timedomain" mode).

Not entirely sure what info you were after - but hopefully that's a high level summary that covers things well enough?

Andrew
Back to top
 
 
View Profile WWW   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.