• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • RF Design
  • :
  • Guidelines for Maximizing Speed vs Accuracy for Harmonic…

RF Design Blogs

Tawna
Tawna
1 Nov 2011
Subscriptions

Get email delivery of the Cadence blog featured here

  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • Life at Cadence
  • The India Circuit
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles

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

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

Tags:
  • 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 |