# Documentation and Help

## Linear Antenna Array Synthesizer (LAAS)

In this document, the properties and usage of the linear antenna array synthesizer (LAAS) is presented to help the user.

## Starting Optimization

In order to start optimization, it is enough to press start optimization button. However, before starting an optimization process, antenna array parameters and masks should be prepared properly. Especially at least one mask has to be prepared. Otherwise, there is no cost function to minimize.

After starting optimization, it can be paused with the same button. Pausing optimization process gives three options: showing the current results, terminating the optimization and resuming the optimization. If the show current results button is pressed, the current results including amplitude, phase and position values will be shown in the message pane. Terminating an optimization by pressing terminate optimization button means that you cancel the optimization and it cannot be resumed; it has to be started from the beginning if you want to run it again. To resume the optimization, continue optimization button must be pressed.

## Basic Procedure

The following procedure may be useful for the basic optimization task in the LAAS.

1. Setting the basic antenna array parameters. Determining how many antenna array elements and which array parameters are used for the optimization can be done in Array Parameters Pane.

2. Creating masks The outer and inner masks can be prepared in Outer and Inner Mask Panes. At least one must be defined but both masks together are not mandatory. For example, if you don't need inner mask you may not use it.

3. Starting the optimization. start optimization button is used to start an optimization with the current configuration. Same button can be used for pausing and resuming tasks in the relevant states.

# Settings

## Array Parameters Pane

This section is about antenna array parameters planned to be optimized.

Set the Number of Antenna Array Elements You can set the number of antenna array elements by pressing this button. You will see a simple dialog box after doing that. You simply enter the number and press onto "OK" button. Then all parameters in the screen will be changed according to this number, such as the number of amplitude, phase and position values as well as the shape of the pattern.

Amplitude, Phase, and Position Check Boxes If you select any type of parameter check box, you mean that you want it to be calculated by optimization algorithm. If you make it unchecked, you mean that you leave it fixed and it will not be changed by the algorithm. However, they will take part in the calculations with their fixed values. These values can be entered manually in the list or loaded from a text file.

Maximum and Minimum Values of the Parameters Each parameter is limited within a minimum and a maximum values. These limitation values can be changed. This is especially useful for the phase and position perturbation values. It is worth to note that the maximum and minimum values for the position section are actually position perturbation values not the absolute position values. The distance between each array elements can normally be $0.5 \lambda$ but if the position perturbation optimization is selected, the meta-heuristic algorithm will optimize them within the maximum and minimum perturbation values.

Resetting Parameter Values to Ones, Zeros, and Half-wavelength Default values of amplitude and phase in LAAS are ones and zeros, respectively. The position values of the array elements follow the rule that each element has $0.5 \lambda$ distance to the adjacent elements and the position of the first element is zero. When the user presses one of the reset parameter values buttons, the values will be reset to the according default values which have been explained above.

Entering Parameter Values Manually in the List You can manually enter any parameter values in the list at the Array Parameters section after making unchecked the relevant checkbox. It can be useful for the small number of antenna array elements but if the number of elements is not so small, loading the values from a text file may be more reasonable choice.

Load Parameter Values From a File Each array element parameter values, namely, amplitude, phase and position values, can be loaded from a text file by pressing the relevant button. After pressing the button, you will see a file chooser dialog box. You can select a text file having values in a column.

Each value can be separated from each other in a column by simply pressing enter in the text file. Technically, this loading function accepts the following characters as line terminators: \u000D followed by \u000A, CARRIAGE RETURN followed by LINE FEED \u000A, LINE FEED \u000D, CARRIAGE RETURN You can watch this tutorial video to see how you can load any parameter data from a text file.

## Outer and Inner Mask Panes

Mask segments constitutes the outer and inner masks. They can be any number. They have five important properties: start angle, stop angle, number of points, level and weight.

Obviously, start and stop angle values are the starting point and stopping point of a mask segment on the angle scale. The number of points is used to determine the sample points of this segment. The bigger number of points means the more precise calculations. However, the big number of samples causes more computational cost. The user should consider this trade-off. Level defines the mask level in dB to restrict the pattern. The level value of an outer mask segment is a maximum limit for the pattern. Similarly, The level value of an inner mask segment is a minimum limit for the pattern. weight is a factor to amplify the difference between the mask and obtained pattern at the relevant point. The level and weight values are automatically registered for all points after using mask adding and editing dialog boxes. Additionally, one can change their values for each points separately in the selected mask segment values table if needed.

• Mask segments must not overlap with each other
• Start angle must be smaller than stop angle
• Every segment has at least two points
• Mask segment name must be different from the the other segment in the current list
• Level value is allowed to be zero or negative
• Weight value must be bigger than zero. It is usually one.

Adding New Mask Segments You can add a mask segment by pressing Add button.

Editing Mask Segments Editing a mask segment is very similar to adding new segment procedure. Same rules are valid for it. When a segment is made shorter, user should be careful about the possible gabs between this segment and the adjacent segments. Similarly, when a segment is made longer, it should not be forgotten that segments cannot be overlapped.

Deleting a Mask Segment A segment can be deleted by simply selecting it in the list and clicking delete button above the list.

## Differential Evolution Pane

Classical differential evolution (DE) algorithm has four main parameters: population number, maximum iteration number, scaling factor (F), and crossover rate (Cr). These values can be entered and edited in this pane.

# Display Numerically

## Messages Pane

Any warning and error messages for the user is shown in the field in this pane. The results of the optimization values are shown here at the end of the optimization or whenever the user wants to see by pressing show current results during the pausing states of the optimization.

# File Operations

## File Operations Pane

Configuration Files The configurations of the LAAS can be saved into a file with a ".aas" extension. The configuration includes all antenna array and differential evolution algorithm parameters as well as outer and inner mask segments. Once a configuration file is saved, it can be loaded later by pressing load configuration from the a file button in the same pane. Reset configuration to default button is used for resetting the current configuration to the default LAAS values.

Exporting SVG Files Scalable Vector Graphics (SVG) is a two-dimensional vector image format. One can benefit from the advantage of the vector image format of the both antenna array pattern and convergence curve by exporting them in this pane. Though the pattern and convergence curve images in PNG format can be saved by right-clicking on the relevant chart, the scalable property of the SVG format provides better flexibility.

The exported SVG images can be modified and exported into the other formats by using free and open-source vector graphics editor Inkscape

# Graphs

## Antenna Array Pattern

This pane presents the antenna array pattern with current values of the antenna array elements. These values can be initialization values entered by the user or the calculated values by the DE algorithm. The pattern will be shown repeatedly during the optimization algorithm runs. The final results also appeared here at the end of the optimization. The graph also includes the outer and inner masks in different colors.

Rescaling Pattern Graph The pattern graph can be rescaled by pressing rescale pattern graph button. This command consider the values from zero to what the user enters in the relevant text field next to the button. Builtin zoom-in property of the graph can be used to see more details by using the mouse pointer on the graph field.

Updating Frequency of Pattern Graph The array pattern is updated as often as possible by default. If the user wants to change the update frequency for any reason, the LAAS provides seven different options for this aim in a drop-down list. This options are as often as possible, every 1 second, every 3 seconds, every 7 seconds, every 15 seconds, every 1 minute, and only at the beginning and end.

Plotting Pattern with Different Resolutions The LAAS provides an opportunity to draw pattern in four different constant resolutions. These resolutions are made up of 1441, 721, 361, and 181 points. Apart from these options, the user can see the pattern in the outer and inner mask resolutions. These two resolution options depend on the number of mask sample points. If there is no mask, no pattern can be seen when the mask points option is selected. The advantage of the mask points resolution options is that one can see the real relationship between mask and pattern calculated by the algorithm. The other constant resolutions may not represent the same points depending upon the user mask definitions.

## Convergence Curve Plot

In this pane, the convergence curve provided by DE algorithm is presented. This pane also shows the current iteration number and cost value numerically. Adjusting the updating frequency of convergence graph is provided in this pane, too.