# HERAS: A Modular Matlab Tool Using Physical Optics for the Analysis of Reflector Antennas
## 3 Description of HERAS  
HERAS is a tool developed in Matlab [51] employing object-oriented programming (OOP) for the analysis of reflector antennas using PO theory. It originated from the need to analyse satellite antenna systems using polarising reflective surfaces at a time when this functionality was not readily available in commercial software. Specifically, there was an interest in analysing SFPB antenna systems combining gridded sub-reflectors and linearly polarised feeds [9], as well as cylindro-parabolic reflectors fed by linearly polarised quasi-optical beam-formers [22]. For that purpose, a reflector antenna analysis tool using PO theory was developed in which the perfect electric conductor (PEC) surface was substituted by periodic reflective surfaces. CST was used externally to compute a database of S-parameters of the unit-cell under fully periodic conditions and plane wave incidence, for all needed angles of incidence. Then the field from the feed incident on the unit-cell was combined with the S-parameters to obtain the reflected field. From the reflected field, equivalent currents were computed on the reflector surface, and then the current distribution method, as described in the previous section, was used to compute the far-field. The tool was validated with the design of a flat polarising reflective surface with a non-uniform unit cell layout optimised to reduce cross-polarisation [24]. Good agreement with measurements was achieved, as also reported by other authors employing similar methods [52]. The tool was also validated in the case of a cylindro-parabolic reflector fed by a quasi-optical beamformer [25] and its evaluation is on-going for the design of SFPB antenna systems with gridded sub-reflectors [53]. HERAS is a simplified version of this internal tool which focuses on reflector antennas with PEC surfaces. While these systems could be analysed using existing commercial software, an open-source code provides more flexibility in adapting the tool to specific needs and in particular system-level MBD analyses, where accuracy may be traded-off with computational efficiency. This proved particularly useful for the analysis of VHTS reflector antenna systems, as mentioned in the introduction. A graphical user interface (GUI) is available which allows us to define a specific reflector configuration and to obtain the performance in the main far-field cuts, as shown in Figure 2. The main parameters of the architecture can be selected in the left side of the window along with the simulation parameters. Next, the \"Solve\" button can be selected and the results are reported at the right side of the window, including the radiation patterns across the principle planes as well as in a 3D representation. While the GUI can be helpful for quick and easy access to the HERAS solver, a significant advantage of this tool is the access to the source code in order to fully exploit its capabilities for each specific problem. A folder can be found which contains all OOP classes that can be used in the software. These include classes for objects such as reflector architectures, feeds, etc. This folder can be added to the MATLAB path in order to create individual instances of objects and use them in a specific project. As an example, the flowchart of the steps to create a single MATLAB script to compute the far-field of a reflector antenna configuration using the tool is shown in Figure 3. This script is included along with the tool as an example. The basic building blocks of the tool are the classes **POobject** and **POoperation**. The first one is used to define the different objects which compose the reflector antenna architecture such as the feeds and the reflector. The second class is used for the operations related with PO theory and the output of the results. The subclasses **POreflector** and **Feed** inherit from **POobject** (see Figure 4), which define reflector architecture objects and have their own derived classes in order to specify the kind of reflector/feed that is used in the system.