• 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. Blogs
  2. RF Engineering
  3. Guidelines for Maximizing Speed vs Accuracy for Harmonic…
Tawna
Tawna

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials
RF
RF Simulation
analog/RF
HB
Spectre RF
ADE-L
MMSIM
Virtuoso Spectre Simulator GXL
RF spectre spectreRF
Virtuoso Spectre Simulator XL
spectreRF
RF design
harmonic balance

Guidelines for Maximizing Speed vs Accuracy for Harmonic Balance - Part 2

1 Nov 2011 • 3 minute read

I am often asked for guidelines on maximizing speed vs. accuracy for SpectreRF harmonic balance simulations. 

Today, I'll discuss part 2 of the 3 part series consisting of:

  • Which Engine:  Spectre or APS?
  • Oversample vs Number of Harmonics
  • Harmonic Trimming 

The first post in this series focused on the "which engine" question. 

Another aspect of speed vs accuracy in Harmonic Balance Simulations is specifying the number of harmonics and the value of oversample.  

Note:  You may also want to look at Solution 11670194 Guidelines for setting "Oversample vs Number of Harmonics" in Harmonic Balance simulation.  (https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nTyDEAU&pageName=ArticleContent )

Below are three scenarios I'll consider:

  • Circuit with sinusoidal voltage and current waveforms
  • Circuit with sinusoidal input but has some non-sinusoidal currents (for example) in the circuit 
  • Circuit with square wave input or signals generated in the circuit are digital-like
Circuit has sinusoidal voltage and current waveforms:

If your circuit has sinusoidal voltage and current waveforms, start with setting oversample=1

  •  As a starting point for the number of harmonics...If the circuit:
    • operates below the compression point, choose 3 harmonics.
    • operates near the compression point, choose 5 harmonics.   
    • operates above the compression point, choose 7 harmonics.
  • Run your first simulation and make your measurement (e.g. IP3).
  • Increase the number of harmonics by 50%, e.g.
    • If you started at 3 harmonics, increase to 5 harmonics,
    • If you started at 5 harmonics, increase to 7,
    • If you started at 7 harmonics, increase to 10, etc.
  • Re-run the simulation and replot the measurement.
  • If the result changes, increase the number of harmonics by 50%, re-run the simulation, and replot the measurement.
  • Keep incrementing until you get stable results. Then you know your answer is accurate.


Circuit has a sinusoidal input but currents are non-sinusoidal:

If your circuit has a sinusoidal input but currents (for example) in the circuit are non-sinusoidal -- say in the case of a diode mixer, you can still use harmonic balance, but you need to use considerably more harmonics.

  • As a start, choose 25 harmonics and set oversample to 4.
  • Simulate and plot your measurement.
  • Increase oversample to 8. (oversample should be a power of 2, since the FFT-IFFT requires a "power of 2" samples)
  • Re-simulate and plot your measurement.
  • If the results stay the same, keep oversample at 4. If they change, you may want to use oversample=8 and increase the harmonics by 50% and resimulate.


Circuit contains square waves or digital-like signals

If your input is a square wave or signals generated in the circuit are digital (e.g. mixer + divider)... as mentioned above, see Solution 11670194 Guidelines for setting "Oversample vs Number of Harmonics" in Harmonic Balance simulation. (https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nTyDEAU&pageName=ArticleContent )

  • If you have square waves in your circuit, use transient analysis to calculate period of the harmonics divided by risetime. Set this as the number of harmonics. Set oversample to 1 and run the simulation.
  • Next change oversample to 2, and re-run the simulation. If the measurement you want has changed significantly (this is ultimately determined by the designer, but a guideline you can use is about 0.2 dB) then increase oversample to 4, and re-simulate.
  • If the measurement result changes again, increase oversample to 8. If it changes again, increase the number of harmonics.
  • Keep incrementing the number of harmonics until you get a stable result.

In general, the more non-sinusoidal the waveform, the higher you need to set oversample. Typically for "sharp" edges use oversample=8. For "rounded" edges, use oversample=4.

Finally, some circuits just do not play well with Harmonic Balance.  Extremely nonlinear (but periodic) circuits may be better suited for the Shooting Newton engine.

For more tips like this, please visit https://support.cadence.com/. Please note that you must be a Cadence Customer on Maintenance to access this website .

Stay tuned....next time I'll talk about Knob 3....Harmonic Trimming!

Best regards,

Tawna


CDNS - RequestDemo

Have a question? Need more information?

Contact Us

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

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