• 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. Blocker Noise Figure / Reciprocal Mixing Noise test using...

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 64
  • Views 16349
  • 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

Blocker Noise Figure / Reciprocal Mixing Noise test using SpectreRF (MMSIM14)

RFStuff
RFStuff over 10 years ago

Dear All,

I want to see/simulate how a close in blocker affects my receiver noise in the presence of LO-phase noise.

I provide a square LO to my receiver Mixer and a Blocker at the receiver input.

May be I have to model the LO phase noise in Verilog-A & then do a Pnoise analysis. ( But beat frequency reduces quite considerably with respect to LO frequency because of close in Blocker )

Can anybody please comment and give suggestion how to do this type of simulation efficiently in SpectreRF  ?


Kind Regards,

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

    This is potentially quite a big thing to explain in a forum reply, as I may have to explain the whole of SpectreRF ;-) . I'll try to keep it simple though...

    First of all, the difference between shooting and harmonic balance.

    Shooting represents the solution in the time domain by finding a sequence of time points (the spacing of which is influenced by the highest harmonic you ask for, but it follows the signals in the same way that transient does), and ensuring that the period that you're solving for is a complete period. The number of harmonics you request doesn't really affect accuracy (it does to some extent, but it's a secondary effect), and is primarily an output parameter for the analysis. Having found the time domain solution, it can also convert that solution into a frequency domain representation.

    Harmonic Balance represents the solution in the frequency domain as a sum of sinusoids (or cosines), where the length of the series is determined by the number of harmonics you ask for. The number of harmonics you ask for is therefore an input parameter which does affect the accuracy - too few harmonics and the power in the higher harmonics are squeezed (a sort of aliasing effect) into the harmonics you requested - so this impacts the accuracy. Having found the solution, it can convert this back into the time domain.

    I won't go into the details of how these algorithms work. However, PSS analysis treats the solution in terms of a single common frequency - so if you have multiple tones, you have to simulate over one period of the common frequency (the greatest common divisor of the frequencies). If the ratio of this common frequency (the PSS fundamental) to the highest of the tones, then it is expensive as you need to simulate lots of periods. With harmonic balance, you really shouldn't simulate multi-tone circuits with PSS - instead you should use a multi-tone analysis.

    For multi-tone analyses, you have either the hb analysis or qpss analysis. The hb  analysis is either a single-tone harmonic balance, or a multi-tone harmonic balance - depending on how many tones you enter. The idea is that each tone can specify a number of harmonics for that individual tone, and the analysis computes the harmonic combinations of each tone. So if you ask for n harmonics of f1 and m harmonics of f2, you'll get the harmonic combinations of (-n...0...n)*f1+(-m...0...m)*f2 output. This is good for the case where f1 and f2 are not harmonically related at all, or are very closely spaced. It also allows you to have more harmonics for one (more nonlinear) tone than another (more linear) tone.

    The qpss analysis is similar, except it can work in either shooting or harmonic balance mode. In harmonic balance mode, it's essentially the same as a multi-tone hb analysis. In shooting mode, it's a "mixed-frequency-time" algorithm, where one signal is simulated in the time domain (the most non-linear), and other signals are represented in the frequency domain (as a harmonic series). In practice however, except in a few applications with a highly non-linear clock signal plus a single weakly non-linear signal input, shooting QPSS is usually less efficient than harmonic balance (it's a bit more complicated than that, but I can't give a 4 day SpectreRF course here...)

    So, you could run an hb analysis with 50 (or an appropriate number of harmonics - i.e one where you have enough to adequately represent the nonlinearity) for the square-ish tone, and some smaller number for the other. You don't want to ask for too many harmonics though, because that will slow things down - it's a tradeoff. The good news is that in recent IC/MMSIM combinations (it's been there for a few MMSIM releases), there is an "auto" mode which will pick the harmonics for the first (typically the most nonlinear) tone automatically by doing a short time-domain simulation and picking an appropriate number of harmonics. That avoids you having to spend too long thinking about it!

    There are tutorials in <MMSIMinstDir>/tools/spectre/examples/SpectreRF_workshop (rfworkshop.tar.gz or something like that - I'm off the network at the moment) to talk through this in more detail (doesn't explain the theory, but gives some typical applications). There's also the Spectre RF Theory manual too.

    Hope this helps. It was longer than I intended!

    Kind Regards,

    Andrew..

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    This is potentially quite a big thing to explain in a forum reply, as I may have to explain the whole of SpectreRF ;-) . I'll try to keep it simple though...

    First of all, the difference between shooting and harmonic balance.

    Shooting represents the solution in the time domain by finding a sequence of time points (the spacing of which is influenced by the highest harmonic you ask for, but it follows the signals in the same way that transient does), and ensuring that the period that you're solving for is a complete period. The number of harmonics you request doesn't really affect accuracy (it does to some extent, but it's a secondary effect), and is primarily an output parameter for the analysis. Having found the time domain solution, it can also convert that solution into a frequency domain representation.

    Harmonic Balance represents the solution in the frequency domain as a sum of sinusoids (or cosines), where the length of the series is determined by the number of harmonics you ask for. The number of harmonics you ask for is therefore an input parameter which does affect the accuracy - too few harmonics and the power in the higher harmonics are squeezed (a sort of aliasing effect) into the harmonics you requested - so this impacts the accuracy. Having found the solution, it can convert this back into the time domain.

    I won't go into the details of how these algorithms work. However, PSS analysis treats the solution in terms of a single common frequency - so if you have multiple tones, you have to simulate over one period of the common frequency (the greatest common divisor of the frequencies). If the ratio of this common frequency (the PSS fundamental) to the highest of the tones, then it is expensive as you need to simulate lots of periods. With harmonic balance, you really shouldn't simulate multi-tone circuits with PSS - instead you should use a multi-tone analysis.

    For multi-tone analyses, you have either the hb analysis or qpss analysis. The hb  analysis is either a single-tone harmonic balance, or a multi-tone harmonic balance - depending on how many tones you enter. The idea is that each tone can specify a number of harmonics for that individual tone, and the analysis computes the harmonic combinations of each tone. So if you ask for n harmonics of f1 and m harmonics of f2, you'll get the harmonic combinations of (-n...0...n)*f1+(-m...0...m)*f2 output. This is good for the case where f1 and f2 are not harmonically related at all, or are very closely spaced. It also allows you to have more harmonics for one (more nonlinear) tone than another (more linear) tone.

    The qpss analysis is similar, except it can work in either shooting or harmonic balance mode. In harmonic balance mode, it's essentially the same as a multi-tone hb analysis. In shooting mode, it's a "mixed-frequency-time" algorithm, where one signal is simulated in the time domain (the most non-linear), and other signals are represented in the frequency domain (as a harmonic series). In practice however, except in a few applications with a highly non-linear clock signal plus a single weakly non-linear signal input, shooting QPSS is usually less efficient than harmonic balance (it's a bit more complicated than that, but I can't give a 4 day SpectreRF course here...)

    So, you could run an hb analysis with 50 (or an appropriate number of harmonics - i.e one where you have enough to adequately represent the nonlinearity) for the square-ish tone, and some smaller number for the other. You don't want to ask for too many harmonics though, because that will slow things down - it's a tradeoff. The good news is that in recent IC/MMSIM combinations (it's been there for a few MMSIM releases), there is an "auto" mode which will pick the harmonics for the first (typically the most nonlinear) tone automatically by doing a short time-domain simulation and picking an appropriate number of harmonics. That avoids you having to spend too long thinking about it!

    There are tutorials in <MMSIMinstDir>/tools/spectre/examples/SpectreRF_workshop (rfworkshop.tar.gz or something like that - I'm off the network at the moment) to talk through this in more detail (doesn't explain the theory, but gives some typical applications). There's also the Spectre RF Theory manual too.

    Hope this helps. It was longer than I intended!

    Kind Regards,

    Andrew..

    • 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