Circuit Mason‎ > ‎Advanced Topics‎ > ‎

Lesson 9: Lossless Taper Design


Combiners are used in a lot of different circuits, this particular style of combiner has been used successfully in several antenna array circuits. This style of combiner has two particular features that can be advantageous:

  1. It has a built-in approximation to a cosine-style taper without adding loss

  2. It has not dependent on having a power-of-two number of elements

Section 1: Circuit Analysis

This design features around 60 parts. Rather than spend time creating the circuit, please download the design at: The parts are already placed (but the variable block and optimization block are missing).

A typical way to build in a cosine taper is to add attenuators and use loss to create the taper. However, adding 6-10dB of attenuator loss on the edges can impact the noise figure even if the loss is added after an LNA. By reducing the number of resistive elements, contributions from Johnson–Nyquist noise can be reduced. A relatively small amount of attenuation could be added to improve the taper.

Another benefit is decoupling the size of the array from hitting a power-of-two number which is convenient for traditional Wilkinson feed structures. Three-way Wilkinson combiners are sometimes option, but often have performance and fabrication issues. When physical size is a constraint, this can help decouple the size of the antenna elements and the overall size of the antenna array from a power-of-two corporate feed structure.   

Figure 9.1: 12-way lossless taper overview

This page will go through the steps to make a six-way combiner using Mason, to highlight the technique and some of the features of Mason. If desired, additional microstrip lengths could be added to make the combiner end at the antenna element period, but here we will image we are going to connectors. The combiner is made up of a series of Wilkinson combiners and “through” lengths.

Figure 9.2: Layout of the 6-way "lossless" taper combiner (automatically generated with Mason)

Frequency and Flags
The first thing we will do is set up the frequency and the flags for this run. The major point to note is the PADS-ASCII flag has been set, so we will generate a PADS Layout file at the end of the run.

Figure 9.3: Frequency and Flag settings

Microstrip Properties
Because we are using microstrip lines, we need to define the microstrip properties using one of the mason_microstrip library components, specifically "Microstrip: Properties". Here we can set parameters like the dielectric properties and the dielectric height.

Figure 9.4: Microstrip Properties

In order to have a consistent design, we need to use the variable blocks to control the physical properties of the various Wilkinson dividers. Each variable can be fixed, or can have optimization and statistics parameters associated with them. Here, we are using the concept of sets to simplify our design process.

Consider that this problem has two sets of orthogonal design criteria: the performance of the Wilkinsons for match and isolation, and the phase matching of the edge elements (which do not go through as many Wilkinsons) to the center feeds. It is undesirable to optimize for both at the same times, since the optimizer could play shenanigans by tweaking line widths to adjust phase matching... which can lead the optimizer to a sub-optimal local minimum.

By using sets, we can separate those variables that are associated with match and isolation from those variables that equalize the line lengths.

Figure 9.5: Variable block for the design

In practice, calculations are often used to make sure the geometry of the design works out. Here, I am adding some additional line length to the Wilkinson in order to make sure the appropriate gap for the resistor is maintained. Additional calculations could be used to ensure the Wilkinson feed points ended at the same periodic spacing as the antenna elements.


Figure 9.6: Calculation block for the design

Three optimizers are specified in the optimizer block below; each optimizer is considered a "set". The first two calculations are associated with the first optimizer (set="1"). The last calculation is associated with the last two optimizers (set="2 3"). In the variable block above, variables have been associated with either the first simplex optimizer, or with the random and second simplex optimizer.

Therefore, three optimizations will be run. The first simplex optimizer will allow W_Wilk2, W_Wilk3, L_90deg, and R_Wilk2 to vary, and will use the 20*log10() evaluations defined below to rate the merit of the design. The second and third optimizers will fix to the best values found of W_Wilk2, W_Wilk3, L_90deg, and R_Wilk2, and will allow l_comp to vary using the arg() evaluation defined below to rate the merit of the design.

Figure 9.7: Optimization block for the design

The full circuit is too large to fit on the page, but the first stage of the Wilkinson in displayed in order to show what at least part of the circuit looks like in Mason, plus to show how the L_extend calculation is used (in TL62 and TL66).

Figure 9.8: Single stage Wilkinson design

Be advised, such a large circuit does take longer to simulate.   

This circuit has been roughly optimized with relatively little effort for decent match and phase balance. It is by no means optimal, but rather is just meant to show techniques.

Figure 9.9: Amplitude balance and input impedance plotted


9.1: This type of circuit changes with frequency. Change the simulation frequency from 6.8GHz – 7.2 GHz to a higher set of frequencies: 9.5GHz- 10 GHz (and turn off the optimizer by changing “_Opt1” to “_NoOpt1”). What does the performance look like.

9.2: Adjust the variables that control the lengths of the line (the variable “L_90deg” and all of the “R_Wilk2” variables). Try just using the optimizer.

9.3: Considering the relationship between the change in the frequency and the change in line length, adjust the variables that control the lengths of the line manually (the variable “L_90deg” and all of the “R_Wilk2” variables). Try making the lines 30% smaller. What happened?

Main Point

There are a lot of different circuits out there, using the right circuit for the job is much more important than optimization. But, when optimizing, or really, any time you are letting a machine do the thinking for you, extreme care must be exercised. When we tried to shift the desired frequency of operation using the optimizer in Question 2, we saw no improvement. This is because the answer was so bad at the 9.5GHz – 10GHz band, that there was no clear path to a good answer. By applying just a little thought, however, we can manually make better decisions than the optimizer.

An alternative to thinking is to use an optimizer that provides some randomness, such as “random” or the “genetic” algorithm. These methods take longer than a simplex, but are more likely to converge to a good results. Combining a “random” optimizer followed by a “simplex”, or a “genetic” optimizer followed by a “simplex”, provides the best of both worlds.