<<

Simulation of Precise Automatic Radio Frequency Ground Station Tracking For S- Band Satellites

Akila Wajirakumara

Space Engineering, master's level (120 credits) 2021

Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Simulation of Precise Automatic Radio Frequency Ground Station Tracking For S-Band Satellites

MASTER THESIS

By Akila Wajirakumara

Luleå University of Technology MSc in Space Science and Technology 2021

1 | P a g e

CERTIFICATION STATEMENT

I hereby certify that this paper constitutes my own product, that where the language of others is set forth, quotation marks so indicate, and that appropriate credit is given where I have used the language, ideas, expressions or writings of another.

Signature: .…………………………… Akila Wajirakumara

2 | P a g e

ABSTRACT

Satellites are often known for possessing invariable motion causing its apparent position to drift in the from the perspective of a ground station. If these irregular drifts are not compensated, the performance of the communication link would be greatly affected. Hence, the satellite motion has to be tracked by the ground station antenna. Arctic Space Technologies is a company based in northern Sweden that focuses on highly reliable and secure satellite data handling solutions; main with S-Band satellites in the Low Earth Orbit (LEO).

This thesis consolidates a comprehensive research to implement a robust approach for ground stations to establish a secure connection for optimum satellite communication performance. The implementation will be conducted in the form of a software simulation using MATLAB and SIMULINK. The system proposed in this thesis relies on Two Line Elements (TLE) to obtain the parameters for the calculation of the orbital motion of the satellites and providing the azimuth and elevation for the antenna to point towards. However, although TLE data are fairly accurate; LEO satellites have a very small time period passing over a ground station for signals to be received and thus it is vital to ensure maximum signal strength is received for optimum performance in satellite communication. In order to do so, a Kalman filter is incorporated to reduce the antenna’s pointing error by adjusting the estimated trajectory in real time and manoeuvre the ground station accordingly.

This thesis uncovers through a theoretical review and simulation that accumulates and ensures the investigation of the primary data from the TLE; the main elements affecting the current situation and rectifying them to a certain extent using control systems. It furnishes with guidelines on how Radio Frequency (RF) signals from S-Band LEO satellites can be effectively communicated through a parabolic reflector as a ground station.

3 | P a g e

ACKNOWLEDGEMENT

I would like to thank my master thesis supervisor Benjamin Fischer for all his support and guidance along with his team at Arctic Space Technologies. Also, to all my colleagues and professors at Luleå University of Technology who provided a fantastic learning experience with a solid foundation to execute my thesis smoothly. I would like to thank my friends, family and my better half Sharon Tanusha for all their support, motivation, and persistence all through this strenuous process. All of you made my goal of accomplishing my MSc a reality. Lastly, I would like to thank my master thesis examiner Shailesh Singh Chouhan D.Sc.(Tech.) for taking the time to grade my efforts.

4 | P a g e

TABLE OF CONTENTS

LIST OF ABBREVIATIONS ...... 9 CHAPTER 1: INTRODUCTION ...... 10 1.1 Motivation ...... 10 1.2 Thesis Aim and Problem Statement ...... 11 1.3 Thesis Objective ...... 11 1.4 Thesis Structure ...... 11 CHAPTER 2: LITERATURE REVIEW ...... 12 2.1 Background of Satellite Communication ...... 12 2.1.1 Low Earth Orbit ...... 12 2.1.2 S-Band Satellite ...... 14 2.1.3 Parabolic Reflector ...... 15 2.1.4 Link Budget ...... 20 2.2 Orbital Mechanics ...... 21 2.2.1 Two Line Element (TLE) ...... 21 2.2.2 ...... 24 2.2.3 Perifocal ...... 27 2.2.4 ECI coordinate system ...... 28 2.2.5 ECEF coordinate system ...... 29 2.2.6 Calculating the azimuth and elevation angles and distance from ground station .... 30 2.3 CONTROL MODEL FOR GROUND STATION TRACKING ...... 32 2.3.1 Kalman Filter ...... 32 CHAPTER 3: METHODOLOGY ...... 37 3.1 Extract Orbital Elements from TLE Data ...... 37 3.2 Satellite’s Orbital motion Simulation ...... 38 3.3 Determine the Satellite motion from the Ground Station ...... 40 3.4 Formulate a Mathematical Model for the System ...... 43 3.5 Signal Transmission and Reception Simulation ...... 49 3.6 Controller Simulation ...... 51 CHAPTER 4: RESULTS ...... 55 4.1 Comparing the Azimuth and Elevation angles ...... 55 4.2 Comparing the pointing errors ...... 56 4.3 Discussion ...... 59

5 | P a g e

CHAPTER 5: CONCLUSION ...... 60 5.1 Summary ...... 60 5.2 Limitations ...... 61 5.3 Future Work ...... 61 REFERENCES ...... 62 APPENDIX ...... 65 Additional Figures ...... 65 MATLAB Scripts ...... 69

6 | P a g e

TABLE OF FIGURES

Figure 1: Satellite Orbits (ESOA, 2016) ...... 13 Figure 2: Parabolic Antenna (Tutorialspoint, 2020) ...... 15 Figure 3: Mathematical diagram of a parabolic reflector ...... 16 Figure 4: Pointing Error (Barth et al, 2018) ...... 18 Figure 5: Diagrammatic representation of an Elevation over Azimuth mounting (Crawford & Brush, 1995) ...... 19 Figure 6: Comparison of real and reference trajectories (Braga, 2018) ...... 22 Figure 7: TLE Data example (Rijal, 2017) ...... 22 Figure 8: TLE format description (Rahal, 2008) ...... 23 Figure 9: Orbital elements (Rouzegar & Ghanbarisabagh, 2019) ...... 25 Figure 10: Total algorithm for finding azimuth, elevation and distance from ground station. 26 Figure 11: Perifocal coordinate system (Rouzegar & Ghanbarisabagh, 2019) ...... 27 Figure 12: ECI coordinate system (Rouzegar & Ghanbarisabagh, 2019) ...... 28 Figure 13: ECEF coordinate system (Rouzegar & Ghanbarisabagh, 2019) ...... 29 Figure 14: Kalman Filter process flowchart (Biezen, 2015) ...... 33 Figure 15: Update and prediction mechanism of Kalman filtering (Gamper et al, 2018) ...... 34 Figure 16: Kalman Filter Model (Biezen, 2015) ...... 36 Figure 17: Kalman Filter Satellite Orbit Correction (Vergez, 2004) ...... 36 Figure 18: Thesis Methodology Flowchart ...... 37 Figure 19 : TLE data of OBS-SAT ...... 38 Figure 20: Table of TLE Parameters ...... 38 Figure 21: 3D simulation of Satellite’s orbital motion ...... 39 Figure 22: Ground Trace of LEO Satellite ...... 40 Figure 23: Elevation Vs Azimuth ...... 41 Figure 24: Elevation Vs Time ...... 41 Figure 25: Azimuth Vs Time ...... 42 Figure 26: Satellite Pass Distance Vs Time ...... 42 Figure 27: Pointing Error Contour plot ...... 44 Figure 28: Antenna Parameters ...... 45 Figure 29: Antenna Radiation Pattern...... 45 Figure 30: Graph of Receiver Gain Vs Pointing Error ...... 47

7 | P a g e

Figure 31: SIMULINK design of Satellite Transmitter and Ground Station Receiver ...... 50 Figure 32: SIMULINK design of the controller ...... 52 Figure 33: Comparison of Azimuth and Elevation angles at 2° of inclination increment ...... 56 Figure 34: Comparison of Azimuth and Elevation angles at 5° of inclination increment ...... 56 Figure 35: Before and after comparison of pointing error at 2° of inclination increment ...... 57 Figure 36: Before and after comparison of pointing error at 5° of inclination increment ...... 58 Figure 37: Receiver Gain at 2° of inclination increment ...... 65 Figure 38: Receiver Gain at 5° of inclination increment ...... 65 Figure 39: Comparison of Azimuth and Elevation angles at 10° of inclination increment ..... 66 Figure 40: Receiver Gain at 10° of inclination increment ...... 66 Figure 41: Before and after comparison of pointing error at 10° of inclination increment ..... 67 Figure 42: Complete SIMULINK model ...... 68

8 | P a g e

LIST OF ABBREVIATIONS

LTU Luleå University of Technology RF Radio Frequency LEO Low Earth Orbit TLE Two-Line Element ISS International Space Station GEO Geostationary orbit MEO Medium Earth orbit SGP4 Standard General Perturbations Satellite Orbit Model 4 EIRP Effective Isotropic Radio Power FSL Free Space Loss NORAD American Aerospace Defence RAAN of Ascending Node ECI Earth Centred Inertial ECEF Earth Centred Earth Fixed LLH , , Height RA Right Ascension DEC EOM Equations of Motion SDR Software Defined Radio

9 | P a g e

CHAPTER 1: INTRODUCTION

This master thesis is the final step upon completion of the MSc degree in Space Science and Technology at Luleå University of Technology (LTU). The project was conducted at the company Arctic Space Technologies in Luleå under the supervision of their co-founder and Chief Executive Officer (CEO), Benjamin Fischer. This thesis corresponds to research in satellite communications, orbital mechanics and control systems.

1.1 Motivation As the world today is consistently progressing technologically in area of telecommunication frameworks becoming all the more remarkable and adaptable Radio Frequency (RF) tools are being invented. The size of this hardware has diminished from huge to a miniature scope and thereby providing higher power amplifier with bandwidths at higher frequencies achieving bigger data transmission rates. The satellite innovation applies adaptable communication benefits independent of the distant convoluted geographical points across the world which have brought about an expansion of satellite industry and thereby providing new demands. Arctic Space Technologies is a satellite communication company based in Luleå located in the northern region of Sweden. They are a start-up company founded in the year 2019 that focusses on highly reliable and secure data handling solutions. They offer low-cost satellite communication solutions to bridge the gap between data centres and ground station services through services such as big data handling and mission critical satellite operation services. They are currently working on installing a physical ground station in their facility and this thesis work focusses on developing an automatic tracking system for their parabolic antenna receiver at the ground segment for S-Band satellites in the LEO range. Ground stations currently rely on TLE data to identify the whereabouts of the satellites intended to track. However, although they are fairly accurate to a certain extent; the time period of a satellite pass over a ground station is fairly small (approximately 40 minutes per satellite pass) which provides a limited window of opportunity for critical data to be received. Hence, it is vital for the antenna to be pointing accurately for optimum performance.

10 | P a g e

1.2 Thesis Aim and Problem Statement The aim of this thesis is to develop a software interface for the ground station antenna that would automatically track the satellite and maximize the received signal strength by reducing the pointing error. It should be able to update the estimated azimuth and elevation angles calculated from the TLE and provide the antenna with improved estimates of the azimuth and elevation angles closer to the true direction of the satellite for a stronger signal.

1.3 Thesis Objective The main objective of this thesis was to conduct a literature survey on satellite ground station tracking and use that knowledge to simulate a real time software model to enhance satellite signal strength reception from TLE data and using control systems to mechanically alter the azimuth and elevation angles of the ground station for maximum data transfer. This would aid Arctic Space Technologies to further improve their organizational services.

1.4 Thesis Structure This thesis is divided into five chapters including this introduction chapter. Chapter 2, Literature Review; provides includes all the background theories involved in executing this project successfully. It incorporates information from various sources which all contributes towards the foundation of this thesis. Chapter 3, Methodology; incorporates all the information attained through research in chapter 2 and implements these practices to execute the project. This chapter explains the complete process step by step along the entire process. Chapter 4, Results; discusses the execution of the methodology process with the results attained by them. And finally, Chapter 5, Conclusion; concludes this thesis with the outcome of the project along with its limitations and suggestions for future improvements.

11 | P a g e

CHAPTER 2: LITERATURE REVIEW

The literature review provides the important background and theoretical research that affirms thoughts and learning of the thesis, and distinguishes demonstrated and contemporary intuition regarding the subject of ground station satellite tracking. This chapter will be classified into three categories; Background of Satellite Communication, Orbital Mechanics, and Control Model for Ground Station Tracking.

2.1 Background of Satellite Communication

2.1.1 Low Earth Orbit

An orbit is a standard curved route that an object takes around another because of gravity. An object could be a , planet, moon, asteroid or spacecraft. Planets, comets, asteroids and others in the solar system circle the sun. Typically, a "satellite" refers to a machine that is launched into space and moves around Earth or any other body in space; like the International Space Station (ISS). Gravity causes objects in space that have mass to be pulled in to other objects close by. They would orbit with each other if enough momentum is generated through this force of attraction. Since there is no air or even friction in space, the gravity allows the satellite to orbit around Earth without any resistance. Placing satellites into space empowers us to utilize advancements in technologies for , weather forecasts, and even telecommunication (ESA, 2020).

All satellite orbits are not perfectly circular; they are elliptical in shape like an oval. They are profoundly unusual or "crushed." and look more like dainty ellipses than circles. Satellites that orbit the Earth, including the moon, don't generally remain a similar separation from Earth. In some cases, they are nearer, and at different occasions they are farther away. The nearest point a satellite comes toward Earth is called its perigee. The farthest point is the apogee (Hitt, 2010).

There are numerous factors that determines which orbit would be best for a satellite to utilize, based upon what the satellite is intended to accomplish. The most commonly used orbits are the Geostationary orbit (GEO) at 35,786 km, Low Earth orbit (LEO) at 160 – 2000 km, Medium

12 | P a g e

Earth orbit (MEO) at 2000 – 35,786 km. An illustration of the different orbits is shown in Figure 1.

Figure 1: Satellite Orbits (ESOA, 2016) The orbit used in this thesis is the Low Earth Orbit (LEO). As the name suggests, it is relatively close to the Earth Surface with it altitude ranging from 160 to 2000 km. Although these numbers seem large, they are significantly low compared to the other orbits. This close proximity to the Earth gives it the ideal space for satellites to operate effectively. Even the ISS is in LEO making it easier for astronauts to make a trip to and from at a more limited distance. Satellites in LEO travel at a speed of approximately 7.8 km/s. At this speed, a satellite requires roughly an hour and a half for a complete rotation of the Earth which means LEO satellites revolves around Earth around 16 times a day (ESA,2020). This means that they move so fast across the sky making it difficult to track and hence the challenge for this thesis.

Communication satellites usually work as a part of a constellation where multiple satellite cover segments and work simultaneously to provide a constant coverage. The decision of altitude for a LEO constellation is normally administered by the expense of setting satellites at the specific height. The higher the altitude, the less the quantity of satellites needed to get full earth coverage, however it is normally more expensive to launch satellites to higher altitudes. Different variables impact the decision of altitude like the radiation and space debris relatively. The preferred altitude is for the most part a trade-off between a few frequently clashing elements, not the least of which is the planned market or mission. The upside of LEO frameworks is that the satellites' vicinity to the ground facilitates them to communicate with insignificant time delay making it feasible for voice communication. The more limited distance

13 | P a g e to the earth implies that the satellite to earth link endure less path loss, and henceforth a solid connection can be set up with lower power and smaller antennas. This typically brings about LEO satellites being more modest and of lower mass and henceforth more affordable than their GEO competitors. (Peterson, 2003).

In contrast to satellites in GEO, the of satellites in LEO are not synchronized with the Earth's rotation, and their positions are not fixed comparative with the ground station. Subsequently, the ground station receiver needs to track the satellite along its direction to keep the connection. This can essentially be performed by pointing the antenna along the predicted path. The prediction of LEO satellite path is not too complicated, the equations of motion would remain non-linear provided certain assumptions are considered. The Standard General Perturbations Satellite Orbit Model 4 (SGP4) orbit propagator which is extracted from the TLE has been demonstrated to be accurate and adequate and has been applied to satellite control for quite a long time. However, for narrow beamwidth, such elements will most likely be unable to give adequate pointing precision between the parabolic antenna and the moving satellite, henceforth, poor received signal strength (Aorpimai et al, 2014).

2.1.2 S-Band Satellite

Satellites operates at an assortment of frequency bands which are assigned to such an extent that they could be alluded to without any problem. The higher frequencies give more extensive transmission capacities however are defenceless to interference of signal because of atmospheric rain snow or ice. Because of the expanded utilization of satellites today, their number and size blockage has become a difficult issue in the lower frequency bands. This thesis utilizes S-Band signals which relates to a specific frequency range which falls into to classification of the lower frequency bands (ESA, 2013).

S-Band satellites have a frequency range covering from 2GHz to 4GHz of the microwave band of the electromagnetic spectrum assigned by the Institute of Electrical and Electronic Engineers (IEEE). It is predominantly utilized for satellite communications and radars and is of key significance to the aviation and space sector. It is known for its efficiency as a channel for providing imperative real-time data and high resistance to rain and other environmental obstructions. S-band satellites are utilized for a broad scope of satellite applications like weather radar, navigation, air traffic control and spacecraft telemetry, it is also being utilized in the ISS. For optimum performance, large parabolic reflector antennas are highly recommended (Cobham, 2011). 14 | P a g e

2.1.3 Parabolic Reflector

The Parabolic Reflector Antenna or more commonly known as the dish antenna is the form of antenna found in many uses in domestic satellite television, terrestrial microwave, satellite communications and many more. With its large size, it is usually limited to usage above 1GHz frequencies and also versatile to lower frequencies down to 100MHz. They are generally known for its popular distinctive shape, but also its high gain and narrow beamwidth. It is widely known due to the performance it is capable of achieving at high frequencies; Figure 2 is an image of a parabolic antenna.

Figure 2: Parabolic Antenna (Tutorialspoint, 2020) The parabolic reflector uses its dish shape to collect and project energy in the form of electromagnetic waves. It alters the incoming plan waves traveling along their axis as the parabola into a spherical wave and converge at the focus of the reflector. the antenna comprises of a circular parabolic reflector and a point source also known as the primary feed at its focal point. The circular parabolic reflector is generally constructed as metal mesh in a circular metal frame in the inner side with its width being a tenth of its wavelength (λ/10) where its covering acts as a mirror for its receiving energy. It follows the laws of optics and analytical geometry where all reflected rays will be parallel to the paraboloid axis ideally providing a single reflected ray parallel to the main axis without any sidelobes. The field lines leaves the horn with a spherical wavefront and each of them reaches the reflecting surface with a phase shift of 180 degrees and sent outwards at angles causing al the field line to travel in parallel. An ideal parabolic antenna would produce a pencil beam and it is achieved by manoeuvering the

15 | P a g e two curvatures in the horizontal, the azimuth and in the vertical plane, the elevation angle. Although this is the ideal case, in reality they are more conical in shape due to production irregularities and hence the main lobe may vary in angular width by a few degrees. The parabolic antenna has a radiation pattern that comprises of a main lobe directed along the axis of propagation and several small minor side lobes. Narrow beams are also possible with this reflector (Wollf, 2015).

Figure 3: Mathematical diagram of a parabolic reflector

Figure 3 depicts the mathematical diagram of a parabolic reflector. The diameter of the dish, D determines the aperture length of the parabolic reflector and d refers to its depth. The focal point is where all the incoming waves are focused towards after being reflected, the deepest point of the dish is called the vertex; the focal length, f is the distance between the focal point and the vertex. The focal length, f can be obtained with the equation specified in the image (Chaurasiya & Kumar, 2015). The depth of the reflector could be shallow or deep depending on the manufacturer’s specifications. However, it is practically challenging to uniformly illuminate the dish inside the aperture plane and is hence recommended to have a depth not so large as the waves from the opposite directions have a tendency to cancel through superposition. Also, having the focal point a greater distance from the aperture would have a chance of receiving unnecessary noise and signals leading to losses. The efficiency of a parabolic reflector, η can be determined by the ratio of focal length to dish diameter (Chaurasiya & Kumar, 2015).

16 | P a g e

푓 휂 = 퐷

The gain is a vital factor associated with any antenna. The higher the gain the more effective they are. Parabolic reflectors are known to have high gains, it could go to as high as 30dB to 40dB; such figures are not very easy to achieve. This is why parabolic reflector antennas are usually used at microwave frequencies as they offer robust and convenient structures with the ability to withstand harsh conditions (Electronics notes, 2016). There are various factors that affect the gain of a parabolic reflector antenna. The diameter of the dish, D; the larger the diameter, higher the gain. The Operational wavelength, λ; the gain is inversely proportional to the wavelength and it may have a different gain if the antenna is operating in two different frequencies. The efficiency, η; this a significant factor affecting the gain of a parabolic reflector antenna. The Maximum Gain of a parabolic reflector antenna,

퐺푚푎푥 can be calculated from the equation below. 휋퐷 2 퐺 = 10 log 휂 ( ) (푑퐵) 푚푎푥 10 휆

As the gain of antenna increases, the beamwidth decreases. The beamwidth is generally defined as the point where the power drops to half of its maximum; which accounts to -3dB on the radiation pattern. The beamwidth defines how wide an angle the antenna is expected to withstand to radiate radio waves. It is a property of the antenna and it remains the same regardless if its transmitting or receiving. In a parabolic antenna, it is required to illuminate within the reflector and hence need to match the efficiency of the antenna (Chaurasiya &

Kumar, 2015). The Half Power Beam Width (HPBW) of a parabolic antenna, 휃3푑퐵 can be estimated from the following formula.

휆 휃 = 70 (푑푒푔푟푒푒푠) 3푑퐵 퐷

As the beamwidth of the parabolic reflector antenna decreases with the increasing antenna gain and aperture diameter, the accuracy of which the antenna is pointing towards plays a vital role. This is called the pointing error and it potentially increases as the gain drops rapidly if the beam is not aligned (Guiar et al, 1986). This pointing error can be caused by various factors; like the antenna’s manufacturing and assembling errors, their structure deformation due to temperature or due to effects of atmospheric refraction or other interferences (Yu, 2017). An illustration of the pointing error is shown in the Figure 4.

17 | P a g e

Figure 4: Pointing Error (Barth et al, 2018)

By definition, the pointing error is the angle difference between the direct towards which the antenna is pointing at and the actual position. For a maximum accuracy, the antenna must receive a signal at the peak 3dB HPBW beamwidth, 휃3푑퐵 (Eumetsat, 2010). The pointing error, θ contributes to the loss in gain, L and can be calculated from the equation below. 휃 2 퐿 = 12 ( ) (푑퐵) 휃3푑퐵

The most commonly used antenna pointing mechanism for tracking is to incorporate a tracking controller in the antenna in two planes, the azimuth and elevation angle. The azimuth is the horizontal plane ranging from 0 to 180 degrees due east and the elevation is the vertical plane ranging from 0 to 90 degrees due north. The azimuth shaft encoder is located at the base of the antenna and the elevation shaft in the elevation node. Each of them would generate electronic pulses as the antenna moves in the respective axis (Jawad & Brush, 1996). A diagrammatic representation of the mounting shafts is shown in the Figure 5.

18 | P a g e

Figure 5: Diagrammatic representation of an Elevation over Azimuth mounting (Crawford & Brush, 1995)

Crawford and Brush (1995) further investigated the impact of pointing error with the impact of the azimuth and elevation angles of the actual and desired position of the satellite. Their research further delved into the corelation between the pointing error, 휃 with the actual azimuth and elevation angles of the actual position, 푎푧퐴 and 푒푙퐴 and the azimuth and elevation angels of the desired position, 푎푧퐷 and 푒푙퐷.

cos(휃) = sin(푒푙퐴) . sin(푒푙퐷) + cos(푒푙퐴) . cos(푒푙퐷) . cos(푎푧퐷 − 푎푧퐴)

These calculations will play an important role when creating the link budget which will be discussed in the next section.

19 | P a g e

2.1.4 Link Budget

The link budget is a vital checklist in the area of satellite communication theory which provides a solid guideline prior to execution. It is a calculation that comprises the first and the most important steps when designing any telecommunication system. The link budget provides an end-to-end theoretical calculation of the communication link’s performance. This takes into consideration all the gains and losses involved within a certain set of conditions and provides analysis of the quality of the link. It provides a detailed overview of what is accountable for the difference between the power transmitted and the power received. The link budget encompasses all the fundamental elements responsible for the RF satellite communication and free space link. The basic link budget is the power equation which exploits the transmitted and received parameters in terms of power, gains and losses (Ya’acob et al, 2019).

The satellite communication link could be divided in to two major parts, the uplink and the downlink. The uplink corresponds to the communication link from the earth station to the satellite, in this case the earth station is transmitting and the satellite is receiving. The downlink corresponds to the communication link from the satellite to the earth station, in this case the satellite transmits and the earth station receives. This thesis deals with the downlink part of the communication link.

The strength of the received signal could be analysed using the ground station antenna’s received power, 푃푅. Since satellites in LEO generally use low-gain antennas for transmission, it’s power is spread in a wider volume making the signal to be transmitted in every direction making it relatively easy to be picked up from the ground station (ESA, 2004). The Effective Isotropic Radio Power (EIRP) is the speculative power that would need to be transmitted by an isotropic antenna to provide a uniform signal strength as the physical source towards the strongest beam of the antenna. The EIRP is the product of the power transmitted, 푃푇 and gain of the transmitter, 퐺푇. However, the link budget is generally calculated in decibels (dB) and hence the equation for EIRP in dB is,

퐸퐼푅푃 = 푃푇 + 퐺푇 (푑퐵푊)

The received power of the ground station can be calculated using the following equation

푃푅 = 퐸퐼푅푃 + 퐺푅 − 퐹푆퐿 (푑퐵푊)

20 | P a g e

Where, 퐺푅 is the Gain of the receiver and 퐹푆퐿 is the Free Space Loss, they are both vital parameters responsible for the satellite’s uplink and downlink energy.

The Gain of the receiver, 퐺푅 must account for the pointing loss caused due to the misalignment of the main beam (Devika et al, 2017). Using the 퐺푚푎푥 and L from the previous section, an equation for 퐺푅 can be formulated as,

휃 2 퐺푅 = 퐺푚푎푥 − 12 ( ) (푑퐵) 휃3푑퐵

The 퐹푆퐿 represents the scattering of energy as an electromagnetic wave transmits in a three- dimensional space. A proportion of the attenuation endured by a signal on the path between the satellite and the ground station. This loss is proportional to the distance between the satellite and the ground station, 푑 (Atayero, 2011). The 퐹푆퐿 can be calculated using the following equation.

4휋푑 퐹푆퐿 = 20 log ( ) (푑퐵) 10 휆

2.2 Orbital Mechanics

2.2.1 Two Line Element (TLE) Two Line Elements are basically models used to calculate trajectories of Earth orbiting satellites. In addition to the initial attractive gravitational forces of the Earth, the perturbing forces are considered to replicate the satellite’s motion around the Earth. This helps to distinguish between the gravitational and nongravitational forces, like the atmospheric drag. They are generated by the North American Aerospace Defence (NORAD) and are readily available to help predict a satellite’s position and velocity vectors. These NORAD elements are usually generated with SGP4 which is a near-Earth model for satellite trajectories and is distinctive due to its extensive influences in perturbation that changes with altitude (Hellerschmied, 2014). The TLE data are used as an input for the SGP4 algorithm whose accuracy is generally down to 0.1 degrees in latitude and longitude from the Earth surface. TLE data for every satellite are readily available on the internet for free on the Space Track website. However, TLE data needs to be updated about every 30 days, there may be considerable inaccuracies due to orbit perturbations (Rahal et al, 2008). The reason for not entirely relying on TLE is because when a single trajectory is being propagated, its real trajectory gets further

21 | P a g e away thereby creating an error; it does not account for the natural drift the satellites are prone to (Braga, 2018). Figure 6 provides a good illustration of this error.

Figure 6: Comparison of real and reference trajectories (Braga, 2018)

The TLE data, as the name suggests is comprised of two lines of 69 characters in each row that are linked with the SGP4 algorithm of NORAD which encompasses all the necessary orbital elements associated with the satellite. The TLE has three lines, where the first line is the name of the satellite and the two below has the data. The data include numbers between 0 to 9, + and – and alphabet from A to Z. Although the data may have listed several elements, only six variables are essential for the satellite’s trajectory (Rijal, 2017). Figure 7 shows an example of what a TLE data looks like.

Figure 7: TLE Data example (Rijal, 2017)

The table in Figure 8 shows the description of the TLE format;

22 | P a g e

Figure 8: TLE format description (Rahal, 2008)

To predict the satellite’s motion through SGP4, only seven orbital elements are required from the second line of the TLE data (Rahal, 2008). • Epoch: Indicates the timestamp of when the orbital elements were taken • : The inclination angle between the orbital plane with the equatorial plane • Right Ascension of Ascending Node (RAAN): It is the angle measured vernal equinox to the ascending node at the Earth’s center in the range between 0 to 360 degrees. • Argument of Perigee: It is the angle between the line of and the line of nodes • Eccentricity: It determines the shape of the ellipse; it varies from 0 to 1, where 0 is a circle • Mean Motion: The number of orbits the satellite makes in a day • : The uniform angle increment with time starting at the perigee to indicate its location along the orbit

The following sections will further elaborate on these orbital elements and how they are used to calculate the satellite’s trajectory.

23 | P a g e

2.2.2 Orbital Elements

Orbital elements are fundamental parameter needed to distinguish a particular orbit and a satellite's trajectory. They are viewed as two-body system embracing a Kepler orbit in celestial mechanics. There are a few different ways to figure them numerically and they all work around six key parameters. Although, in reality these components change over the long run because of relativity and gravity, the Kepler orbit gives a close mathematical approximation at a particular time. At the point when these elements are seen from an inertial perspective, there are two orbiting bodies following distinct directions. Every one of them focusses on a generic centre of mass. From a non-inertial perspective fixated on one of the bodies, just the trajectory of the opposite body is significant; Keplerian components depict these non-inertial trajectories. Based on which body is considered as the reference point, an orbit can have two sets of elements. The reference point is for the most part the bigger of the two and is known as the primary; the other is the secondary. The primary doesn't really have more mass than the secondary, and in any event, when the bodies are of equivalent mass, the orbital element rely upon the decision of the primary. The semi-major axis (푎), the eccentricity (푒) and the mean anomaly (푀) describes the shape and size of the satellite. The inclination (𝑖), RAAN (Ω) and the argument of perigee (휔) are vector elements that determine the orbital orientation. Five of the six elements are time invariant except for the mean anomaly (푀) as is the position of the satellite constantly changes with time (Rouzegar & Ghanbarisabagh, 2019). An illustration of these elements is shown in the Figure 9.

24 | P a g e

Figure 9: Orbital elements (Rouzegar & Ghanbarisabagh, 2019)

Before proceeding to the coordinate transformation, there are two key elements required to calculate. The eccentric anomaly (퐸) and the (푣). The eccentric anomaly (퐸) is an angular parameter that defines the moving body’s position along the Keplerian orbit. It can be calculated in various ways but the best approach is through the Newton-Raphson approximation with at least 10 iterations; the more iterations the better (Curtis, 2013). The main formula is as follows.

퐸 − 푒 . sin(퐸) − 푀 퐸 = 퐸 − ( ) 푛 1 − 푒. cos(퐸)

Where the updated value of 퐸, 퐸푛 is inputted to the next iteration. The initial value of 퐸, the value of 푀 is used. For the next iteration the value of 푀 is updated using the following equation. 푀 = 퐸 − 푒. sin(퐸)

25 | P a g e

The true anomaly (푣) is the angle along the orbital path from perigee to the satellite’s position vector (Curtis, 2013). It can be calculated from the following equation.

1 + 푒 퐸 푣 = 2. tan−1 (√ . tan ( )) 1 − 푒 2

The orbital elements are now ready to be transform to calculate the satellite’s azimuth and elevation angles and distance from the ground station. Figure 10 provides a guideline on the total algorithm which will follow in the upcoming sections.

Figure 10: Total algorithm for finding azimuth, elevation and distance from ground station

26 | P a g e

2.2.3 Perifocal coordinate system The perifocal coordinate system is a reference for an orbit focused at the centre of the orbit. It is a two-dimensional that describes an of the satellite focussing on the earth and satellite as an ellipse. The X axis characterize the focus of the perigee, the Y axis perpendicular to the X axis, and the Z axis perpendicular to the Y axis which is zero in this case (Rouzegar & Ghanbarisabagh, 2019). An illustration of the satellite position in the perifocal coordinate system is shown in Figure 11.

Figure 11: Perifocal coordinate system (Rouzegar & Ghanbarisabagh, 2019)

Being a polar coordinate system, their points are described with respect to 푟 and 푣. The value of 푟 can be calculated with the equation below. 푎(1 − 푒2) 푟 = 1 − 푒. cos(푣)

The X and Y coordinates are depicted by P and Q and can be calculated as follows.

푃 = 푟 . cos(푣)

푄 = 푟. sin( 푣)

27 | P a g e

2.2.4 ECI coordinate system

The Earth Centred Inertial (ECI) coordinate system have their origins at the Earth’s centre of mass and are fixed with respect to the . It is a three-dimensional coordinate system which is fixed and static and does not get affected by the Earth’s rotation. Their origin is the centre of the Earth with its X axis towards the vernal equinox, Z axis towards the North Pole and the Y axis perpendicular to it (Rouzegar & Ghanbarisabagh, 2019). An illustration of the satellite position in the ECI coordinate system is shown in Figure 12.

Figure 12: ECI coordinate system (Rouzegar & Ghanbarisabagh, 2019)

To transform the perifocal coordinate system to ECI coordinates, there are three essential rotations. The first rotation is by an angle of Ω keeping the Z axis fixed, the second rotation is by an angel of 𝑖 keeping the X axis fixed, and lastly by an angle 휔 keeping the Z axis fixed. The transformation can be described by the following.

푥 푥 [푦] = 푇1푇2푇3 [푦] 푧 퐸퐶퐼 푧 푃푄푊

28 | P a g e

Were,

cos(Ω) − sin(Ω) 0 푇1 = [sin(Ω) cos(Ω) 0] 0 0 1

1 0 0 푇2 = [0 cos(i) − sin(i)] 0 sin(i) cos(i)

cos(휔) − sin(휔) 0 푇3 = [sin(휔) cos(휔) 0] 0 0 1

2.2.5 ECEF coordinate system

The Earth Centred Earth Fixed (ECEF) coordinate system is the conventional terrestrial coordinate system and is also known as the Cartesian coordinate system. Their coordinates are termed geocentric as they replicate that of the Earth with its origin positioned at the Earth’s centre of mass and is also rotating. Their coordinate system is fixed and also considers the Earth’s rotation unlike ECI. The X axis is at the equatorial plane, Z axis towards the north pole, and Y axis perpendicular to it (Rouzegar & Ghanbarisabagh, 2019). An illustration of the satellite position in the ECEF coordinate system is shown in Figure 13.

e

Figure 13: ECEF coordinate system (Rouzegar & Ghanbarisabagh, 2019)

29 | P a g e

The coordinate transformation from ECI to ECEF can be described by the following.

푥 cos(휃퐽) sin(휃퐽) 0 푥 [푦] = [− sin(휃퐽) cos(휃퐽) 0] [푦] 푧 퐸퐶퐼 0 0 1 푧 퐸퐶퐸퐹

Where, 휃퐽 is the apparent Greenwich sidereal time. Since this transformation also takes into account the Earth’s rotation and for that the Earth’s angular velocity, 휔푒 is utilized to extract the current 휃퐽 at the elapsed time 푡 from the initial Greenwich sidereal time 휃퐽0 which is taken from the epoch in the TLE (Rouzegar & Ghanbarisabagh, 2019). The value of 휃퐽 can be calculated using the following equation.

휃퐽 = 휃퐽0 + 휔푒푡

2.2.6 Calculating the azimuth and elevation angles and distance from ground station

Now that the ECEF coordinates of the satellite motion are known, the azimuth and elevation angles along with the distance between the satellite and the ground station antenna. The coordinates of the ground station generally come in the form of Latitude, Longitude, Height (LLH) also known as geodetic coordinates. These coordinates are also required to be converted to ECEF coordinates. To begin the transformation, the latitude and longitude has to be in decimal degrees as opposed to the general format of geodetic coordinates come in degrees, minutes and seconds. This transformation is shown in the equation below. 푚𝑖푛푢푡푒푠 푠푒푐표푛푑푠 푑푒푐𝑖푚푎푙 푑푒푔푟푒푒푠 = 푑푒푔푟푒푒푠 + + 60 3600

With the latitude (푙푎푡), longitude (푙표푛푔) and height (ℎ) all converted respectively, the coordinates can be transformed to the X, Y and Z coordinates in the ECEF system from the equation below.

푋 = (푁(푙푎푡) + ℎ) cos(푙푎푡). cos(푙표푛푔)

푌 = (푁(푙푎푡) + ℎ) cos(푙푎푡). sin(푙표푛푔)

푏2 푍 = ( 푁(푙푎푡) + ℎ) . sin(푙푎푡) 푎2

30 | P a g e

Where 푎 is the equatorial at the semi-major axis and 푏 is the polar radius at the semi- minor axis of the Earth. The value of 푁(푙푎푡) can be calculated using the following equation.

푎2 푁(푙푎푡) = √푎2. cos2(푙푎푡) + 푏2. sin2(푙푎푡)

Now that the coordinates are transformed to ECEF, the distance between the satellite and the ground station, 푑 can be easily calculated by the magnitude of the two coordinates.

2 2 2 푑 = √(푋푠푎푡 − 푋푔푠) + (푌푠푎푡 − 푌푔푠) (푍푠푎푡 − 푍푔푠)

To calculate the azimuth and elevations angles from the ground station, the local sidereal time is required. This is the right ascension when the satellite is above its . The Right Ascension (RA) and Declination (DEC) are to the sky what longitude and latitude are to the Earth. RA relates to east/west ; similar to longitude, while DEC estimates north/south bearing, similar to latitude. The RA and DEC angles can be calculated by first transform the ground station ECEF coordinates 푋̂푔푠, 푌̂푔푠 and 푍̂푔푠 and using the following equations.

−1 ̂ 퐷퐸퐶 = sin (푍푔푠)

푋̂푔푠 푅퐴 = cos−1 ( ) cos(퐷퐸퐶)

Another essential part of the transformation is computing the position vector between the satellite and the ground station, 푝; found in the equation below

푋 푋 푝 = [푌] − [푌] 푍 푠푎푡 푍 푔푠

This vector is used along with a Q matrix to compute into a P matrix.

푋 − sin(푅퐴) cos(푅퐴) 0 [푌] = 푝 × [− sin(푙푎푡). cos(푅퐴) − sin(푙푎푡) . sin(푅퐴) cos(푙푎푡)] 푍 푃 cos(푙푎푡). cos(푅퐴) cos(푙푎푡) . sin(푅퐴) sin(푙푎푡)

31 | P a g e

Where, 푙푎푡 and 푅퐴 are the latitude and right ascension of the ground station, to transform into a topocentric frame. The unit vectors of P, 푃̂ are used to calculate the azimuth, 푎푧 and elevation, 푒푙 angles using the following equation and conditions. −1 푒푙 = sin (푃̂푍)

푃̂푦 푎푧 = cos−1 ( ) cos(푒푙)

푃̂ But, When 푥 > 0 cos(푒푙) Then, 푎푧 = 360 − 푎푧

2.3 CONTROL MODEL FOR GROUND STATION TRACKING

2.3.1 Kalman Filter

A vast majority of electronic systems used today come with numerous sensors providing estimates of unknown variables for various measurements. The biggest challenge in tracking and controlling systems is providing precise and accurate estimations for these unknowns. The Kalman filter is one of the most important and widely used algorithms for such estimations. It cultivates the estimates of hidden variables vital to operational performance based on uncertain and inaccurate measurement; it is also capable of predicting the future sate of the system based on estimates of the past (Becker, 2018). When measurements are taken at an almost constant rate, it is more advantageous to update the state with each new measurement. It depends on a highest probability approach and expects Gaussian statistics for all noise sources. The prepared data is important for the current state vector and covariance matrix; hence it isn't important to approach past observation vectors (Reihs, 2016). To ensure the optimality of Kalman Filter, a few conditions on the dynamic system and noise components should be fulfilled. To start with, the arrangement of interest should be direct. At that point, the initial estimate should have Gaussian distribution and they should be uncorrelated. On the off chance that the assumption of Gaussian that isn't fulfilled, Kalman

32 | P a g e

Filter would still remain as the best linear estimator providing the best mean square error performance. In spite of the fact that Kalman Filter was initially created for linear systems, it very well may be applied to nonlinear system by linear approximations. The Kalman Filter makes use of the measurements as well as the dynamic model for optimum performance by adjusting the Kalman gain accordingly. The Kalman gain is capable of deciding whether new data should be utilized or not (Ipek, 2017). The flowchart in Figure 14 provides a simple method of understanding the process of how a Kalman Filter works.

Figure 14: Kalman Filter process flowchart (Biezen, 2015) The Kalman filtering process comprises of three main calculations that are iterative in nature. It is designed in such a way that the estimate gets closer and closer to the actual value by every iteration. The first step calculates the Kalman gain, the step calculates the current estimates that simultaneously updates the measurement; and finally, the error in the estimate is recalculated. To begin with, the Kalman gain is calculated using the original error in the estimate combined with the error in the data measured. This Kalman gain is fed into the calculation of the current estimate that takes into account the previous estimate (which is the original estimate in the first iteration) combined with the measured value from the data. This current estimate calculated is updated to the previous estimate for the next iteration. It is also used to update the calculation

33 | P a g e of the new error in the estimate combined with Kalman Gain. The new error in estimate is used to calculate the Kalman gain in the next iteration and the process goes on. As the iterations go by, the Kalman gain would decide the relative importance towards the previous estimate over the new measured value. Each time the iterative process is undergone, the result is recorded for analysing the system (Biezen, 2015).

The Kalman filter is generally handled in a matrix format as it is easier for mathematical calculations and also to be programmed into a hardware interface. A Kalman filter deals with a certain state of a situation which is comprised of two matrices; a state matrix, 푋 and a process covariance matrix, 푃. The state matrix, 푋 contains the information of the system; in the case of this thesis, it would be the position and velocity. The process covariance matrix, 푃 process covariance matrix represents the error in the estimate or the process that keeps track of the errors along the process. The initial state is denoted as 푋0, 푃0, the previous state as 푋푘−1, 푃푘−1, the new (predicted) state as 푋푘푝, 푃푘푝, and the updated sate as 푋푘, 푃푘 (Gamper et al, 2018). Figure 15 shows an illustration of how the states are update in a Kalman filter.

Figure 15: Update and prediction mechanism of Kalman filtering (Gamper et al, 2018)

The predicted state matrix, 푋푘푝 can be calculated using the following equation.

푋푘푝 = 퐴푋푘−1 + 퐵푢푘 + 푤푘

34 | P a g e

Where, 푢 is the control variable matrix and 푤 is the noise in the process. The case of this thesis 푢 is the acceleration. The other two variables 퐴 and 퐵 are supporting matrices that contributes to obtaining the new state. In the case of this thesis, the equation would look like the following.

∆푡2 1 ∆푡 푋 = ⌊ ⌋ 푋 + [ ] 푎 푘푝 0 1 푘−1 2 ∆푡

Where; 푎 is the acceleration.

The predicted covariance matrix, 푃푘푝 is the error is the estimate and could be calculate with the equation as follows.

푇 푃푘푝 = 퐴푃푘−1퐴 + 푄

Where, 퐴푇is the transpose of the 퐴 matrix and 푄 is process noise covariance matrix. The process noise covariance matrix keeps the state covariance matrix from becoming too small or going to zero. The state covariance matrix, 푃푘 is an important component in calculating the

Kalman gain, 퐾푘. 푇 푃푘퐻 퐾푘 = 푇 퐻푃푘퐻 + 푅

Where, 퐻 is another supporting matrix which is usually an identity matrix; 푅 is the measurement covariance matrix. The measurement covariance matrix is the error in the measurement, which plays vital role in calculating the Kalman gain. 푅 inversely proportional to 퐾. If 푅 goes to 0, then 퐾 goes to 1; which means the adjustment is primarily with the measurement update. However, if 푅 is too large, then 퐾 goes to 0; which means the adjustments are primarily with the predicted state. If 푃 goes to 0, then the measure updates are mostly ignored. The measurement representation of the state matrix is denoted by 푌 and could be represented as the following.

푌푘 = 퐶푌푚 + 푧푘

Where, 푧푘 is the noise in the measurement and 퐶 is a supporting matrix.

The next step is to calculate the current state matrix, 푋푘 and can be calculated by the following.

푋푘 = 푋푘푝 + 퐾푘[푌푘 − 퐻푋푘푝]

35 | P a g e

The last step of the iterative process is to update the process covariance matrix to 푃푘 using the following equation.

푃푘 = (퐼 − 퐾퐻)푃푘푝

Where, 퐼 is the identity matrix.

These values are fed into the new to begin the next iteration. An overview of the whole iteration is illustrated in Figure 16.

Figure 16: Kalman Filter Model (Biezen, 2015)

The Kalman filter is an easy way to track a satellite to its obit from the ground station. Figure 17 shows every iteration in the Kalman filter process could reduce the error in the estimated satellite trajectory (Vergez, 2004).

Figure 17: Kalman Filter Satellite Orbit Correction (Vergez, 2004)

36 | P a g e

CHAPTER 3: METHODOLOGY

Since the literature review has provided all the background information and the theories involved in achieving a precise automatic RF ground station tracking system for S-Band satellites in a LEO altitude; it is essential to gather all this information and utilize it to construct the system to bring it to reality in simulation. This chapter provides the methodology utilized with the aid to the background research in a step-by-step manner. An illustration of the methodology is depicted in the form of a thesis methodology flowchart in Figure 18.

Figure 18: Thesis Methodology Flowchart

3.1 Extract Orbital Elements from TLE Data

The project begins by extracting the orbital elements from the TLE data of the satellite. It is the base point in order to analyse the trajectory of the satellite’s motion along the orbit. Arctic Space Technologies uses the “OPS-SAT” satellite for their data collection as one of their satellites. For the purpose of this thesis the TLE data from the “OPS-SAT” satellite for experimentation. The “OPS-SAT” satellite is a nanosatellite launched on 18th December 2019 being only 30cm in size with the sole purpose of testing and validating new techniques in mission control and on-board satellite systems. It is capable of transmitting S-Band and X- Band signals located at an altitude of approximately 515km in LEO (ESA, 2020). The TLE

37 | P a g e data for the OPS-SAT satellite is freely available to download from the Celes Track website, Figure 19 shows the TLE data of the OPS-SAT used in this thesis.

Figure 19 : TLE data of OBS-SAT

The TLE generally comes in a “.txt” file and can be extracted very easily. In this project a MATLAB code was written to extract the orbital. The parameter of the orbital elements from the TLE are tabulated in Figure 20.

Figure 20: Table of TLE Parameters

3.2 Satellite’s Orbital motion Simulation

Now that the orbital elements are extracted from the TLE, the parameters can be used for calculating the Equations of Motion (EOM) and thereby projecting the satellite’s trajectory in its orbit. All these calculations and simulations are carried out through programming in MATLAB.

For the purpose of this experiment, the simulation time is set to one day in seconds, which equates to 86400s and time step of half a second; which means the simulation would have 172800 samples. The first part of the transformation is to iterate a value for the true anomaly (휃). To ensure highest accuracy, a tolerance level was set to 0.005% for the iterative process. 38 | P a g e

Which mean, the program would keep running the iteration until the error in the eccentric anomaly (퐸) is down to 0.005%. Once the true anomaly is found the program would proceed to the calculation of the PQW coordinate of the perifocal coordinate system. Using thes coordinates combined with Earth’s gravitational constant and the true anomaly, the velocity is calculated in the perifocal coordinate system. These values were then converted to ECI and then ECEF coordinates through MATLAB functions. The EPOCH parameters from the TLE were used to determine the initial time for the apparent Greenwich sidereal time, 휃퐽 which an important element in the calculation of the ECEF coordinates. The satellite’s motion was then three-dimensionally graphically simulated and is shown Figure 21.

Figure 21: 3D simulation of Satellite’s orbital motion

39 | P a g e

The ECEF coordinates were also converted to LLH coordinate system to provide a better graphical representation of the ground trace found in Figure 22.

Figure 22: Ground Trace of LEO Satellite

3.3 Determine the Satellite motion from the Ground Station

With the ECEF coordinates of the satellite motion is recorded for 172800 steps and 0.5s time intervals, the distance and the azimuth and elevation look angles from the ground station can be calculated. The ground station for this project is located in Luleå, Sweden and their LLH coordinates are as follows, 푙푎푡 = 65° 33′ 0"푁

푙표푛푔 = 22° 7′ 58.8"퐸

ℎ = 15.8496푚

Based on the LLH coordinates of the ground station and the ECEF coordinates of the satellite, the satellites motion from the perspective of the ground station can be predicted. The distance to the satellite, the azimuth angles and elevation angles are calculated against the time steps though a MATLAB script. A few graphs were plotted to provide a visual representation of the satellite’s trajectory from the perspective of the ground station within the span of a day.

The graph of the elevation angle against the azimuth angle is shown in Figure 23. 40 | P a g e

Figure 23: Elevation Vs Azimuth The plots of elevation angle against time and azimuth angle against time are shown in Figure 24 and Figure 25.

Figure 24: Elevation Vs Time

41 | P a g e

Figure 25: Azimuth Vs Time The graph of the satellite’s pass distance against time is shown in Figure 26.

Figure 26: Satellite Pass Distance Vs Time

42 | P a g e

It is prominent from the plots are correct and truly lies in a LEO altitude. It can be observed that there are 16 peaks in the graph that corresponds to 16 satellite passes a day; this is the approximate number of passes of a satellite in a LEO altitude.

The MATLAB script records al this data in to matrix files to be exported to the controller interface which will be carried out in SIMULINK. For the purpose of this experiment, another code was written to divide the matrix by the passes. It can be observed from the pass distance vs time graph, the fifth downward peak shows the lowest distance, which means it is the closest point to the satellite translating to the highest signal strength ideally. Thereby the fifth pass will be used to test the controller for experimental purposes.

3.4 Formulate a Mathematical Model for the System

Prior to setting up the controller, a set of conditions and calculation are needed to be made to ensure the Kalman filter works effectively. Establishing a solid mathematical model plays a vital role towards the optimization of the controller.

The prime focus of this project revolves around manoeuvring the azimuth and elevation angle of the ground station accordingly keeping the pointing error minimum to acquire the maximum signal strength to acquire the best signal reception. Hence it is important to a strong correlation between the pointing error and the desired and actual values of the azimuth and elevation angles. To do so, a MATLAB script was written to validate the equation provided by Crawford and Brush (1995)

cos(휃) = sin(푒푙퐴) . sin(푒푙퐷) + cos(푒푙퐴) . cos(푒푙퐷) . cos(푎푧퐷 − 푎푧퐴)

This was done taking the azimuth and elevation angles of the satellite at a fixed point to be set as the desired values. The actual angles were given a range within 10 degrees of the actual point; ideally 휃 = 0, when 푎푧퐴 = 푎푧퐷 and 푒푙퐴 = 푒푙퐷 if the ground station is pointing at the satellite directly. A contour graph was plotted of the range of angles with their corresponding pointing error values; it can be seen in Figure 27.

43 | P a g e

Figure 27: Pointing Error Contour plot It can be seen from the plot that the pointing error is zero at the desired point and the values tend to fade as the actual angles drifts away from the desired angles. This reaffirms that the equation is feasible to be incorporated in the mathematical model of the system.

Now that the pointing error (휃) is computed, this value can be incorporated to calculate the gain of the receiver antenna (퐺) using the following equation.

휃 2 퐺푅 = 퐺푚푎푥 − 12 ( ) (푑퐵) 휃3푑퐵

Where, 퐺푚푎푥 is the maximum gain of the receiver antenna and 휃3푑퐵is the 3dB HPBW of the receiver antenna. In order to calculate them, certain parameters of the receiver are required, these parameters are required for other calculations into developing the mathematical model for the system.

The receiver antenna used by Arctic Space Technologies is a S-Band parabolic reflector antenna by POAM Electronics; its parameters are listed in Figure 28.

44 | P a g e

Figure 28: Antenna Parameters The radiation pattern blueprint from POAM Electronics is shown in Figure 29.

Figure 29: Antenna Radiation Pattern

From the specifications provided, the focal length, 푓 can be calculated using the equation below. 퐷2 푓 = 16푑 = 1.7113푚

Using the focal length, the efficiency of the antenna, 휂 can be calculated using the equation below. 푓 휂 = 퐷

45 | P a g e

= 0.4625

As the operating frequency, 퐹 is provided; the receiver wavelength, 휆 can be calculated using the equation below. 푐 휆 = 퐹 Were, 푐 = 3 × 108푚/푠, the speed of light = 0.1333푚

Using these values, the maximum gain of the antenna, 퐺푚푎푥 can be calculated using the equation below.

휋퐷 2 퐺 = 10 log 휂 ( ) (푑퐵) 푚푎푥 10 휆 = 35.4594푑퐵

The Half Power Beam Width (HPBW) of a parabolic antenna, 휃3푑퐵 can be estimated from the following formula. 휆 휃 = 70 (푑푒푔푟푒푒푠) 3푑퐵 퐷 = 2.5225 푑푒푔푟푒푒푠 Hence, the equation for the gain of the receiver antenna (퐺) can be re-written into the following equation. 휃 2 퐺 = 35.4594 − 12 ( ) (푑퐵) 푅 2.5225

For the model to be feasible to operate, it must meet the condition that the receiver gain (퐺푅) 휃 would reduce by 3dB when the pointing error (휃) drops to half of the HPBW; which is 3푑퐵 = 2 1.26125 푑푒푔푟푒푒푠. A simple MATLAB code was scripted to test this theory and was proven to be true. A graph of the gain against the pointing error was plotted; which can be seen in Figure 30.

46 | P a g e

Figure 30: Graph of Receiver Gain Vs Pointing Error

It is very evident for the graph at the equation meets the condition and is fit for the model of the system. As important as receiver gain, the losses must also be account for; most importantly the Free Space Loss, 퐹푆퐿 which can be calculated using the following equation. 4휋푑 퐹푆퐿 = 20 log ( ) (푑퐵) 10 휆

Where, 푑 is the distance to the satellite from the ground station extracted from the previous step. Another is factor responsible for the signal strength is the 퐸퐼푅푃 which is found by the following equation.

퐸퐼푅푃 = 푃푇 + 퐺푇 (푑퐵푊)

47 | P a g e

Where, 푃푇is the power transmitted and 퐺푇 is the gain of the transmitter. These values are unknown, but they usually remain the same throughout. Hence, for the purpose of the experiment the following assumptions are made.

푃푇 = 100푊 = 20푑퐵푊

퐺푇 = 3푑퐵

So,

퐸퐼푅푃 = 23푑퐵푊

The received power, 푃푅 of the ground station can be calculated using the following equation

푃푅 = 퐸퐼푅푃 + 퐺푅 − 퐹푆퐿 (푑퐵푊)

This equation can be rewritten into the following for our system.

푃푅 = 23 + 퐺푅 − 퐹푆퐿 (푑퐵푊)

The power received, 푃푅 is the only element measured in a real environment and provides a good representation of the Signal strength for the mathematical model. When a signal is received, this procedure is executed back words in order to extract the desired azimuth (푎푧퐷) and elevation (푒푙퐷) angles which is then sent into the Kalman Filter. This procedure along with the proceedings are carried out in SIMULINK.

48 | P a g e

3.5 Signal Transmission and Reception Simulation

With the formulated mathematical model and the orbital ground station look angles and distance parameters extracted from the MATLAB simulation, it is almost ready to build the tracking system. However, since this is a simulation, a signal transmission needs to be simulated in order to replicate a real scenario. In a real situation the pattern signal strength, the

푃푅 is measured using sensors. In order to attain this in a simulation, a satellite motion is extracted with an offset and the power received is formulated. The is done by repeating the step 2 and 3 of the process to extract the orbital ground station look angles and distance parameters extracted from the MATLAB simulation; but this time with an offset to ensure the ground station is not pointing at the satellite, this offset is created by including a small increment in the inclination, 𝑖 from the orbital element parameters. For the purpose of this experiment, the fifth pass over the ground station is tested with various increments of inclination. This thesis report would explore the tracking behaviour in the case of the inclination increments by 1°, 2° and 5°. Since there is an offset in the satellite trajectory, there will also be a slight offset in time of pass in the two sets of extracted data. A MATLAB script was made to filter out the data with the time of pass that are in common in order to ensure synchronization in the simulation. There are five key data set required to begin the SIMULINK simulation for transmission. The actual ground station extracted data from TLE data comprising of the azimuth angle (푎푧푇퐿퐸), elevation angle (푒푙푇퐿퐸) and distance (푑푇퐿퐸). The transmitting ground station extracted data with inclination increment comprising of the azimuth angle (푎푧푇푋) and elevation angle (푒푙푇푋). The SIMULIK design for the satellite transmission and ground station receiver part is shown in Figure 31.

49 | P a g e

Figure 31: SIMULINK design of Satellite Transmitter and Ground Station Receiver

In order to obtain the power received (푃푅) in the simulation, the simulation begins by calculating the pointing error, this case the actual values would be azimuth angle (푎푧푇퐿퐸) and elevation angle (푒푙푇퐿퐸) at the ground station and the desired values would be the azimuth angle

(푎푧푇푋) and elevation angle (푒푙푇푋) at the transmitter. The equation for the pointing error (휃푠푖푚) would be as the following.

cos(휃푠푖푚) = sin(푒푙푇퐿퐸) . sin(푒푙푇푋) + cos(푒푙푇퐿퐸) . cos(푒푙푇푋) . cos(푎푧푇푋 − 푎푧푇퐿퐸)

This pointing error is used to calculate the receiver gain, 퐺푅푠푖푚 using the following equation.

휃 2 퐺 = 35.4594 − 12 ( 푠푖푚 ) (푑퐵) 푅푠푖푚 2.5225

As this system runs though the Kalman filter, the azimuth angle (푎푧푇퐿퐸) and elevation angle

(푒푙푇퐿퐸) at the ground station is being updated along every step and hence the distance to the satellite (푑푇퐿퐸) will be constantly along every step. Hence, a corelation of the pointing error

(휃푠푖푚) and distance to the satellite (푑푇퐿퐸) is made through trigonometry to be updated to 푑푠푖푚 in order to calculate the 퐹푆퐿푠푖푚.

50 | P a g e

푑푇퐿퐸 푑푠푖푚 = cos(휃푠푖푚)

So,

4휋푑 퐹푆퐿 = 20 log ( 푠푖푚) (푑퐵) 푠푖푚 10 휆

And hence the Power Received, 푃푅 can be calculated using the equation,

푃푅 = 23 + 퐺푅푠푖푚 − 퐹푆퐿푠푖푚(푑퐵푊)

This is the power received that would be the input the controller which is passed through the

Kalman Filter to extract the predicted azimuth angle (푎푧푝푟푒푑) and elevation angle (푒푙푝푟푒푑).

These values are then fed back into the transmission and receiving system to update the azimuth

(푎푧푇퐿퐸) and the elevation (푒푙푇퐿퐸) angles from the TLE. It is updated by calculating the difference between the TLE and adding that difference into the next step of TLE angles. In order to maintain a realistic environment, the difference between the azimuth angles is limited to 15° and the difference between the elevation angles were limited to 5°. A predicted pointing error (휃푝푟푒푑) is also calculated, which will be incorporated in controller part of the simulation to calculate the 퐹푆퐿.

cos(휃푝푟푒푑) = sin(푒푙푇퐿퐸) . sin(푒푙푝푟푒푑) + cos(푒푙푇퐿퐸) . cos(푒푙푝푟푒푑) . cos(푎푧푝푟푒푑 − 푎푧푇퐿퐸)

3.6 Controller Simulation

Now that the Received Power (푃푅) is simulated, it will act as the input to the controller. This controller part of the simulation works independently and has no access to the transmitter parameter and tries its best to attain them. The function of this simulator is to use the received power (푃푅) to extract the pointing error from the known information 휃 and compute the estimated azimuth and elevation angles which is then run through a Kalman Filter to be optimised and produces the predicted azimuth angle (푎푧푝푟푒푑) and elevation angle (푒푙푝푟푒푑). The SIMULINK design of the controller is shown in Figure 32.

51 | P a g e

Figure 32: SIMULINK design of the controller

The first step of the controller is to utilize the received power, 푃푅 from the ground station is fed into the controller along with the known variables to calculate the receiver gain 퐺푅 and its corresponding pointing error 휃.Variables like the 퐸퐼푅푃, 퐺푚푎푥 푎푛푑 휃3푑퐵 are fixed; however, in this instance the 퐹푆퐿 needs to be updated with the changes along the cycle. This is done by using the predicted pointing error or the pervious step to calculate the new predicted distance

푑푝푟푒푑. It is calculated using the equation below.

푑푇퐿퐸 푑푝푟푒푑 = cos(휃푝푟푒푑)

So,

4휋푑푝푟푒푑 퐹푆퐿 = 20 log ( ) (푑퐵) 10 휆

Once this is calculated, the pointing error 휃 can be calculated using the equations in the mathematical model. This pointing error (휃) is used along with the azimuth (푎푧푇퐿퐸) and the elevation (푒푙푇퐿퐸) angles passed through a solver to compute the estimated measurement of the azimuth (푎푧푚푒푎) and the elevation (푒푙푚푒푎) angles. These are only estimates and there are parameters missing to extract the exact values, this is why a Kalman Filter is used.

Prior to feeding the data into the Kalman Filter, the azimuth (푎푧) and elevation (푒푙) angles must be converted into position (푢) and velocity (푣) in order to fulfil the requirements of the state matrix (푋). This is converted using the following equation. 푢 = sin(푎푧) . cos(푒푙)

52 | P a g e

푣 = sin(푒푙) 푢 푋 = [ ] 0 푣 This data is considered to be the measured value, the (푌) matrix. Since the state matrix (푋) will be computed based on estimates, the initial value is zero.

0 푋 = [ ] 0 0

The predicted state matrix, 푋푘푝 can be calculated using the following equation.

푋푘푝 = 퐴푋푘−1 + 퐵푢푘 + 푤푘

In order to predict the next state from the previous state in the case of this simulation, 푢푘 is the acceleration 푎. The A and B matrices are as follows.

1 ∆푡 퐴 = ⌊ ⌋ 0 1

∆푡2 퐵 = [ 2 ] ∆푡

Where ∆푡 is the time between each step, since each timestep for the satellite’s motion was set to 0.5s; ∆푡 = 0.5 in this simulation.

Since the acceleration of the satellite is not known and perhaps even not consistent, the system utilizes the velocity estimates to calculate the estimate of the acceleration.

푣푘푝 − 푣푘푝−1 푎 = ∆푡 The process covariance matrix 푃, is the error in the estimate and in the case of this situation, it is the square of the error of the position and velocity and can be denoted by the following matrix. 2 푃 = [∆푢 0 ] 0 ∆푣2 The initial process covariance matrix cannot be assumed to be zero, but must assume the error in the estimate in the TLE data. OPS-SAT has a position error of 16700m and a velocity error of 7.8m/s (Satprobe, 2020). Hence the initial process covariance matrix 푃0 is as follows. 278890000 0 푃 = [ ] 0 0 60.84

53 | P a g e

Since this is a simulation and it is assumed to have no noise and hence assumed to have no errors in the process of calculating the process covariance matrix, the process noise covariance matrix 푄 is considered to be zero. The predicted covariance matrix, 푃푘푝.is as follows. 푇 푃푘푝 = 퐴푃푘−1퐴 The measurement covariance matrix, 푅 in this situation is the error between the measured 푌 and the predicted state matrix, 푋푘푝.

푅푘 = 푌푘 − 푋푘푝 The 퐻 matrix used in this simulation is simply an identity matrix. 1 0 퐻 = [ ] 0 1 These parameters were used to calculate the Kalman gain using the standard equation. 푇 푃푘퐻 퐾푘 = 푇 퐻푃푘퐻 + 푅푘

Once wall the assumptions and conditions were made to obtain 푋푘푝 and 퐾푘 the new state matrix 푋푘 can be calculated.

푋푘 = 푋푘푝 + 퐾푘[푌푘 − 퐻푋푘푝]

Once the new state matrix is calculated, it gets fed into the previous state for the next step and

푋푘 is output with a better estimation of the prediction. It is then transformed back into predicted azimuth angle (푎푧푝푟푒푑) and elevation angle (푒푙푝푟푒푑). These new angles are sent to the ground station where they are update to the next step. Th results of this process will be discussed in the next chapter.

54 | P a g e

CHAPTER 4: RESULTS

This chapter discusses the observation and results from the execution of the simulation performed. The aim of this thesis is achieved by manoeuvring the azimuth and elevation angles of the ground station to ensure the pointing error is kept at a minimum, preferably below HPBW angle, 휃3푑퐵. The results in this chapter discusses the performance of the system developed for the OPS-SAT satellite’s TLE data from the fifth pass of the day with transmission offsets of 2° and 5° of inclination increment.

After the TLE data files are extracted and synchronised with time, it was found that the fifth pass has 5551 samples which means that the satellite pass time over the ground station is approximately 46 minutes. The proceeding two sections will be comparing the azimuth and elevation angles and pointing error over 5551 samples of satellite passing in the scenarios of 2° and 5° of inclination increment in graphical representation. It will then be followed by the discussion of the results.

4.1 Comparing the Azimuth and Elevation angles

In order to visualize the performance of the system, three sets of azimuth elevation angles are compared. The first dataset is original ground station data obtained directly from the TLE. The second dataset is the transmitter data obtained from the TLE with the offset included. The third dataset is the corrected azimuth and elevation after the adjustments were made by the Kalman filter. The aim of this comparison is for the second dataset to try to achieve the values in the third dataset from the first dataset. The graphs of these comparisons are shown in Figure 33 and Figure 34.

55 | P a g e

Figure 33: Comparison of Azimuth and Elevation angles at 2° of inclination increment

Figure 34: Comparison of Azimuth and Elevation angles at 5° of inclination increment It is evident that the system has made significant adjustments to the original dataset to come close to the transmitter dataset. The system shows better performance at 2° compared to at 5°.

4.2 Comparing the pointing errors

Minimizing the pointing error as much as possible is the main goal of the system. As the pointing error decrease, the signal strength of the ground station increases thereby optimizing its performance. In order to obtain a good visualisation of how the contributes to the ground station, a comparison of antenna’s pointing error before passing through the controller and after

56 | P a g e being optimized by the controller are analysed. The aim of this comparison is to ensure the pointing error less than when it was before, preferably less that the HPBW angle 휃3푑퐵.The graph of the pointing errors before and after are shown in Figure 35 and Figure 36.

Figure 35: Before and after comparison of pointing error at 2° of inclination increment

57 | P a g e

Figure 36: Before and after comparison of pointing error at 5° of inclination increment

58 | P a g e

4.3 Discussion

The results obtained from the system are quite satisfactory and has proven to perform effectively compared to simply relying on the azimuth and elevation angles from the TLE data. The azimuth and elevation angles appear to come closer to the desired orientation at most instances. It appears most of the irregularities occur at the peaks when the elevation angles change from an ascending trend to a descending trend, this was expected. The pointing errors are high at these points and it eventually adapts to the receiver signal strength. From the pointing error plots, it is prominent that the pointing loss had decreased significantly and remain under the HPBW angle (휃3푑퐵 = 2.5225°,) of the receiver antenna used in the project.

The receiver gain, 퐺푅is also close the antenna’s maximum gain (퐺푚푎푥 = 35.4594) at most times (plots found results found in Appendix)

However, the results obtained from the plots were not as smooth as expected; there are a few factors that may contribute to these jitters. The solver used to compute the measured azimuth and elevation angles incorporates an iterative prediction providing a close approximation to the actual value as opposed to the exact value. When these angles are transformed to position and velocity, minor errors could make significant change in the position and velocity. This may not translate to a smooth trajectory. The state matrix used in the current system utilizes a one- dimensional normalized position and velocity vectors; it may perform much more efficiently if a three-dimensional state matrix providing more clarity on the exact orientation of the satellite. Also, the system also considers how much the ground station is capable of moving at every step. The Kalman filter may be able to predict the correct expected position, but if these predictions are beyond the limit the maximum threshold is utilized (푎푧𝑖푚푢푡ℎ: 15°푝푒푟 푠푡푒푝, 푒푙푒푣푎푡𝑖표푛: 5° 푝푒푟 푠푡푒푝). This limit contributes to an impact to the Kalman gain. Although this current system is effective, there is always room for improvement.

The TLE data is usually quite accurate and their inclination error is within 5°, hence the reason for testing along that range. Any higher would make a significant change in the trajectory of the satellite. The system has proven to work quite impressively even at higher inclination increments of 10° (plots of results found in Appendix).

59 | P a g e

CHAPTER 5: CONCLUSION

5.1 Summary

This thesis concludes a feasibility study and a conceptual model of establishing a precise automatic RF ground station tracking system for S-Band satellites through simulations. The goal of thesis was to generate a satellite orbital motion from a TLE to extract the azimuth and elevation look angles from a parabolic reflector antenna ground station and incorporate a control design to track the received S-Band RF satellite signals as accurately as possible keeping the pointing error as minimum as possible by adjusting the azimuth and elevation angles of the ground station accordingly. It has consistently been the quest for science and engineering to attempt to explore down the best approach to create the most precise outcomes. Primarily, the orbital elements were extracted by using the TLE data through means of mathematical calculations based on various assumptions. However, in reality nothing remains consistent, the TLE data may most likely have some of their variance eliminated through smoothing or fitting of historical information and hence it is essential to update the TLE data frequently to have a closer approximation of the satellite’s actual position. This would then permit a subsequent decline in propagated error to be broken down. Even if the TLEs were updates regularly, there will always be unavoidable irregular offsets present.

The controller used in the system, the Kalman Filter although it meant for linear systems, it impressively works fairly accurately well in such a nonlinear system. The Kalman filter isn't only a basic process yet includes an assortment of various external sources of information, complex matrix operations, and statistical analysis to create an optimizing algorithm for determining the orbital motion. The best improvement in outcomes comes from realizing how to set up the filter and knowing the essential input parameters. Since the Kalman Filter is versatile providing flexibility to adding more presumption into their calculation, more vulnerabilities can be incorporated into the model for further optimization. The controller used in this system has a single dimension of position and velocity in the state matrix as it is extracted from the azimuth and elevation angles. The Kalman Filter could possibly perform better if the state matrix had three-dimensional vector for the position and velocity making it a six- dimensional state matrix rather than the current two-dimensional state matrix.

60 | P a g e

Overall, this tracking system developed provides a good fit for successfully acquiring a better received signal compared to simply relying on TLE data exclusively. It can contribute towards ground station facilities for acquiring valuable satellite data more effectively.

5.2 Limitations

As this thesis is completely simulation based, most of the work was based on assumptions and may not completely replicate a realistic scenario. The electrical aspects of the mechanism were neglected; this includes the current and power regulations of the system as well as their fluctuations and their offsets in the sensors and controllers. The time delay of transmitting and receiving data to and from system was assumed to be negligible, however the data rates would make significant contribution towards its efficiency. Although limits were made to the adjustments of the azimuth and elevation angles at every step, motor characteristics were not taken into account. These include their torque, speed, the effects of friction and temperature. Since the ground station is located in the north, low temperatures and high magnetic fields would have an effect on electronics.

5.3 Future Work

This thesis has provided plenty of room for improvements. The system can be optimised by upgrading to a more automated system. Currently the TLE’s are manually downloaded and simulated to extract the azimuth and elevation look angles and the data is manually fed into the controller interface. A software could be written to automatically download the TLE data and fed into the controller obtain more precise data. The controller could also account for a timing delay and the current step updates are too instantaneous which may unlikely be practical in reality. Automatic scheduling of satellite passes from multiple satellites and TLEs would further improve the versatility of the system. Lastly as future work, it is important to evaluate the technique in a practical environment, since it was only simulated so far. The entire system could be upgraded to a hardware interface and could be tested using Software Defined Radios (SDRs) before being deployed to actually receiving S-Band RF satellite signals.

61 | P a g e

REFERENCES

Aorpimai, M., Malayavej, V. and Navakitkanok, P., (2014), October. High-fidelity orbit propagator for precise antenna pointing in LEO satellite operation. In The 20th Asia-Pacific Conference on Communication (APCC2014) (pp. 223-226). IEEE.

Atayero, A.A., (2011). Satellite link design: A tutorial. International Journal of Electrical & Computer Sciences IJECS-IJENS, 11(4).

Barth, Y, Blaisdell, A, Dodge, A, Fuentes, G, Fulton, T, Hess, A, Lopez, J, Mata, D, Murphy, T, Penkowsky, S & Tzimourakas, M . (2018). Auto-Tracking RF Ground Unit for S-Band. ASEN 4018 Senior Projects. 1 (1), p1-118.

Becker, A. (2018). Kalman Filter. Available: https://www.kalmanfilter.net/default.aspx. Last accessed 24th Nov 2020.

Biezen, M. (2015). The Kalman Filter. Available: http://www.ilectureonline.com/lectures/subject/SPECIAL%20TOPICS/26/190/1962. Last accessed 14th Jan 2021.

Braga, D.J.D.M.F., (2018). Signals of Opportunity in Low Earth Orbit.

Chaurasiya, K. and Kumar, S., (2015). Design and analysis of parabolic reflector using Matlab. Int. J. of Advanced Research in Electrical, Electronics and Instrumentation Engineering, 4(3).

Cobham. (2011). What is S-Band. Available: https://sync.cobham.com/satcom/knowledge- library/getting-started-on-satellite-communications/what-is-s-band/. Last accessed 25th Jul 2020.

Crawford, P.S. and Brush, R.J.H., (1995). Trajectory optimisation to minimise antenna pointing error. Computing & Control Engineering Journal, 6(2), pp.61-67.

Curtis, H.D., (2013). Orbital mechanics for engineering students. Butterworth-Heinemann.

DEVIKA, S., KARKI, K., KOTAMRAJU, S.K., Kavya, K. and RAHMAN, M.Z., (2017). A NEW COMPUTATION METHOD FOR POINTING ACCURACY OF CASSEGRAIN ANTENNA IN SATELLITE COMMUNICATION. Journal of Theoretical & Applied Information Technology, 95(13).

62 | P a g e

Electronics notes. (2016). Parabolic Reflector Antenna Gain. Available: https://www.electronics-notes.com/articles/antennas-propagation/parabolic-reflector- antenna/antenna-gain-directivity.php. Last accessed 3rd Aug 2020.

ESA. (2020). Types of orbits. Available: https://www.esa.int/Enabling_Support/Space_Transportation/Types_of_orbits. Last accessed 22nd Jul 2020.

ESA. (2020). Low Earth orbit. Available: https://www.esa.int/ESA_Multimedia/Images/2020/03/Low_Earth_orbit. Last accessed 23rd Jul 2020.

Hitt, D. (2010). What Is an Orbit?. Available: https://www.nasa.gov/audience/forstudents/5- 8/features/nasa-knows/what-is-orbit-58.html. Last accessed 22nd Jul 2020. Peterson, K.M., (2003). Satellite Communications.

ESA. (2004). Communicating from space: gaining a grip on antennas. Available: http://www.esa.int/Science_Exploration/Space_Science/Rosetta/Communicating_from_space _gaining_a_grip_on_antennas2. Last accessed 18th Apr 2021.

ESA. (2013). Satellite frequency bands. Available: https://www.esa.int/Applications/Telecommunications_Integrated_Applications/Satellite_fre quency_bands. Last accessed 25th Jul 2020.

ESA. (2020). OPS-SAT. Available: https://www.esa.int/Enabling_Support/Operations/OPS- SAT#:~:text=OPS%2DSAT%20is%20devoted%20to,than%20any%20current%20ESA%20s pacecraft.. Last accessed 4th Apr 2020.

ESOA. (2016). Satellite Orbits. Available: https://www.esoa.net/technology/satellite- orbits.asp. Last accessed 4th Jun 2020.

Eumetsat. (2010). RFI for Pointing/Tracking solutions for Ka-Band Antenna for MTG. EUMETSAT. 1 (1), p1-12.

Gamper, E., Kebschull, C. and Stoll, E., (2018). Statistical using the Ensemble Kalman Filter. Acta Astronaut, pp.22-24.

Guiar, C.N., Lansing, F.L. and Riggs, R., (1986). Antenna pointing systematic error model derivations. Telecommunications and Data Acquisition Progress Report, 88, pp.36-46.

63 | P a g e

Hellerschmied, A., (2014). Observation of GNSS satellites with VLBI antennas; from observation planning to practical implementation (Doctoral dissertation).

İpek, M., (2017). Satellite orbit estimation using kalman filters (Master's thesis).

Jawad, A.J. and Brush, R.J.H., (1996). An optimised tracking antenna controller.

Rahal, W.L., Banabadji, N. and Belbachir, A.H., (2008). Software and hardware implements for tracking low earth orbit (LEO) satellites. Teledetection, 8(2), pp.137-146.

Reihs, B., (2016). Orbit Determination for Space Surveillance.

Rijal, S., (2017). Case Study: Conceptual Ground Station Design for N66 Connect AB.

Rouzegar, H. and Ghanbarisabagh, M., (2019). Estimation of doppler curve for LEO satellites. Wireless Personal Communications, 108(4), pp.2195-2212.

Satprobe. (2020). TLE and position/velocity errors. Available: http://cristianopi.altervista.org/as/err_tle_posvel.html. Last accessed 11th Jan 2021.

Tutorialspoint. (2020). Antenna Theory - Parabolic Reflector. Available: https://www.tutorialspoint.com/antenna_theory/antenna_theory_parabolic_reflector.htm. Last accessed 1st Aug 2020.

Vergez, P., Sauter, L. and Dahlke, S., (2004). An improved Kaiman filter for satellite orbit predictions. The Journal of the Astronautical Sciences, 52(3), pp.359-380.

Wollf, C. (2015). Parabolic Antenna. Available: https://www.radartutorial.eu/06.antennas/Parabolic%20Antenna.en.html. Last accessed 1st Aug 2020.

Ya’acob, N., Tajudin, N., Sarnin, S.S., Ab Rahim, S.A. and Manut, A., (2019). Link Budget and Noise Calculator for Satellite Communication. In Journal of Physics: Conference Series (Vol. 1152, No. 1, p. 012021). IOP Publishing.

Yu, H., (2017), May. Compensation of pointing for the parabolic antenna of a radio telescope. In 2017 Progress In Electromagnetics Research Symposium-Spring (PIERS) (pp. 190-194). IEEE.

64 | P a g e

APPENDIX

Additional Figures

Figure 37: Receiver Gain at 2° of inclination increment

Figure 38: Receiver Gain at 5° of inclination increment

65 | P a g e

Figure 39: Comparison of Azimuth and Elevation angles at 10° of inclination increment

Figure 40: Receiver Gain at 10° of inclination increment

66 | P a g e

Figure 41: Before and after comparison of pointing error at 10° of inclination increment

67 | P a g e

: Complete SIMULINK model SIMULINK :Complete

42 Figure Figure

68 | P a g e

MATLAB Scripts

Orbit Simulation Script

% Orbit Simulator

% Clear everything clc; clear; close all;

% Initialisation

% Add other folders to path addpath('./module_conversion','./tle_data',... './functions');

% Load constants constants()

% Deconstruting TLE Data satTLE = deconstruct_TLE('testTLE1.txt');

% Print Orbital period fprintf('The orbital Period of the LEO Satellite is %.0f seconds \n',... satTLE.orbitPeriod);

% Define Sim Time (1 Day) simTime = 86400; n = sqrt(mu_earth/satTLE.a^3); t0 = satTLE.EpochDay*24*60*60;

% Create a time value array for simulation t = 0:0.5:simTime; timesteps = 0+t; t = t0 + t;

% Calculate M () M = deg2rad(satTLE.meanAnomaly) + n*(t-t0);

% Find E% % Tolerance = 1% tol = 0.005;

% Error in E err = ones(1,size(M,2));

% Initial guess for E E_old = ones(1,size(M,2)).*pi; while max(err) > tol

% Find f(E) fE = E_old - satTLE.e*sin(E_old) - M;

% Find f'(E) fE_derivative = 1 - satTLE.e*cos(E_old);

% Find delta E dE = fE./fE_derivative;

% Calculate new E E_new = E_old - dE;

% Calculate % error in E err = abs(E_new-E_old)/abs(E_old);

% Update old value for E E_old = E_new; end

% Return E E = E_new;

% Find true anomaly A = sqrt((1+satTLE.e)./(1- satTLE.e)).*tan(E./2); theta = 2*(A,1);

% Find distance p = satTLE.a*(1 - satTLE.e^2); r = p./(1 + satTLE.e.*cos(theta));

% Find Position of Satellite x = r.*cos(theta); y = r.*sin(theta); z = zeros(1,size(theta,2));

69 | P a g e orbitPos = [x;y;z];

% Find Velocity of Satellite vx = -sqrt(mu_earth/p).*sin(theta); vy = sqrt(mu_earth/p)*(satTLE.e + cos(theta)); vz = zeros(1,size(theta,2)); orbitVel = [vx;vy;vz];

% Convert satellite coordinates from Orbit to ECI frame ECIPos = orbit2ECI(orbitPos,satTLE); ECIVel = orbit2ECI(orbitVel,satTLE);

% Save true anomaly array trueAnomaly = theta;

% Convert ECI Coordinates to ECEF Coordinates ECEFPos = eci2ecef(ECIPos, 0:0.5:simTime);

% Convert Satellite Coordintes from ECEF to LLHLD LLHGDPos = ecef2llhgd(ECEFPos);

% Plot earth and groundtrack % Initialisation sat_lat = rad2deg(LLHGDPos(1,:)); sat_long = rad2deg(LLHGDPos(2,:)); screen1 = [0.0 0.5 0.5 0.5]; screen2 = [0.5 0.5 0.5 0.5];

% 3D Plot Set-up % Create a sphere, make it earth sized (in meters) fig.globe = figure(1); set(fig.globe, 'Units', 'normalized', 'Position', screen2);

% Create figure and load topographical Earth load('topo.mat','topo');

% Create a sphere, make it earth sized (in meters) [x,y,z] = sphere(50); x = -x.*6378000; y = -y.*6378000; z = z.*6378000; props.FaceColor= 'texture'; props.EdgeColor = 'none'; props.FaceLighting = 'phong'; props.Cdata = topo;

% Plot Earth axes('dataaspectratio',[1 1 1],'visible','on') hold on globe = surface(x,y,z,props); hold on whitebg(1, 'k')

% Plot the 3D orbit lines plt.orbits = plot3(ECIPos(1,:),ECIPos(2,:),ECIPos(3,:)); hold on

% Save LEO points for the 3D plots plt.sats = scatter3(NaN, NaN, NaN,'r', 'filled', ... 'XDataSource', 'ECIPos(1,i)', ... 'YDataSource', 'ECIPos(2,i)', ... 'ZDataSource', 'ECIPos(3,i)');

% 2D Ground Trace Setup fig.map = figure(2); set(fig.map, 'Units', 'normalized', 'Position', screen1); map = imread('earth2D.jpg'); image([-180 180],[90 -90], map); axis xy hold on; grid on; scatter(sat_long, sat_lat,1); hold on title('Ground Trace of LEO Satellite'); ylabel('Lattitude (deg)'); xlabel('Longitude (deg)'); legend('LEO Satellite');

% Save scatter points for LEO ground trace plt.ground_trace = scatter(NaN, NaN,'r', 'filled', ... 'XDataSource', 'sat_long(i)', ... 'YDataSource', 'sat_lat(i)');

% Initialise the angular rate of earth omega_earth = 7.2921159e-5;

% Initialise timestep timeStep = 1000;

% Initialise earth rotation angle angleRotate = rad2deg(omega_earth*timeStep);

% Run a loop to animate the 3D plots and ground trace for i = 1:86400

if mod(i,timeStep) == 0; refreshdata(plt.sats, 'caller'); refreshdata(plt.ground_trace, 'caller'); rotate(globe,[0 0 1],angleRotate); drawnow(); end end

70 | P a g e

timesteps = size(timesteps); timesteps = timesteps(1,2); rnew = ECEFPos';

%Groundstation coordinates luleags = [65.55 22.1130 15.8496]'; gslatlong = luleags; gslat = gslatlong(1,:); gslong = gslatlong(2,:); gsheight = gslatlong(3,:); gsecef = latlongd2ecef(gslatlong);

[ra_gs, dec_gs] = ra_and_dec_from_r(gsecef);

% transform to topocentric frame Qqq = [-sind(ra_gs), cosd(ra_gs), 0 -sind(gslat)*cosd(ra_gs), -sind(gslat)*sind(ra_gs), cosd(gslat) cosd(gslat)*cosd(ra_gs), cosd(gslat)*sind(ra_gs), sind(gslat)]; azimuth = zeros(timesteps,1); % initial array elevation = zeros(timesteps,1); gsattime = zeros(timesteps,1); aja = 1; for i=1:1:size(rnew)

p = rnew(i,1:3) - ra_gs; % vector between groundstation and satellite

px = p*Qqq; % vector times tran matrix pxunit = px/norm(px); % unit vector ele = asind(pxunit(3)); % calculate elevation

sina = pxunit(1)/cosd(ele); cosa = pxunit(2)/cosd(ele);

azi = acosd(cosa); % calculate azimuth

if sina <= 0 azi = 360 - azi; end if azi > 0 && ele >= 0 gst = rnew(i,4); azimuth(aja) = azi; elevation(aja) = ele; gsattime(aja) = gst; aja = aja + 1; end end

azimuthtime = [azimuth,gsattime]; azimuthtime( all(~azimuthtime,2), : ) = []; azimuthtime( :, all(~azimuthtime,1) ) = []; elevationtime = [elevation, gsattime]; elevationtime( all(~elevationtime,2), : ) = []; elevationtime( :, all(~elevationtime,1) ) = [];

ECEFPost = ECEFPos'; gsecef = gsecef'; t = size(ECEFPost); t = t(1,1); height = zeros(t,1 ); k = 1; for i=1:1:size(ECEFPost)

h = sqrt((ECEFPost(i,1)- gsecef(1,1))^ 2 + (ECEFPost(i,2)- gsecef(1,2))^ 2 + (ECEFPost(i,3)- gsecef(1,3))^ 2);

height(k) = h;

k= k +1; end htime = [height ECEFPost(:,4)];

[~,ia,ib] = intersect(gsattime(:,1),ECEFPost(:,4)); gsECEFPostime = [ECEFPost(ib,1:3), gsattime(ia,1)]; gsECEFPostime(1,:) = [];

[~,ia,ib] = intersect(gsattime(:,1),htime(:,2)); hgstime = [htime(ib,1), gsattime(ia,1)]; hgstime(1,:) = [];

%hgstime = hgstime(hgstime(:,1) < 6300000, :); %[~,ia,ib] = intersect(hgstime(:,2),gsECEFPostime(:,4)); %gsECEFPostime = [gsECEFPostime(ib,1:3), hgstime(ia,2)]; %[~,ia,ib] = intersect(hgstime(:,2),azimuthtime(:,2)); %azimuthtime = [azimuthtime(ib,1), hgstime(ia,2)]; %[~,ia,ib] = intersect(hgstime(:,2),elevationtime(:,2)); %elevationtime = [elevationtime(ib,1), hgstime(ia,2)]; k = 1; for i = 1:1:size(azimuthtime) if azimuthtime(i,1)>180 azimuthtime(i,1) = azimuthtime(i,1) - 360; else azimuthtime(i,1) = azimuthtime(i,1); end 71 | P a g e

k = k+1; end k = 1; for i = 1:1:size(elevationtime) if elevationtime(i,1)>90 elevationtime(i,1) = elevationtime(i,1) - 180; else elevationtime(i,1) = elevationtime(i,1); end

k = k+1; end

maingraph = figure; VAEtitle = uipanel('Parent',maingraph); VAEaziGraph = subplot(2,1,1,'Parent',VAEtitle); plot(azimuthtime(:,2),azimuthtime(:,1),'r'); xlabel ('Time in seconds'); ylabel ('Azimuth in degrees'); grid on VAEaziGraph = subplot(2,1,2,'Parent',VAEtitle); plot(elevationtime(:,2),elevationtime(:,1),'g'); xlabel ('Time in seconds'); ylabel ('Elevation in degrees'); grid on figure(4); plot(azimuthtime(:,1), elevationtime(:,1),'.'); title('Elevation Vs Azimuth'); ylabel('Elevation (deg)'); xlabel('Azimuth (deg)'); grid; figure(5); plot(hgstime(:,2), hgstime(:,1)); title('Pass Distance Vs Time'); ylabel('Distance (.)'); xlabel('Time (s)'); grid; daytime=0:0.5:86400; elevationday=zeros(length(daytime),2); elevationday(:,2)=daytime'; azimuthday=zeros(length(daytime),2); azimuthday(:,2)=daytime'; for i=1:size(azimuthtime,1) xx=find(azimuthday(:,2)==azimuthtime(i,2)); if ~isempty(xx) azimuthday(xx,1)=azimuthtime(i,1); end end for i=1:size(elevationtime,1) xx=find(elevationday(:,2)==elevationtime(i,2)); if ~isempty(xx) elevationday(xx,1)=elevationtime(i,1); end end tsheight = timeseries(height); tselevationday = timeseries(elevationday(:,1)); tsazimuthday = timeseries(azimuthday(:,1));

% Export ECEF Data for Satellite save('gsECEFPostime.mat','gsECEFPostime'); save('elevationtime.mat','elevationtime'); save('azimuthtime.mat','azimuthtime'); save('elevationday.mat','elevationday'); save('azimuthday.mat','azimuthday'); save('htime.mat','htime'); save('hgstime.mat','hgstime'); save('tsheight','tsheight','-v7.3'); save('tselevationday','tselevationday','-v7.3'); save('tsazimuthday','tsazimuthday','-v7.3');

%save('gsecef.mat','gsecef');

72 | P a g e