Get email delivery of the Cadence blog featured here
Some typical questions that I receive from newer SpectreRF users are:
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.
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.4Goversample=2number of harmonics=5errpreset=moderate or conservative.
For more information on how to set number of harmonics and oversample, please see Solution 11670194.
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.
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.
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.
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.
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?"
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.
For more tips and tutorials like this, please log into Cadence Online Support (support.cadence.com) .
Have fun simulating!
Very Helpfull for me. Thanks
Hi VJP, Please see the MMSIM13.1 SpectreRF User Guide, Appendix A. There is a more up-to-date (and better) example (documentation and workshop plus database) of simulating a transmit mixer. Best regards, Tawna
Hello Tawna: Could you please report all the component (analogLib) and veriloga (rfLib/mixer) parameter values for the testbench? Perhaps the full netlist would be an easy attachment?
Please see this blog post for more information on the example workshops in the SpectreRF User Guide. www.cadence.com/.../spectrerf-tutorials-and-appnotes-shhhh-we-have-a-new-best-kept-secret.aspx
Please post questions to the general RF community rather than commenting on a specific blog that is from the past. You will get help much more quickly -and- more people will likely see your question. For detailed information and training on the tool, I recommend contacting customer support at http://support.cadence.com. For examples on designing mixers with accompanying databases, please see Appendix A of the SpectreRF User Guide in MMSIM12.1.1 or 13.1. Best regards -- Tawna
I want to design a mixer with specific circuit but I have some problem .
Can you help me?