Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

The Wayback Machine - https://web.archive.org/web/20010110110100/http://hittite.com:80/spurchart/spurcha…

Single-Tone IMD Analysis via the Web:


A Spur Chart Calculator written in Java
By Alex Roetter
and Dave Belliveau

Please note: this paper was published in the November


1997 (Vol. 40, No. 11) issue of
Microwave
Journal magazine .

Introduction
Predicting Intermodulation (IM) products in double-balanced mixers is
critical to designers of
RF and microwave receiving systems. IM products that fall within
the desired output frequency
band of the up or down converter can interfere with system
operation. They can produce false
targets in military systems and unwanted channel
interference in commercial communication
systems. Armed with an efficient means of
identifying IM products during system block diagram
development, system designers can
adjust the system’s component parameters in order to reduce
their deleterious
effects.

It is necessary to be able to accurately predict both the frequency and power levels of
all IM
products below a given order. Though these can be identified and measured using
spectrum
analyzers, this process is time consuming and inefficient. It is more desirable
to be able to
simulate the IM performance of double balanced mixers through software. In
addition to being a
much faster solution, software simulation lends itself to quickly
identifying the exact n by m IM
product with which that the system designer should be
concerned. When measuring the IF port
output, it is not clear which IM spurs result from
which harmonics of the RF or LO frequency.
This information must be manually calculated
and then compared against the measured spectrum
analyzer output to identify spurs.

Using software to approximate mixer IM behavior serves two important functions. First,
it
quickly calculates the frequencies at which spurs will appear. Second, the software can
fairly
accurately predict the power levels of any of these calculated n by m spurs. This
paper describes
a Java-based mixer spur chart calculator that can predict IM products
while running inside a
Web browser on a variety of computing platforms. This program is
freely available from Hittite
Microwave Corporation’s Web site at http://www.hittite.com, and is compatible with any
modern
web browser that supports Java applets.

Frequency Calculation
The job of this simulator is to calculate and display both frequency and power level
information
for a given mixer application. The first set of data, output frequency,
follows from an extremely
simple equation that is easily extensible to deal with
upconverting as well as downconverting
applications. Assuming the mixer is operating in a
down converting mode, the input RF and LO
signals are sent into the mixer on the balanced
R and L ports, respectively. A lower frequency IF
output signal is generated on the I
port. In this case, the frequency of the output signal can be
calculated simply via the
following equation.

FIF = ±mFRF ± nFLO


As an upconverter, the frequency of the IF signal replaces the frequency of the RF
signal in the
equation, yielding an output in the radio frequency band given an
intermediate frequency and
LO input, namely

FRF = ±mFIF ± nFLO

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 1/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

Figure 1 -- A Double Balanced Mixer Schematic

TABLE
I
DEFAULT LEVELS FOR POWER LEVEL
CALCULATION CONSTANTS
d2 0.85
d3 0.95
  d4 1.05
a 0.7
b 0.7
VF 0.3

Power Calculation
Power calculation is a more involved process than frequency calculation. Power level
calculation
has been researched, and equations are available to accurately predict IF
output power levels.1 
However, power levels for spurs are defined
mathematically in a way that makes them difficult
to implement using general purpose
programming languages such as C or Java. In particular,
there exists no portable math
library able to deal with complex mathematical functions such as
indefinite integrals or
the gamma function in Java. Consequently, these equations have been
modified so that they
can be implemented in Java without complex and imprecise integral
approximation
techniques, while still producing the same results as the pure mathematical
definitions.
While the majority of the calculation requires no modification from published
equations,
the gamma function and certain results that depend on the gamma function require
special
attention and modification so that they can be implemented in software.

Power calculation is complicated by several factors, making it less straightforward


than
frequency calculation. The power levels of IM products depend on several
characteristics of the
particular mixer, which are approximated in the simulator with
certain constants. The first factor
we must account for is the fact that each of the four
diodes in the quad-ring may not be exactly
identical, though in an ideal mixer they behave
identically. The voltage drop across any of these
diodes may not be the same as across the
other three. Three constants, d2, d3, d4, are used to
https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 2/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper
express the ratios of voltage drops across the second, third, and fourth diodes
respectively to the
voltage drop across the first diode. (See Figure 1) In addition,
voltages where the L and R port
baluns tie in to the diodes can vary across mixers. To
account for this, we define a to be the ratio
of voltage to
ground at the point where the L port balun ties to the diode, and b
to be that ratio
for the R port balun. In an ideal mixer, all these constants would equal
1.0, though actual values
vary from mixer to mixer. A reasonable set of default values for
d2, d3, d4, a, b
(Figure 2) is
provided by the simulator, as well as the capability for the user to edit
those values. In this way,
the user is able to adapt the output of the Spur Chart
Calculator program to match actual test data
for a particular mixer type. The simulator
makes the approximation that these five values are
constant as a function of frequency, an
approximation that does not seem to affect the accuracy
of computed results. In addition,
because system designers are only concerned with IM products
whose frequency is near that
of the desired IF output, this approximation is especially
appropriate.2

To calculate power levels, one of four beta functions (Boo,


Boe, Beo, Bee) must be used,
depending on whether the particular
spur’s n and m values are even or odd (See equation one in
the appendix).3 
The first subscript of the function indicates whether n is even or odd for the IM
product
being calculated. The second subscript indicates the same for the m (LO factor) value.
The
five constants (d2, d3,
d4, a, b) are then used to calculate the appropriate B
function.

The results from this beta calculation are used to compute the Anm value for
this IM product,
where Anm is an amplitude value as a function of n and m. The
Anm value depends on three
other values, besides the result of the beta
function calculation. First is a beta function result for
the desired IF output (BIF), that is, the spur for which (n = m = 1). This can be
obtained by
calculating Boo when m = 1. The second
factor, Vf, is necessary for the calculation of odd by
even and even by odd
products (odd by odd and even by even products are independent of this
value). Vf
is the ratio of VF (diode forward voltage @ 1mA) to VL (the peak LO
voltage).
Because both of these values are approximate, the resulting Vf value
is merely an approximation
of actual mixer behavior. Hence, results that depend on Vf
(odd by even and even by odd) tend
to be less accurately calculable than are results that
are independent of Vf. The third factor is a
set of functions (goo, goe, geo, gee), with
subscripts identical to the beta functions, which depend
on the mathematical function
gamma (G). The odd-odd function and the even-even function are
identical, as are the even-odd function and the odd-even function. While these four
functions do
not follow directly from the power level calculation equations, they must be
used instead of
calling the function G directly. The need for
these intermediate functions becomes apparent
when we examine the implementation of the
gamma function that this program uses.

TABLE II
LIMITED IMPLEMENTATION OF GAMMA FUNCTION IN ANSI
C

/* The gamma function implemented in c


*  This function only works if z is a value whose decimal
*  portion is .5
*/
double gamma (double z)
{

double b=1.0;
while (z<0)

b / = z;
z++

}
while (z! = 0.5)
https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 3/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

z--;
bo = z;

}
return (bo sqrt (3.14159265358979323846));

Gamma (G) is defined in terms


of an improper integral (see equation two).4 Unfortunately for
software based
simulators, complex mathematical functions needed to implement the gamma
function are not
present in the math libraries of most programming languages, including Java. To
approximate these values, we use an algorithm that only works for certain input values to
gamma. This algorithm, which produces values identical to the mathematical implementation
of
gamma, only works when the argument is any floating point value whose decimal portion
is
equal to 0.5. This restriction is imposed because it allows for an efficient
implementation that is
computable even with the relatively limited math library of most
computer languages. A
program written in a language with more complex math functions, such
as Mathematica5 or
Matlab6, would be able to use the language’s
built in gamma function and not have to implement
its own version.

All that is needed is a method of relating any value z to 0.5, for which gamma is
easily
expressed.

G(0.5) = (p)1/2
To accomplish this, we need another variable b, which has a starting value of 1.0. As
long as the
value z is less than one, we divide b by z and then add one to z. This step is
repeated until z is
positive, at which point we enter another loop. This second loop runs
as long as z is not equal to
0.5. For each iteration of the loop, we subtract one from z
and set b equal to the product of b and
z. As soon as z equals 0.5, we exit this loop and
have found the final result, which is a function
of the current value of b.

G(z) = b * (p)1/2
An implementation of this algorithm in ANSI C can be seen in Figure 3. Note that this
implementation will only return a result if the input value z is in the form z = a + 0.5,
where a is
a positive or negative integer.

Given this albeit limited implementation of gamma, we use the four gamma functions
defined in
equation three (goo, goe,
geo, gee) to
insure that the input we pass into gamma is an acceptable
value, (its decimal portion is
0.5). Once the four values of Vf, BIF, gxx, and Bxx are
computed,
Anm can be calculated by choosing the appropriate equation from the
set shown in equation
four.7 Given the Anm value, one can compute
the IM suppression in dBc as long as the
difference in power level (DP)
between the RF input port and the LO input port (in dBm) is at
least 5 dB (LO > RF), as
illustrated in equation five.8

Using the program


To use the program, the user first enters the desired frequency ranges. In this version,
the LO
input frequency is fixed, and one can sweep over a specified RF input band, and
observe spurs
that come out of a specified IF output band. The RF band is specified by
setting the starting
value RF Low, as well as the highest value to sweep to, RF High. The
user can also specify the
frequency area of interest by bounding that range on the low end
with RF Spec1 and on the high
end with RF Spec2. In this way, the user tells the simulator
what frequencies are actually of
interest in the calculation. The same limits apply to the
IF output. In addition, the user can
specify power levels for the LO and RF ports, and the
maximum values for n and m (the factors
by which the LO and RF frequencies are multiplied
by in calculating the IM suppression
frequencies). In this way, the simulator can be
instructed only to calculate spurs up to a given
order (n + m). All user data is checked
prior to calculation prevent erroneous calculations.

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 4/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper
All entered frequency values must be positive values (in GHz) that continually increase
as they
sweep from RF (IF) Low, through RF (IF) Spec1 and Spec2, to RF (IF) High. As for
power
levels, values can be positive or negative (as measured in dBm), but the RF power
level must be
at least 5 dBm below the LO power level, in order to obtain meaningful
results. Though the n
and m values are only required to be positive integers, as the order
of the spur gets higher, the
modeled data less accurately predicts actual mixer behavior.
These predicted results are
reasonably accurate for n less than or equal to eight and m
less than or equal to four.9

Once all the values are properly entered and verified to be within acceptable ranges,
the user can
click the "calculate" button to begin the simulation. Once the
applet has finished calculating,
spurs are plotted on a 2D graph, with the independent
axis set to RF input frequency, and the
dependent axis set to IF output frequency (See
Figure 4 for a screen shot of the program). The
frequency area of interest is drawn in the
graph as a rectangle bounding the specified RF and IF
frequency values. The engineer using
this tool has to be concerned only with lines that intersect
the area of this rectangle,
assuming they are of sufficiently high power to be able to interfere
with the desired
output.

The user can click on any line on the graph to view more information about the
particular spur
that that line represents. The user is presented with a pop-up window
displaying the RF and IF
frequency values at the point on the line that was selected. In
addition, this window shows the
order of the spur, in n by m terms, and its suppression in
dBc. Power level, however, is not a
function of input frequency, and remains constant as
the user clicks on different portions of the
spur line.

Upconversion vs. Downconversion


By default, this simulator operates in downconverting mode, with RF and LO ports operating
as
input ports, and a lower frequency signal leaving the mixer from the IF port. As an
upconverter,
mixers operate in reverse, with the RF port emitting a high frequency output,
and the IF port
receiving a lower frequency input. For certain RF and LO frequency values
and n by m pairs, the
procedure outlined above for calculating downconverted spur
frequency will calculate an IF
frequency that is higher than the RF input frequency for
given values of n and m. Because power
level calculation is mathematically identical for
both upconversion and downconversion, these
results can be interpreted as upconversion,
provided that the designer makes a note that
references to the RF input and IF output
ports must be reversed. For example, given an RF input
value of 18.25 GHz and an LO
frequency of 11.53 GHz, letting n = 5 and m = -2, one calculates
an IF frequency of:

FIF = (-2 * 18.25) + (5 * 11.53) =


21.15

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 5/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

Figure 2 -- The mixer spur chart calculator typical


screen
Spur Chart Calculator Program in Action

This yields the surprising result of an IF output frequency higher than


the RF input. In this case,
the input frequency can be interpreted as being on the IF port
and the calculated spur can be
interpreted as being on the output RF port, meaning that
the mixer is operating in an
upconverting mode from Finput (if) = 18.25 and Foutput
(rf) = 21.15. In effect, we switch the labels
on the input and output ports, and the
result is a normal upconverting operation. Note that in
both cases, the LO port remains an
input port.

Because the simulator calculates upconverted products as it iterates through all


possible (n, m)
combinations, it is legitimate to enter values into the text fields that
allow the user to view these
products. By entering IF frequencies (which are really output
frequencies) that are higher than
the RF frequencies (the input frequencies), the
simulator will display the results of its operation
as an upconverter. In this case, the
input frequencies will still be displayed on the x-axis, and
output frequencies on the
y-axis. The x-axis will be labeled as RF input, but it can be interpreted
as IF input if
the frequency values on that axis are lower than the values on the y-axis, which
becomes
the RF output.

The advantage to this setup is that it allows the simulator to operate in upconverting
and
downconverting mode simultaneously. For example, if the user enters an RF input band
of 2-
10GHz, and an IF output band of 4-5 GHz, the program will display all IM products,
for the
entire input band, without having to run the test twice, once as a downconverter
and once as an
upconverter. Since the mathematical calculations are the same in both modes
of operation, the
program can do both calculations at once, and leave the user to
interpret the results as being
either upconversion or downconversion, depending on the
frequencies of the RF and IF ports.

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 6/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

Case Study
To test the accuracy of this simulator, data taken from the Hittite HMC175MS8 was compared
against calculated spur values. The 175MS8 is a miniature double-balanced mixer featuring
an
extremely small SMT package and a zero DC bias requirement. RF and LO operation ranges
from 1.7 to 3.4 GHz. The IF port operates from DC to 1.0 GHz. For this comparison, the
mixer
was operated as a downconverter, with the LO at 1.8 GHz at 13dBm. The RF port was
stepped
from 1.7 GHz to 3.2 GHz at 5 dBm. The IF output from 100 MHz to 1 GHz was
recorded, and
compared against predicted spurs in the same frequency range. Twenty spurs,
ranging from
fourth order to eleventh order, were recorded. The simulator was operated
with all the constants
set to their default values. The HMC175MS8 features excellent
suppression performance, and
the simulation was run to compare how well actual mixer
suppression compared against the
predicted power levels for IM products. This comparison
found for the twenty measured spurs
that the mixer performed significantly better than
what was predicted for seventeen of those
spurs. In addition, for the three cases where
the actual mixer IM suppression was at a higher
level than predicted, it was within 1.25
dBm of the calculated values for two of those cases.
Figure 5 shows the data for this test
of the Hittite mixer.

TABLE III
HMC175MS8 IM PRODUCT DATA*+
Modeled Measured D
RF IF
N M IF Power IF Power Power
(MHz) (MHz) (dB)
(dBc) (dBc)
2 -2 1700 200 -47.33 -48.00 -0.67
3 -3 1700 300 -34.36 -44.50 -10.14
4 -4 1700 400 -68.08 -63.50 4.58
-4 4 1950 600 -68.08 -66.83 1.23
-3 3 1950 450 -34.36 -56.60 -22.24
-2 2 1950 300 -47.33 -53.00 -5.67
5 -4 2210 160 -45.76 -74.00 -28.24
4 -3 2210 570 -39.09 -59.00 -19.91
3 -2 2210 980 -33.03 -52.00 -18.97
-5 4 2380 520 -45.76 -74.50 -28.74
6 -4 2550 600 -60.70 -67.50 -6.80
-4 3 2550 450 -39.90 -63.17 -24.08
5 -3 2890 330 -29.93 -49.17 -19.24
2 -1 2890 710 -28.55 -27.83 0.72
-6 4 2890 760 -60.70 -72.50 -11.80
7 -4 3060 360 -36.31 -60.50 -24.19
-3 2 2890 380 -33.03 -49.10 -16.07
4 -2 3200 800 -47.33 -58.00 -10.67
-5 3 3060 180 -29.93 -43.17 -13.24
-7 4 3200 200 -36.21 -60.00 -23.79
All data taken
with fixed LO of 13 dBm at 1800 MHz
Rf swept from 1700 to 3200 MHz at 5 dBm

Though the simulator is initially set up with a default set of constant


values, a user will want to
modify these values to get the simulator output closer to the
measured data for a particular mixer
design. Knowledge of actual mixer design /
performance is useful in approximating these values.
First off, as mixers become more
integrated and diodes are closer and closer together on the
same chip, it becomes more and
more likely that these diodes will behave identically to one
another. As a result, modern
mixers will tend to have delta values that are all closer to 1.0 than
the values of their
discrete predecessors. In addition, alpha and beta values can be calculated
given the
measured L and R balun isolation values for the mixer (according to equation six).10
 
Note that balun isolation is a function of frequency. Therefore, the isolation
values used to
approximate alpha and beta must be chosen after the frequency range for the
simulation is
known.

Conclusion
This spur calculator can be useful to engineers designing systems that utilize
double-balanced
https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 7/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper
mixers as either upconverters or downconverters. If IM products exist at
frequencies near the
desired IF (or RF) output, those spurs can possibly be confused with
the desired signal, and
inhibit proper operation of the system. This tool is useful for
system designers to calculate spurs
to determine if there is a potential problem in their
application. It should be noted that this
calculator, and other software tools, is based
on mathematical equations that describe ideal
theoretical behavior, and can not always
produce completely accurate results in complete
agreement with measured data. To overcome
this limitation, this calculator implements user
editable constants to allow for better
modeling against actual IM measurements. This calculator
was developed for widespread use
within the RF/Microwave engineering community, and your
feedback is welcomed at spurchart@hittite.com.

1. B. C. Henderson, "Reliably Predict Mixer IM Suppression," Microwaves


and RF, Vol. 22,
No.12 Nov. 1983.

2. Henderson, ibid.

3. Henderson, ibid.

4. Abramowitz, M. and Stegun, I. A. ed., Handbook of Mathematical Functions, U.S.


Department of Commerce National Bureau of Standards, Tenth Printing, 1972, p.255.

5. Mathematica is a product and registered trademark of Wolfram Research.

6. Matlab is a product and trademark of The Mathworks, Inc.

7. Henderson, ibid.

8. Henderson, ibid.

9. Henderson, ibid.

10. Henderson, ibid.

Appendix A: Power Calculation Equations


Beta Functions:

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 8/9
9/14/21, 3:10 PM Hittite - Mixer Spur Chart Calculator Paper

Gamma Functions:

Amplitude Values:

IM Supression:

In order to obtain meaningful results, the LO popwer should be at least 5


dB greater than the RF
power level.

L and R Balun Isolation:

L - balun isolation = 20log(1-a)


R - balun isolation = 20log(1-b)

ABOUT HITTITE MICROWAVE |  | WHAT'S NEW | ON-LINE CATALOG | CUSTOM MMIC PRODUCTS &


SERVICES | APPLICATION NOTES | MIXER SPUR CHART CALCULATOR | S-PARAMETER
DATA | EMPLOYMENT OPPORTUNITIES | CONTACT US

©
2000, Hittite Microwave Corp.

Updated: 01/08/01 03:19:38 PM.

https://web.archive.org/web/20010110110100/http://hittite.com/spurchart/spurchart_paper.htm 9/9

You might also like