• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. sideband in PNOISE vs harmonic in PSS

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 125
  • Views 9550
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

sideband in PNOISE vs harmonic in PSS

StanleyChe
StanleyChe over 1 year ago

I don't understand why # of sideband in PNOISE would ever be higher than # of harmonics setting in PSS. For example, if I set harmonics=4 in PSS and run PNOISE simulation, I will at most see sideband (relative harmonic setting) of -4, -3, -2, -1, absolute, 1, 2, 3, 4 by keeping maximum sideband=4. What does it mean if I set maximum sideband=8, for example, in PNOISE in this case? 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    If you are using PSS with shooting, then you certainly can exceed the number of harmonics in the PSS. It's an output parameter of PSS in that case and controls the number of harmonics saved from the PSS. It does affect the number of time points (once the number of PSS harmonics exceeds 10, because it controls maxacfreq which is set to 4*max(maxharms,10)*PSSfund - in practice this means that your pnoise can go up to 4*max(maxharms,10) without you having to do anything special. This is because with shooting it's time-domain based and the time domain data is there to support higher numbers of sidebands in the small-signal analyses.

    If you're using harmonic balance though (either through hb or PSS) then the maxsidebands can't exceed the number of harmonics in the hb/pss analysis. They're not in the hb frequency-domain solution, so they can't be there in the small-signal analysis.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    If you are using PSS with shooting, then you certainly can exceed the number of harmonics in the PSS. It's an output parameter of PSS in that case and controls the number of harmonics saved from the PSS. It does affect the number of time points (once the number of PSS harmonics exceeds 10, because it controls maxacfreq which is set to 4*max(maxharms,10)*PSSfund - in practice this means that your pnoise can go up to 4*max(maxharms,10) without you having to do anything special. This is because with shooting it's time-domain based and the time domain data is there to support higher numbers of sidebands in the small-signal analyses.

    If you're using harmonic balance though (either through hb or PSS) then the maxsidebands can't exceed the number of harmonics in the hb/pss analysis. They're not in the hb frequency-domain solution, so they can't be there in the small-signal analysis.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • StanleyChe
    StanleyChe over 1 year ago in reply to Andrew Beckett

    I have a feeling this is a very rudimentary misunderstanding on my part. Let's say I set the # of harmonics=4 in PSS. After PSS is achieved, I plot the PSS spectrum of any node in the circuit, I definitely only see 4 harmonics. Then, when I start running PNOISE, shouldn't the device noise simply get upconverted to 4 harmonics to produce 4 sidebands? I can see that there can be more harmonics of interest in PSS "output" based on my stimulus, but if I set harmonic=4 and only see 4 harmonics in any node in the PSS spectrum, doesn't that say that I have only 4 harmonics to work with in my subsequent small signal analysis? Does SpectreRF internally keep more harmonics (ie. more time points to an equivalence of 4*max(maxharms,10)) than that specified, though only 4 harmonics are shown in PSS spectrum? Thanks again.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to StanleyChe

    PSS shooting (and the subsequent small-signal analyses) are time-domain methods.The algorithm ensures that there are enough timepoints in the shooting interval to ensure good spectral accuracy up to maxacfreq (4*max(maxharms,10)*PSSfund) - by ensuring at least 5 points per period of maxacfreq (strictly only 2 would be needed for Nyquist). This happens even if you set the PSS harmonics to 0 because you still get 5 points per period of 40*PSSfund.

    The timepoints in the PSS are also used in the small-signal analyses (pnoise, pac, pxf etc). It doesn't "internally keep more harmonics", but since the same time points found in the large-signal analysis are used for the small-signal analyses, you're well-covered for high numbers of sidebands compared with the PSS (at least up to 4*max(maxharms,10)).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StanleyChe
    StanleyChe over 1 year ago in reply to Andrew Beckett

    Andrew, I must be misunderstanding the meaning of "sideband". I think I follow what you are saying but my question is actually on the plotting of "PSS spectrum". Maybe I will use a sim to demonstrate. I am simulating a driver. Input clock is a vpulse at 50MHz and I just want to see the spectrum of the output (at the 4th inverter output: vcoout)

    My PSS setup is set to harmonics=4:

    After simulation, I open the plot result menu of PSS and select Sweep=spectrum

    I select the vcoout node and the following plot is returned. There are just 4 harmonics shown: DC, 50MHz, 100MHz, 150MHz which seems to say that PSS output only has 4 harmonics saved. If there is actually finer time step because small signal freq can be ran up to 20*max(maxharms,10)*Fund/2 (/2 for nyquist), why isn't Cadence showing more harmonics in the spectrum?

    Also, it seems to me that # of sideband in subsequent sim is very critical to first making sure harmonics in PSS is set properly. Let's say if I request an outrageous number of sideband in PNOISE sim, the result could be bogus, not because PNOISE sim setup is wrong. It would be because PSS was set incorrectly and did not provide enough data?  

    Lastly, the setting "# of sideband" in PNOISE seems to be confusing. It seems to set the maxacfreq. When I think of sideband, I think of the result of modulating baseband noise by a certain harmonic # in the system, eg. 16th sideband is device noise getting modulated to the 16th harmonic?

    Could you please comment again? 

    Thx again.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to StanleyChe

    It doesn’t plot more harmonics because you only asked it to output 4. Why would it output more than that if you didn’t ask it to? As I said, it’s an output parameter and it takes time to generate the harmonics (not much for small numbers) and data storage to write the frequency domain output database. If you plot the time waveform then you’ll see there are many points (at least 200) in the time interval. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StanleyChe
    StanleyChe over 1 year ago in reply to Andrew Beckett

    This goes back to my earlier question. Because SpectreRF keeps more time points than the 4 harmonics required so there are obviously more higher freq data available. This is like sampling a waveform with finer time resolution; hence, there should be information to higher frequency in the spectrum. Is SpectreRF not displaying more freq content because only 4 harmonics were requested even though IT IS ABLE TO? Am I wrong to think the simulation mechanism like sampling/FFT? This question is relevant because it helps me to understand the definition of "sideband" which is set in PNOISE. Thanks again.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to StanleyChe
    StanleyChe said:
    Is SpectreRF not displaying more freq content because only 4 harmonics were requested though IT IS ABLE TO?

    Yes. Computing the additional harmonics and storing them in the output database doesn't come for free - so if you don't need to plot them, then you don't need to save them. There's still plenty of time points that pnoise/pac/pxf can use - what matters for that is maxacfreq which ensures sufficient timepoints to get the desired spectral accuracy in the small-signal analyses.

    StanleyChe said:
    Am I wrong to think the simulation mechanism like sampling/FFT?

    It's not sampling, and it's not doing an FFT. It's doing a Fourier analysis which is conceptually similar, but it uses the actually simulation points rather than re-sampling onto a regular grid.

    StanleyChe said:
    This question is relevant because it helps me to understand the definition of "sideband" which is set in PNOISE.

    I'm not entirely sure why, because I already explained that the shooting pnoise analysis is also performed in the time domain - performing a linear simulation using time-varying linearisation at each of the time points produced in the large-signal (shooting PSS) analysis. That's a bit of a tricky concept to understand (and you don't really need to), but suffice to say that you can analyses small-signals frequencies (and contributions in pnoise analysis) up to (at least - sometimes you can go beyond) maxacfreq (i.e. 4*max(maxharms,10)*PSSfund. So your maximum sideband number is normally maxacfreq/PSSfund (in other words, you can increase maxacfreq on the PSS analysis even though you are not saving harmonics). Most of the time you don't need to do this - and simply setting a reasonable maximum harmonic on the PSS is enough and going via the 4*max(maxharms,10) is the easiest approach.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StanleyChe
    StanleyChe over 1 year ago in reply to Andrew Beckett

    Thanks. I think I am understanding you now and understand I don't need to get into trying to understand how small signal is performed based on the periodic steady state. There a few things that still confuse me in the subsequent timeaverage PNOISE simulation setup.

    In the pnoise sim, does it make sense to sweep noise around harmonic=6 if only 4 harmonics were requested in PSS? I received no warning in the log file. Also, does it make sense to be able to sweep freq range up to 1GHz given that maxacfreq saved was 40*50MHz? If so, in the small signal spectrum, should I not expect to see any other harmonics given that I am sweeping across the harmonics kept in PSS (fund=50MHz)?

    Thanks again. Please let me know if this is too much to discuss in this forum but I simply was not able to find answer in the spectreRF manual regardless of how many times I read the PNOISE section. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to StanleyChe

    Using 6 as the relative harmonic is fine - all that does is mean that your noise output is being measured between 6*50M+1 to 6*50M+1G (the 1G is a bit strange - not sure why you're doing that). In practice that's well within the range of the spectral accuracy, so numerically it's OK (whether it actually makes sense is another matter).

    Pnoise computes the input noise (at each noise source) in each of the specified sidebands and then computes the transfer function from that sideband to the output frequency band you've requested (which is pretty wide here, and offset by 300M because of the relative harmonic) and then sums up the noise powers. You will only see a single curve because the sidebands affect the inputs to the noise analysis, not the output band.

    This is probably best handled through customer support (mainly because I don't have the bandwidth for lengthy back-and-forth discussions like this - my responses here are in my fairly limited spare time and the day job tends to get in the way...)

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StanleyChe
    StanleyChe over 1 year ago in reply to Andrew Beckett

    Thanks. I have submitted a case. But for coherency reason, I would like to make a comment so this thread might be useful for others. First all, 1GHz setting is indeed weird. I am only doing that for the purpose of saying we can go up to 40*50M/2. Second of all, I find it inconsistent that in PSS spectrum plotting, I can only see up to 4 harmonics but in PNOISE, it is then ok to see noise output translated to 6th harmonic (I can in theory go up to 40, albeit I need to shrink the output freq sweep, basically relativeHarm+fstop < 40*50M/2?). Doesn't that confuse the user? I will hold my tongue on this thread and ask the rest of the question in the case opened. Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to StanleyChe
    StanleyChe said:
    Second of all, I find it inconsistent that in PSS spectrum plotting, I can only see up to 4 harmonics but in PNOISE, it is then ok to see noise output translated to 6th harmonic (simply because PSS saves enough data, up to 40*fund?). Doesn't that confuse the user?

    No, it's not weird and shouldn't be confusing (although it's clearly confusing you). As I keep saying, the number of harmonics in shooting PSS is not an accuracy control - it's to control the number of output harmonics for plotting purposes. For some kinds of circuit (e.g. a switch-cap filter) plotting the harmonics of the clock at various points in the circuit is not very interesting, but the PSS time-domain solution is needed to allow small-signal analyses (e.g pac, pxf, pnoise). This is all because it's a time-domain based approach and the solution is found and represented in the time-domain.

    This is a key difference from harmonic balance where the solution is found and represented in the frequency-domain. In that case the time-domain has to be generated from the frequency-domain with an inverse Fourier transform, and because the frequency-domain solution is used as the basis of the small-signal analyses, the harmonics of the hb do matter for the small-signal analyses.

    We always used to cover this (at least I did) as part of teaching Spectre RF - it may be covered in the current (free) online course material on Cadence Online Support.

    It is actually described in the SpectreRF Theory chapter for PSS too. It says:

    Simulation Accuracy Parameters

    The accuracy of your simulation results depends on your accuracy parameter settings, not on
    the number of harmonics you request. It is recommended that you adjust the accuracy
    parameters using the errpreset parameter settings as described in “The errpreset
    Parameter in PSS Analysis” on page 191.

    A little later it says:

    The maxacfreq parameter automatically adjusts maxstep to reduce errors due to aliasing in
    subsequent periodic small-signal analyses. By default, maxacfreq is four times the
    frequency of the largest harmonic you request, but it is never less than 40 times the
    fundamental.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information