• 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. Blogs
  2. RF Engineering
  3. Tips for Simulating a Transmit Mixer in SpectreRF
Tawna
Tawna

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials
RF
RF Simulation
Spectre RF
ADE-L
Analog Simulation
MMSIM
spectreRF
Spectre
RF design
harmonic balance
mixer

Tips for Simulating a Transmit Mixer in SpectreRF

10 Mar 2011 • 8 minute read

Some typical questions that I receive from newer SpectreRF users are:

  • How do I simulate a transmit mixer?
  • How do I look at both upper and lower sidebands?  
  • How do I set up my simulation for PAC and Pnoise?
  • When I plot my data, how do the indexes correspond with the sidebands?

Hopefully the following will help you understand how to do this! 

Okay, say you have a transmit mixer.  Your IF is 40MHz and your LO is 5.4GHz.

 

blog_mixer_schematic.jpg

 

1. First, let's look at the mixing product above the carrier:  5.4G+40M

 

If you are running PAC or Pnoise, you set the IF sourcetype to dc so that the LO is the only sinusoid in the system (Edit Properties on your IF port in the schematic). Since the input for this example is sinusoidal, we will choose Harmonic Balance. 

 

Set up a pss analysis:

 

For more information about when to choose Shooting Newton vs. Harmonic Balance, see Solution 11310266.

 

Set up the Choosing Analysis Form as follows:

 

Beat frequency= 5.4G
oversample=2
number of harmonics=5
errpreset=moderate or conservative.

 

For more information on how to set number of harmonics and oversample, please see Solution 11670194.

 

blog_pss.jpg

 

Next, set up your pnoise analysis.

 

Here you are specifying an output frequency sweep. Note that by default, the sweeptype is absolute. We want to do a relative sweep, so change the sweeptype to relative and make it relative to the first harmonic. So, we are sweeping output frequency relative to first harmonic from 10K to 100M.

 

In the example, a log sweep was chosen, with 100 steps. (Note: In practice, 20 steps is probably enough...100 steps may be overkill and will just extend the simulation run time). Set maxsidebands to 5 (same as you had in the pss analysis), choose output voltage (select positive and negative output nets), input source -- port, and select your IF source.

 

The reference sideband is calculated from:|f(in)| = |f(out) + refsideband*PSSfund|

 

When you do your sweep, your output frequency will range from 5.4G+10K to 5.4G+100M.

 

Let's look at one point: 40M refsideband=(fin-fout)/PSSfund= [40M - (5.4G+40M)]/5.4G = -1.

And if you choose "Select from list" in your pnoise Choosing Analyses form, you will see the lower sideband frequencies will be 10K-100M which is the -1 ref sideband. The point is..."Select from List" is your friend. It's easier to use than calculating the reference sideband.

 

 blog_pnoise.jpg

 

For PAC analysis:

 

In PAC analysis, we are specifying the input frequency sweep.

 

Set sweeptype to default (absolute)

Start/stop 10K to 100M, sweeptype log, 100 steps .

f(out) = f(in) + refsideband*PSSfund = 40M + refsideband*5.4G

40M - 5.4G = 5360M (-1)

40M + 5.4G = 5440M (+1)

 

If we want out output to be 5440M, then we choose the +1 PAC refsideband.  In the select from range, that is 5.40001G to 5.5G sweep. Remember:  you are specifying an INPUT frequency range in the PAC Choosing Analyses form.

 

When sweeping output frequency relative to first harmonic from 10K to 100M, you are sweeping from 5.4G +10K to 5.4G+100M.

 

blog_pac.jpg

 

2. Next, let's look at the mixing product below the carrier: 5.4G-40M.

 

Remember you are specifying an OUTPUT frequency range in the Pnoise Choosing Analyses form. So, If your output frequency is 5360M (i.e. you are taking the output product on the low side of the LO), then the reference sideband will also be -1. The reference sideband will be:  refsideband=[40M -(5.36G+40M)]/5.4G = -1.  Again, the "Select from List" is your friend.

 

Here you would set up the Choosing Analyses form slightly differently (because of limitations in our form).

 

It would be nice if you could do a log sweep from -10K to -100M with sweeptype=relative, but you cannot at this time. So, you need to do an absolute sweep from 5.3G to 5399.99M.

 

blog_pnoise2.jpg

3.  Finally, if you wanted to look at both the upper and lower sideband information...

 

Sweep from 5.3G to 5.5G as shown in the Choosing Analyses form below. You still choose the -1 reference sideband. Here the frequencies are 100M, 100M. It really should be -100M to 100M.

 

(We take out the minus sign to make the form less confusing. It makes sense for a receive mixer, but for a transmit mixer, it adds to the confusion factor.)

 

If you think about it, when you subtract 5.4G (The LO and PSS frequency) from 5.3G (The start frequency) you get -100M.

 

Note that I have changed this to a linear sweep with 101 points. The reason I didn't use 100 points is because if exactly 5.4M is taken in the pnoise analysis, a warning will be produced that the 1/f noise is being ignored.

 

 blog_pnoise3.jpg

 

4.  Setting up the Direct Plot form for Pnoise Separation

You run your simulation and you want to know how to set up the Direct Plot form for Pnoise analysis. When you plot pnoise separation, keep the following in mind.

 

These two are probably the most useful things to look at:

·        Sideband Output plots the noise contribution of selected sidebands to the output.

·        Instance Output plots the noise contribution of some instances such as MOS, BJT etc to the output at one selected sideband.

 

These 4 are a bit more esoteric:

·        Instance Source plots the noise sources of some instances at one selected sideband.

·        Source Output plots the noise contribution of primary noise source such as re, rb in a BJT to the output at one selected sideband.

·        Primary Source plots the primary noise sources such as re, rb in a BJT at one selected sideband.

·        Src. Noise Gain plots the noise gains of primary noise sources such as re, rb in a BJT from source to output at one selected sideband.

 

Note that ViVA/wavescan doesn't tell you which sideband has been plotted. Once you plot the sideband, you need to label it (or remember the order). In your pnoise form, choose select from list and go from 0 Hz to 20G. So, now you may be wondering, "Which sideband should I choose?"

 

  • The zero sideband (0 in the Direct Plot form) is the noise contribution with no frequency conversion. If you take the middle of the frequency range, this is the noise that makes it to the output at 5.4GHz from the noise that exists at 5.4GHz.
  • -1 in the Direct Plot form for Pnoise separation means that the noise frequency moves down by -1 times the PSS frequency of 5.4GHz.

5.4GHz (The center of the output frequency range) minus 5.4GHz =  0 (zero) Hertz. The noise frequencies from -100M to 100M mix up to the output from 5.3G to 5.5G.  This is the one you want.

  • +1 in the Direct Plot form means that you take the frequency on the form (5.4GHz in the center, and upshift it by +1 times the PSS frequency. Noise near 5.4G+5.4G=10.8G mixes down to the output frequency.

blog_directplot.jpg

 

For more tips and tutorials like this, please log into Cadence Online Support (support.cadence.com) .

 

Have fun simulating!

 

Best Regards,

Tawna

 


CDNS - RequestDemo

Have a question? Need more information?

Contact Us

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

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