Subject: why no HB convergence, even with good Transient_HB solution guess file (TAHB approach) ?

My application is a power amplifier with strongly non-linear elements. I am using a 2_Tone excitation: a pure sinusoidal carrier signal at frequency Frf = 1.88 GHz, and a purely sinusoidal modulating signal at frequency Fmod = 2 MHz, combined to generate a simple AM envelope signal as input, to be amplified by the amplifier. I have not been able to get Harmonic Balance to converge by itself, even though I believe I have tried all hints & suggestions I found in ADS documentation.

I am trying the TAHB (Transient followed by HB) approach. I managed to get a Transient analysis to converge to what I believe is a stable and steady state solution. I used Start/Stop to capture the 4 last cycles of the low frequency 2MHz envelope. The key parameters I used for Transient simulation are:

- TimeStepControl = Fixed

- MaxTimeStep = 1/(10*10*Frf) â€¦ i.e. 10 points for the 10th harmonic of highest frequency

- Start= 200 ns, Stop =2200 ns, â€¦i.e. to capture 4 cycles of the 2MHz (previous Transient showed that steady state is reached before 200 ns)

I also specified a HB solution with these parameters:

- MaxOrder = 6; Order of Frf: Freq[1]= 10; Order of Fmod: Freq[2]= 7; For the Transient simulation to converge (and to avoid ringing & divergence) I had necessarily to use: Integration_Gear_order=1, TimeStepControl=Fixed . And setting Local_Trunc_error_factor = 70 (10 times the default), and reducing Charge_accuracy to 1e-12 and specifying Connect_nodes_to_GND_via_GMIN has probably helped Transient convergence as well.

The Transient plot shows a perfect time domain solution, with the 4 distorted envelope peaks at equal amplitude (indicating steady state), and all voltages across the circuit very close to the values where they should be. So I performed HB simulation using this HB solution as an initial guess file, without any change in circuit topology & values, with exactly the same frequency definition of sources & amplitude values, same MaxOrder/Orders (6_10_7 as above), hence all conditions absolutely identical as in Transient, but HB still does not converge. The messages still points to suggestions like changing preconditioner, doubling fundamental oversampling, etcâ€¦ until try TAHB, so it looks like the Transient_HB solution is not helping at all in my case ?

I would appreciate a lot any suggestion that might not be in the documentation, or not obvious, about what more can be done to help HB converge, when an apparently good Transient_HB solution is used as an initial guess. Thanks a lot.

My application is a power amplifier with strongly non-linear elements. I am using a 2_Tone excitation: a pure sinusoidal carrier signal at frequency Frf = 1.88 GHz, and a purely sinusoidal modulating signal at frequency Fmod = 2 MHz, combined to generate a simple AM envelope signal as input, to be amplified by the amplifier. I have not been able to get Harmonic Balance to converge by itself, even though I believe I have tried all hints & suggestions I found in ADS documentation.

I am trying the TAHB (Transient followed by HB) approach. I managed to get a Transient analysis to converge to what I believe is a stable and steady state solution. I used Start/Stop to capture the 4 last cycles of the low frequency 2MHz envelope. The key parameters I used for Transient simulation are:

- TimeStepControl = Fixed

- MaxTimeStep = 1/(10*10*Frf) â€¦ i.e. 10 points for the 10th harmonic of highest frequency

- Start= 200 ns, Stop =2200 ns, â€¦i.e. to capture 4 cycles of the 2MHz (previous Transient showed that steady state is reached before 200 ns)

I also specified a HB solution with these parameters:

- MaxOrder = 6; Order of Frf: Freq[1]= 10; Order of Fmod: Freq[2]= 7; For the Transient simulation to converge (and to avoid ringing & divergence) I had necessarily to use: Integration_Gear_order=1, TimeStepControl=Fixed . And setting Local_Trunc_error_factor = 70 (10 times the default), and reducing Charge_accuracy to 1e-12 and specifying Connect_nodes_to_GND_via_GMIN has probably helped Transient convergence as well.

The Transient plot shows a perfect time domain solution, with the 4 distorted envelope peaks at equal amplitude (indicating steady state), and all voltages across the circuit very close to the values where they should be. So I performed HB simulation using this HB solution as an initial guess file, without any change in circuit topology & values, with exactly the same frequency definition of sources & amplitude values, same MaxOrder/Orders (6_10_7 as above), hence all conditions absolutely identical as in Transient, but HB still does not converge. The messages still points to suggestions like changing preconditioner, doubling fundamental oversampling, etcâ€¦ until try TAHB, so it looks like the Transient_HB solution is not helping at all in my case ?

I would appreciate a lot any suggestion that might not be in the documentation, or not obvious, about what more can be done to help HB converge, when an apparently good Transient_HB solution is used as an initial guess. Thanks a lot.

The next step would be to increase the power and make sure that the higher order Harmonics and Intermods stay in "check" (meaning low in comparison with the fundaamental ones). You may find yourself adjusting these numbers as you increase the power. Always look that the higher order Harmonics and Intermod products stay low which in most cases means that the even higher order ones do not contribute significantly to the solution. In essence what we are looking for is that we have enough Fourier components in the analysis to solve it with a good degree of accuracy.

Another possibility is to use the solution of a lower power level as an initial guess to help convergence or to use a Power sweep to help convergence.