• 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. Two-Tone Harmonic Balance Noise Settings: "Relative Harmonic...

Stats

  • Replies 5
  • Subscribers 131
  • Views 928
  • Members are here 0

Two-Tone Harmonic Balance Noise Settings: "Relative Harmonic" and "Reference Side-Band"

YX202508199356
YX202508199356 1 month ago

I know what "harmonic" is, but I don't know what "relative harmonic" is referring to in the harmonic balance noise (hbnoise) simulation setup form. I know what "sideband" is, but I don't know what "reference sideband" is referring to either. Could someone please help me understand these two settings using a two-tone scenario, like in a mixer? The first tone is the LO frequency freq_lo, and the second tone is the input frequency freq_rf. My output frequency is the lower sideband freq_if = |freq_rf - freq_lo|. In a two-tone hb simulation setup, the "relative harmonic" is two numbers. I used "0 0" and the reference sideband I used "-1 0" seems to produce a close NF number that's comparable to PSS/PNoise result. The PNoise simulation is only one tone. The NF numbers from these two simulations are too far off. It makes me wonder if my hbnoise simulation setup is correct.

  • Cancel
  • Sign in to reply
Parents
  • Andrew Beckett
    Andrew Beckett 1 month ago

    Two definitions:

    1. Relative Harmonic - this is used to make specifying the output sweep easier, and is mostly used with oscillators because the precise frequencies are not known. With an hbnoise analysis, you specify the output frequency band across which you are measuring the noise. If this is a relative harmonic, then it means that you add n*hbFund to the sweep frequencies to specify the actual output frequency, or n1*hbFund1+n2*hbFund2... if there is a vector [n1 n2]. If it's a receiver then this would normally be 0 (or [0 0]) so you might just as well use absolute frequencies - with an oscillator it would normally be 1 or if there's an interferer in a semiautonomous HB it might be [1 0] since your sweep is probably still relative to the oscillator frequency.
    2. Reference Sideband - this is used to determine the frequency that the input signal is at. Given that noise analyses compute the output-referred noise, if you want to compute noise figure, noise factor or input-referred noise, then it needs to know where the signal would come from so that it knows the appropriate gain. If you have just the LO in a mixer and it's a receiver (so the output noise is at baseband) then you'd add n*hbFund to that output frequency sweep to determine the input frequency - hence it would be -1 if the signal is at the lower sideband or +1 if the upper sideband. If there are multiple large tones, then this is a vector n1*hbFund1+n2*hbFund2 etc to add.

    Now, most of the time if you are simulating the noise in a mixer, you wouldn't have a large-signal input (the RF input) at the same time because then you are measuring the noise in the presence of a large signal. That only typically matters if the signal is large enough to saturate the input and cause compression which might alter its noise performance. If you're trying to simulate with the effect of a blocker, then yes, you might have a large signal at the RF input - but the reference sideband wouldn't take that into account (you are not dependent on mixing with this signal to get the small-signal input from the input to the output of the mixer) - so the reference sideband would then be [-1 0] or [1 0].

    I'm a bit confused because you said that the NF numbers are close but then you said they are too far off.

    Anyway, hopefully this helps clarify how this works!

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • YX202508199356
    YX202508199356 20 days ago in reply to Andrew Beckett

    Thank you, Andrew. The labels on the hbnoise tab are a bit confusing. If I understand you correctly, in the hbnoise tab (as shown here), the f(out) is actually the frequency of the large signal, in the case of a mixer, it is the LO frequency (1GHz), the "freq shift" is ... actually I don't know why it is called "freq shift", but the math could work out this way to my RF frequency f(in) = 0 * fLO + 1*fRF, where fRF is my second tone in HB analysis. Is this correct?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • YX202508199356
    YX202508199356 18 days ago in reply to YX202508199356

    Actually, [0 1] is not right, since the NF number is ridiculous. It seems it should be [1 0]. I'm now confused again.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 17 days ago in reply to YX202508199356

    Let me try again. If you are (say) sweeping the output noise frequency between 10M and 150M (for example), then the input frequency corresponding to that would be 10M->150M + ref sideband freq shift. Let's start with one of these frequencies - 10MHz; in that case with an LO your input frequency would be either 1G+10M or 1G-10M. With a vector of [0 1] it would be 1.1G+10M or 1.1G-10M - i.e. it would translate from the output to the input purely by mixing with a large signal RF input and the LO would not be involved at all - in other words it would be an intermodulation product, not the desired input frequency. Hence the vector should be [1 0] if you want the input at 1.01GHz or [-1 0] if the input is supposed to be 990MHz.

    A bit more detail. When you're computing the Noise Figure, that's the ratio of SigIn/NoiseIn to SigOut/NoiseOut. Given that SigOut=gain*SigIn (where gain is the gain from the input frequency to the output frequency), then this ratio becomes:

    (SigIn/NoiseIn) / (SigIn*gain/NoiseOut)

    The SigIn cancels out, and so this is just:

    NoiseOut / (gain*NoiseIn)

    We don't need any signal actually present - we just need to know which gain path is taken to get the signal from the input of the circuit to the output (or in the case of the hbnoise analysis, which vector of input tones gets you back from the output to the input).

    As I said before, you don't need (and generally don't want) a large-signal RF tone in the hb analysis unless that RF tone is large enough to alter the noise (typically this will because it is saturating the circuit by putting the circuit into compression). Unless that's the case, you could disable the RF tone input, have an hb analysis with just the LO, use reference sideband of 1 (or -1) and this will be quicker to simulate.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett 17 days ago in reply to YX202508199356

    Let me try again. If you are (say) sweeping the output noise frequency between 10M and 150M (for example), then the input frequency corresponding to that would be 10M->150M + ref sideband freq shift. Let's start with one of these frequencies - 10MHz; in that case with an LO your input frequency would be either 1G+10M or 1G-10M. With a vector of [0 1] it would be 1.1G+10M or 1.1G-10M - i.e. it would translate from the output to the input purely by mixing with a large signal RF input and the LO would not be involved at all - in other words it would be an intermodulation product, not the desired input frequency. Hence the vector should be [1 0] if you want the input at 1.01GHz or [-1 0] if the input is supposed to be 990MHz.

    A bit more detail. When you're computing the Noise Figure, that's the ratio of SigIn/NoiseIn to SigOut/NoiseOut. Given that SigOut=gain*SigIn (where gain is the gain from the input frequency to the output frequency), then this ratio becomes:

    (SigIn/NoiseIn) / (SigIn*gain/NoiseOut)

    The SigIn cancels out, and so this is just:

    NoiseOut / (gain*NoiseIn)

    We don't need any signal actually present - we just need to know which gain path is taken to get the signal from the input of the circuit to the output (or in the case of the hbnoise analysis, which vector of input tones gets you back from the output to the input).

    As I said before, you don't need (and generally don't want) a large-signal RF tone in the hb analysis unless that RF tone is large enough to alter the noise (typically this will because it is saturating the circuit by putting the circuit into compression). Unless that's the case, you could disable the RF tone input, have an hb analysis with just the LO, use reference sideband of 1 (or -1) and this will be quicker to simulate.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • YX202508199356
    YX202508199356 6 days ago in reply to Andrew Beckett

    Thanks again, Andrew. So, the "frequency shift" is the output frequency range you want to sweep across, and the index [1 0] follows the fundamental tone settings in HB, i.e., the 1st (large, in my case, the LO signal) tone, and 2nd tone. +1 = upper sideband, -1 = lower sideband. Got it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

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

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