The results are presented in two parts. The first part describes the function of the buttons of MicroStripOptim, for the analysis and design of filters. In the second part, a plot of a simulated optimized filter obtained from MicroStripOptim is compared with the plot of the same filter simulated with commercial software. In the same manner, the simulation results are compared with the measurements of a microstrip filter constructed on an FR4 PCB board, using the design parameters as produced by the software proposed in this work.
6.1. Filter Analysis with MicroStripOptim
In this section, the main results obtained with the developed app are described. We explain the function of each button embedded in the GUI. In order to illustrate one case of study, the design data inputs shown in
Table 2 are introduced in the edit-boxes in the upper-left side of the GUI.
The first button of the GUI (see
Figure 6), “Scattering” takes the data for filter design (values in
Table 2) from the edit-boxes of the GUI. Then, it computes the widths and lengths of the filter lines. Afterwards, the program applies the steps of
Section 2.3 in order to produce the plot of the scattering parameters. The result of this function is shown in two plots. The first plot (see
Figure 7a) corresponds to the scattering parameters
and
of the filter generated using the data of
Table 2. The second plot,
Figure 7b, shows the derivative of the attenuation,
, given in dB/GHz.
The second button of the GUI is “Print Data”. This function takes the data of
Table 2 from the edit-boxes in the GUI and retrieves a table with many information about the calculated filter.
Figure 8 is an example of the tables retrieved. The table on the left gives information about the filter, like the filter parameters, source impedance,
, limits for
and
, total length, width of the filter, the maximum attenuation and the derivative of maximum attenuation. The table on the right side of
Figure 8 shows the widths and lengths of all the lines of the microstrip, as well as their inductance and capacitance equivalent values.
The third button is “Find Limits”. This button runs the Algorithm 3 to find the minimum value for
and the maximum value for
, named as
and
, respectively. The first action of this button is to compute
and
for the filter type and filter order,
n, set in the edit-boxes (variables shown in
Table 1). Then, the program displays these values in the edit-boxes
and
of the GUI. Following the computation of
and
for the selected filter, the software computes the same parameters for all other filter architectures supported in this version of the program. The results are plotted all together, including the width of the source impedance line,
, in
Figure 9. From this figure some conclusions can be drawn. As a first conclusion, it can be said that, in general, as the order of the filter increases, the limits move away from the value
. The only exception is in the limits of
for the Butterworth—MAXIMALLY FLAT filter, which has its minimum value in the fifth order. On the other hand, the second conclusion appointed is that the value of
, in the case of the Butterworth 0.5 dB and 3 dB filters, is very low, making them infeasible, thus, these two filters are discarded in the next analysis.
From the limit values for the different filters and orders, further inspection can be made. For example, the total physical length,
, of the filter varies with the widths of
and
, observing that the minimum
for some filters is obtained with
and
, whereas the maximum
is obtained with
and
. For each filter, the values
and
are computed using the previous analysis, while
and
are taken by default as 4 mm and 50 mm, respectively, and are obtained from the edit-boxes in the lower-left side of the GUI. The values for
and
were selected considering 4 mm as a feasible thin line for
and considering 50 mm as the widest desirable
. However, the values for
and
can be modified by the user.
Figure 10a shows the values of
and
for the feasible filters, i.e., the Butterworth MAXIMALLY FLAT and the three Chebyshev considered. This plot shows that the Butterworth MAXIMALLY FLAT filter yields a lower
, while the Chebyshev—
= 0.1 dB filter yields greater values of
.
Another important analysis considering the maximal and minimal values for
and
is the variation in
. In this case, the maximum value of
is obtained with
and
, and the minimum value of
is obtained with
and
.
Figure 10b shows a plot of the maximum attenuation for different filter types versus the order,
n. From this figure, it can noticed that the maximum attenuation increases with the order of the filter. By comparing the filters, it can be seen that the Butterworth—MAXIMALLY FLAT filter gives the highest attenuation in the third-order response but gives the least attenuation for higher orders. The filter that reaches the highest attenuation for
is Chebyshev—
dB.
The fourth button of the GUI, “limits vs
”, performs an analysis of the limits for
and
, for one filter with the characteristics expressed in the GUI edit-boxes, varying two parameters: the source impedance,
, from 25
to 50
, and the dielectric constant,
from 4 to 12. The plots in
Figure 11 show that the limit values for
and
decrease when
and/or
increases. It can be seen, from the figure, that at
, a high value of
could lead to a filter unfeasible since this reduces considerably the limit for
.
The total length of a filter,
, is greatly affected by the cutoff frequency,
. The fifth button, “
vs.
”, carries out this analysis. The function of this button is to take the data from the edit-boxes to select the characteristics of the filter, but, this time, the total length will be obtained for
in a rank from 0.5 to 5 GHz. From
Figure 12 it can be seen that
decreases exponentially as
increases. The discontinuous leaps are due to the fact that the length of the source impedance line,
, from Equation (
19), changes according to the criterion discussed in
Section 4.1, which affects the total length.
The sixth button in the GUI is “Simulate”. This button runs a simulation to obtain data like , , , by sweeping values of and , where the minimum and maximum values, as well as the step increments, are indicated in the edit-boxes at the bottom of the GUI. These plots are important for analyzing the effect of the widths and in the or the maximum attenuation of the filter. The parameters of the filter are taken from the data on the top of the GUI, but and are swept as mentioned. In this sense, one simulation will give results for one specific filter type and order, while for another type of filter, or order, etc., a new simulation must be run.
After one simulation is executed, the next two buttons are enabled. The first of them is “
,
,
”. The function of this button is to lay out 3D-plots, where the first two axes are
and
, while the third axis, the height of the plot, indicates the variable of
, max(
) or max(
), respectively.
Figure 13 shows the plot of (a) total length, (b)
and (c)
, for a range of values of
and
. From
Figure 13a, it can be noticed that
decreases significantly with lower
and higher
. On the other hand, from
Figure 13b,c, it can be seen that a low value for
, and
occurs with minimum values for
, and with medium or higher values of
, these two parameters increases with lower values of
. From these three plots, one can conclude that for a low value of
and a high value of
, the length of the filter will be lower, and the parameter
will be higher.
Finally, the last button, “TL const”, takes the value from the edit-box “TL const” at the bottom of the GUI, in order to trace a 3D surface of
versus
and
, previously obtained with the simulation, then, the above surface is overlapped with another surface corresponding to the constant
. The points where the surface of constant
intersects with the
surface, form a curve with the values of
and
that yield a filter of length equal to
const.
Figure 14 shows the surfaces of
and
constant, as well as the curve of intersection points between the two surfaces. In this case,
constant is set to 78 mm.
In addition to the plot of
Figure 14, three more figures are displayed, with four subplots each one. The three figures correspond to the points that satisfy the constant length constraint, versus its corresponding value of: (a) total width, (b) maximum attenuation, max(
), and c) maximum attenuation rate, max(
). To illustrate, we provide an example of the figure depicting the plots for the constant
versus maximum attenuation.
Figure 15 depicts the plots specifically for the case of a constant
value of 78 mm. The first subplot exhibits the
-
curve for the constant
constraint. Subsequently, the second and third subplots display the plots of
-
and
-
, respectively, showcasing the range of values for
or
. Finally, a three-dimensional curve is depicted with
,
, and
as the respective axes.
The analysis of constant
curves reveals the existence of a maximum point, representing the optimal configuration that minimizes or maximizes a specific parameter while keeping the filter length constant. The three parameters that can be optimized are the minimal width of the filter, maximal attenuation, and maximal attenuation rate. The GUI also generates a table that provides the optimal values for
and
in each optimization scenario.
Figure 16 displays this table, where the user can choose the desired optimization criterion. For instance, when selecting the point of maximum attenuation, the table indicates the values
mm and
mm, with
dB. The obtained values of
mm and
mm were introduced in the edit-boxes of the GUI in order to obtain the scattering plot and the data table of
Figure 7 and
Figure 8. In the table of
Figure 8 it can be seen that
is, effectively, 78 mm and
dB. These findings validate the effectiveness of
MicroStripOptim in accurately determining the optimal filter parameters while adhering to the desired length constraint.
6.3. Examples of Optimization
Example 1. Filter with constant TL and maximum attenuation.
As an example of the usefulness of optimization, a filter is initially designed with the characteristics outlined in
Table 3.
These parameters are entered into MicroStripOptim, then the “Print Data” button is clicked, resulting in a filter with the following characteristics:
To visualize the optimization tool, a simulation must first be run. To keep variations small, the following values are entered into the edit boxes:
Then, click on the “Simulate” button. Once the simulation is complete, the value 88.9635 is entered into the “TL const” edit box, and the “TL const” button is clicked. As a result, a table of optimal values is generated, similar to the one in
Figure 16. In this case, the optimal values for maximum attenuation are as follows:
Therefore, a filter with the same length as
Filter 1 has been obtained, but with greater attenuation. From
Figure 21, it can be observed that
Filter 2 exhibits greater attenuation and was designed to have the same
.
Example 2. Filter with desired .
When designing a filter based on data like those in
Table 3, it is not possible to know the total length (
) beforehand. However, in
MicroStripOptim, it is possible to design a filter in reverse, meaning that starting with a desired
, the values of
and
can be determined to meet the total length constraint. Since there may be multiple sets of values that satisfy this constraint,
MicroStripOptim offers three options that optimize some specific parameters.
If the simulation of the previous example has been executed, the edit boxes “min(
)” and “max(
)” are enabled. For the case of the previous example, the displayed values are as follows:
Therefore, it is possible to obtain a filter with the desired length within these limits. If one enters
by clicking the “TL const” button, the values to achieve a filter with
mm, and optimal characteristics are obtained. In this case,