The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Dec 7th, 2019, 9:37am
Pages: 1
Send Topic Print
How pnoise is computed (Read 251 times)
scc28x
New Member
*
Offline



Posts: 6

How pnoise is computed
Aug 12th, 2019, 8:49am
 
I have been trying to intuitively understand how pnoise is computed after running a PSS simulation. My grasp is that a circuit is linearized about its periodic operating point when driven by a periodic waveform. During pnoise analysis, the spectrum of the noise sources (provided by device model) is then translated to the output via the transfer function obtained in PSS. As a result, the output noise has the correlation/folding effects of all the noise sources.

My questions is with regard to the following statement in the cadence manual: ...the simulation computes the total time-average noise at an
output over a given frequency range...

Also, in a separate presentation (unfortunately, I forgot the source), it is mentioned that "pnoise computes the time-averaged noise over one period of the periodic steady state".

I have a tough time thinking through what "time-average noise" means. I gather from K. Kundert's "Introduction to RF simulation and its application" that pnoise is similar to a spectral analyzer which computes the time-averaged PSD of one particular node. I understand this in the sense that PSD displayed can be thought of as taking the average of multiple FFT over the span of time in a cyclostationary system to get an idea of noise performance of a system because its PSD is never constant. Is that what "time-average" means in the simulator as well?

If so, why does the simulator need to do time-average? It already has the PSD of the devices provided by the model. Doesn't the simulator just take the PSD and use the PXF to transfer the noise profile to the output? What is actually "time-averaged"? Also, why is it "time-averaged" over the period of the PSS? What does this statement mean?

Any insight is appreciated. Thanks.
Back to top
 
« Last Edit: Aug 12th, 2019, 11:38am by scc28x »  
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2228
Silicon Valley
Re: How pnoise is computed
Reply #1 - Aug 12th, 2019, 11:59am
 
I don't believe that understanding the details of how PNnoise works is helpful in its use. Instead, the important insights come when you understand what you already know, that the circuit is linearized about a periodic operating point and a periodically time-varying representation is created that allows small signal analysis. That is really as deep as you need to go as far as how the analysis works.

I will correct one misconception you have. It is true that PNoise computes the time-average noise, but that is a post-processing step that is used to produce a widely useful result. The underlying analysis does not average the noise. In fact there are many variants of PNoise that do not average the noise or average the noise in specialized ways. Examples include the sampled noise and correlated noise variants.

I encourage you to take a look at Noise in mixers, oscillators, samplers, and logic: an introduction to cyclostationary noise.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
scc28x
New Member
*
Offline



Posts: 6

Re: How pnoise is computed
Reply #2 - Aug 12th, 2019, 12:25pm
 
I found the following thread:
https://designers-guide.org/forum/YaBB.pl?num=1554838519

which is a similar question. Quoting there:
"SpectreRF performs a detailed noise analysis including all correlations, and then presents the time-average of the noise. So the time-averaging only occurs after the noise leaves the circuit and is being processed for display.

This is very analogous to the case where you are observing the noise of a circuit with a spectrum analyzer. The circuit processes the noise including the effect of all correlations, and the result is observed by the spectrum analyzer when then computes the time-average of the noise before displaying it."


Unfortunately, I am still not able to picture what pnoise is doing which is "time-averaging". For example, let's say PSS is obtained at period = 1 second. If we have 1024 data points of system output voltage within 1 second, we will observe 1024 different noise values due to operating point change of the circuit (cyclostationary nature). What is getting time-averaged exactly?

Back to top
 
 
View Profile   IP Logged
scc28x
New Member
*
Offline



Posts: 6

Re: How pnoise is computed
Reply #3 - Aug 12th, 2019, 1:09pm
 
Thanks for your comment, Ken. I read through "An introductory to cyclostationary noise". So when literature says:

When noisetype=sources (older version of ADE) is chosen, the "time-average" of the noise at the output is computed as a spectral density versus frequency.

Does that "time-average" phrase refer specifically to the autocorrelation procedure which is applied to the time-domain noise data?

Essentially, is it similar to the post-processing that we would have to do ourselves after running "transient noise" simulation? That is, to take the fourier transform of the autocorrelation function to obtain the PSD? People refer to this entire routine as "taking time average noise"?

Thanks again.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2228
Silicon Valley
Re: How pnoise is computed
Reply #4 - Aug 12th, 2019, 2:56pm
 
PNoise starts with a PXF analysis on the periodically time varying linear representation of the circuit about it periodic operating point, which is used to compute the transfer functions from every noise source to the output. The output noise is then computed by processing the raw noise sources by these transfer functions and accumulating the resulting output noise. The averaging is effectively done in the frequency domain rather than the time domain, so it is done 'over all time'. The PSS period and time points are only used when constructing the periodically time-varying linear representation. As such, they play no role in the averaging.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
scc28x
New Member
*
Offline



Posts: 6

Re: How pnoise is computed
Reply #5 - Aug 12th, 2019, 4:06pm
 
So, the "time" in noisetype=timeaverage has nothing to do with time domain, but it is referring to averaging of PSD throughout all "times" in the PSS period in freq domain. I understand that now. Thank you.

A more practical question I have about your spectral analyzer analogy: Is it true that PSD in a LTV but cyclostationary system, under a real spectral analyzer, is really like what we should see in PNoise result?

Let's say if I have a very high bandwidth spectral analyzer, will I be seeing the PSD changing as my system operating point is changing?

For example, if I am measuring the PSD of a switched capacitor filter via a spectral analyzer in baseband, and able to slow down the switching frequency dramatically, I suppose I will be seeing two different PSD's at the two different clock phases. In that case, wouldn't the PNoise result be incorrect since it is taking "time-averaged" PSD of the two phases and giving me only one PSD profile?

Thanks again.

Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2228
Silicon Valley
Re: How pnoise is computed
Reply #6 - Aug 12th, 2019, 5:07pm
 
All real spectrum analyzers have a bandwidth. That bandwidth sets the effective averaging period. If the characteristics of the signal are changing at a rate that is above the bandwidth they are averaged, if they change at a rate below the bandwidth, then output of the spectrum analyzer follow the changes.

To see this, imagine you have a high frequency signal generator that turns on and off once a second. If you set the bandwidth of the spectrum analyzer to be significantly above 1Hz, then you will see the signal level displayed by the analyzer pop up and down at a rate of 1Hz.  If you set the bandwidth of the analyzer to be significantly below 1Hz, then you will see an averaged result.  Of course, in this second case the spectrum analyzer updates much more slowly, taking well over 1 second for each update.

With PNoise the effective bandwidth is 0Hz, meaning it is as if the analysis starts averaging before the big bang and continues beyond the heat-death of the universe, and then displays the results.

Thus, I would say you have it backward. It is not the results from PNoise that are inaccurate for slow variations, it is the spectrum analyzer. After all what is promised is the time-average of the result, which is what PNoise provides. The averaging provided by the spectrum analyzer breaks down if the characteristics of the signal are changing slowly.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
scc28x
New Member
*
Offline



Posts: 6

Re: How pnoise is computed
Reply #7 - Aug 12th, 2019, 5:26pm
 
bravo! Wonderful day at work. Appreciate your time.
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2019 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.