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. (http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11670194 )
Below are three scenarios I'll consider:
Circuit has sinusoidal voltage and current waveforms:
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
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. (http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11670194 )
- 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 http://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!