• 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. RF Design
  3. HB 2-tone puzzling results - Some basic understanding missing...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 63
  • Views 5107
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

HB 2-tone puzzling results - Some basic understanding missing?

AncisMichele
AncisMichele over 3 years ago

EDITED with results from QPSS on the bottom


HI,

I am doing some basic analyses on a very simple sampling structure and I am having issues getting the same results with TRAN and HB.

I have tried multiple things I am not going to bother you with, but I'd like to ask about a result I'm particularly puzzled by.

The circuit:

(V0 has 1V amplitude)

I obtain what I expect when running TRAN, however I would like to go for more advanced analyses for which a stepping stone would he HB (ideally, HBAC but I couldn't make it work, so I stepped down to a simpler arrangement).

When fRF is offset from fLO by a certain quantity fIF (1MHz in this setup), I thought I'd set HB up with two tones. Since the LO is rapidly switching (it's a square wave), I set it up as the first tone with 15 harmonics, while the input source is just a sine.

I am not interested in all possible frequency mixes, so I use an harmonic selection based on funnel, i.e. I keep all harms of LO but consider only low order products around those harmonics:

I know from theory what I should get which is, for node vx above, a component at fRF, with a certain amplitude.

The TRAN results comfort me in this expectation, as the time domain waveform looks like this:

which is a wave I can apply a DFT to, to reveal its nature of 10GHz wave with a slowly varying envelope on top

(note: there might be aliasing effects in this DFT, I have not checked thoroughly that my setup is correct. However, the gist of the properties is there and voltage amplitudes are "reasonable").

On the other hand, the spectrum out of the HB simulation looks dim:

I then thought to force HB to show me what it calculates for transient values:

and this is where I got the surprise: the input net of the circuit, /net1, the one where V0 is connected, remains at zero during the transient run:

Now, I don't know whether this is just an artifact and not the real culprit here, since if one examines the spectrum of /net1, one does see a spectral line at fRF (10GHz + 1MHz),

so maybe this is just "cosmetics", however it makes me think I am missing some fundamental point here for this type of simulations.

Can you guess what is happening and why I am not able to simulate this circuit properly with HB?

Thanks,

Michele

P.S.

EDIT: I've tried to run QPSS instead of HB:

Here the engine is however shooting, so that might make a difference.

Three points to notice:

1) the simulation takes much longer. I hope I am just overdoing something because this circuit is as simple as it gets. I don't want to think what would happen for something any more resembling to a true circuit.

2) the pss-tran waveform for /net1 keeps at ZERO steady :-( - This probably means I am really missing something fundamental.

3) this time the specturm of vx is as I would expect it. Actually, perfect and without aliasing:

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    The initial transient results from hb/qpss are to be expected, because only the "large" tone (or first tone for hb) are enabled during the initial transient. It would be rather pointless having both enabled, because the purpose of the initial transient is to give a transient assist, and you'd have to simulate over (at least) the common frequency of the tones which would be very slow. So instead the aim is to assist the solving of the first tone, with the second expected to have lower linearity effects.

    Can you please share the input.scs so I can check with the component values you have to make sure I see what you see? Both for your hb and your qpss setups would help.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    I think I know why I'm seeing the effect I'm seeing. It's maybe worth a talk.

    First, thanks for the comment on the HB/QPSS second tone being zero "as to be expected". I am not fully agreeing with the argument that you would otherwise be simulating for a long time because, well, you do decide how long the transient should go by settting the tstab parameter to your liking, posslbly exaclty because you want to see "slow"  effects (although not in full precision).

    I must admit however, although it should be clear from the question, that I am not used to run QPSS or HB with a tran before, so I was expecting from the simulator the same behaviour it displays for a tstab transient in PSS.

    OK, now I know Slight smile

    My current setup does not allow export of files outside the simulation environment unfortunately, I will share a couple of snapshots and I hope you can work with those.

    But prior to that, let me tell you that I did manage to get 'meaningful' results with PAC, which was not the case in the beginning, and I think HB is no different.

    The circuit I am simulating is a 2 phase mixer (positive and negative, 180 deg apart). This type of mixer is sensitive to phase relationship between LO and RF when they are isofrequential. I think this might have to be at the core of the issue.

    When fLO = fRF (isofrequential case), a "cosine based" LO (i.e. symmetric around zero) and an RF sine will give rise to a zero swing at the vx node.

    TRAN and PSS do give the same, correct result.

    In the pic above, the red vx node is virtually zero because of the phase relationship between the LO and the RF tone.

    However, when fRF != fLO, then the 'phase' concept drops altogether and this does not play a role anymore.

    TRAN understands and reflects this, while PSS does not.

    If I rotate the phase of fRF, though, magic happens and now PSS understands the circuit too:

    Still I don't get why TRAN and PSS do not fully agree on the behaviour of such a simple circuit, as one can see that TRAN exhibits a beat at fRF-fLO, as it should be, while PSS does not, neither in the preliminary transient, nor in the final result.

    Also, note that TRAN results are constant vs this phase rotation, PSS are not.

    This, although the beat frequency is set at 1M - maybe because I should then increase the harmonic number? Still, if the beat frequency is (autocalculated) to be 1M, why am I seeing a 10GHz repeating waveform?

    OK, while preparing to send you the netlists, I noticed something that of course changes the whole picture.

    While the above is my input interface, you see two tones and a beat frequency of 1M and all that, this is the corresponding netlist:

    So it looks like it's not simulating the way it is written through the GUI. What am I doing wrong here?

    I think this is the first relevant thing to address.

    However, since we discussed HB so far, here's a result for it vs TRAN, it's same old thing (i.e. not working):

    and its corresponding netlist:

    phase phi = 90 in the last two simulations.

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to AncisMichele

    Michele,

    AncisMichele said:
    First, thanks for the comment on the HB/QPSS second tone being zero "as to be expected". I am not fully agreeing with the argument that you would otherwise be simulating for a long time because, well, you do decide how long the transient should go by settting the tstab parameter to your liking, posslbly exaclty because you want to see "slow"  effects (although not in full precision).

    The tstab is not intended to be for your benefit to observe transient like behaviour. That's what transient analysis is for. The whole point of tstab is to assist the analysis to have a better starting point, and given that the main reason for using a multi-tone harmonic balance or a quasi-periodic steady state analysis is that the frequencies involved are not commensurate and so the beat frequency (for a reasonable size circuit) would make it unfeasibly slow to simulate with PSS (which only simulates over a single common frequency) and having to run that common frequency in the initial transient would rather defeat the major benefit of a multi-tone analysis.

    Anyway, screen shots of parts of the netlist (knowing parameter values would have helped a bit, but screenshots are pretty much useless as I'm not going to re-type in the netlist). I also cannot see any reason why the choose analysis settings wouldn't be reflected in the netlist unless something has gone horribly wrong with the setup and they're being ignored (it seems unlikely to me though as I've not seen this before).

    AncisMichele said:
    This, although the beat frequency is set at 1M - maybe because I should then increase the harmonic number? Still, if the beat frequency is (autocalculated) to be 1M, why am I seeing a 10GHz repeating waveform?

    Increasing the number of harmonics probably won't help much (that would affect the frequency domain results because you'd only be observing 15 harmonics of the common frequency which is not terribly interesting with PSS). The time domain results with PSS should be similar to the transient though.

    AncisMichele said:

    So it looks like it's not simulating the way it is written through the GUI. What am I doing wrong here?

    No idea - as I said above. This seems like a symptom I've not seen before.

    Trying to guess what's wrong without having something to explore around is very hard, especially as you're now looking at something different from the original setup you described. I suggest you contact customer support. 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Thanks Andrew

    I do think something is really going wrong, as I said the GUI and the netlist out of the "view netlist" RMB menu do not agree.

    With that netlist actually simulated, I have no doubt things go completely wrong.

    On the other hand, a RMB on the test and "netlist--> recreate" does bring up a correct one:

    Why that is, is a mistery to me.

    However, with the correct netlist, meaning with the intended simulation parameters for PSS, everything works and simulates as expected.

    Thanks for pointing me to the netlists Andrew, I somehow gave for granted that the GUI was connected to the netlist generator.

    Apparently that was not the case.

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    Thanks Andrew

    I do think something is really going wrong, as I said the GUI and the netlist out of the "view netlist" RMB menu do not agree.

    With that netlist actually simulated, I have no doubt things go completely wrong.

    On the other hand, a RMB on the test and "netlist--> recreate" does bring up a correct one:

    Why that is, is a mistery to me.

    However, with the correct netlist, meaning with the intended simulation parameters for PSS, everything works and simulates as expected.

    Thanks for pointing me to the netlists Andrew, I somehow gave for granted that the GUI was connected to the netlist generator.

    Apparently that was not the case.

    Regards,

    Michele

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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.

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

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