You are on page 1of 8

ACADEMIC YEAR 2023-2024 EVEN SEMESTER

214ECE0100 GPS FUNDAMENTALS


ASSIGNMENT SUBMISSION FORM
Assignment No:
Name : ALOK KUMAR
Register No. : 99210041134
Year and Section : 3rd/ S-12
Submission Date : 15/03/2024
No. of Pages :8
Submitted to : Dr. C. Jenila, Assistant Professor, DECE, KARE

_____________________________________________________________________

(For Faculty use only)

Rubrics Total Marks Marks Awarded

Technical Concept and Clarity 50

Documentation and Presentation 25

Ethics 25

Total 100

1
TABLE OF CONTENT

S.NO CONTENT

INTRODUCTION
1

2 OBJECTIVE

3 CODE

4
OUTCOMES

5 CONCLUSION

2
INTRODUCTION
In today's interconnected world, Global Positioning System (GPS) technology has
become an indispensable tool for navigation, tracking, and location-based services.
From guiding drivers on unfamiliar roads to aiding search and rescue missions in
remote areas, GPS has revolutionized the way we perceive and interact with space. At
the heart of this technological marvel are the GPS satellites orbiting the Earth,
continuously broadcasting signals that allow receivers to determine their precise
location.
However, while GPS has become ubiquitous in our daily lives, the intricate workings
of its satellite constellation and the spatial distribution of its coverage areas often
remain opaque to many users. Understanding the coverage areas of GPS satellites is
crucial for optimizing navigation accuracy, predicting signal reliability, and mitigating
potential challenges such as signal obstruction in urban environments or signal
degradation in mountainous regions.
The coverage areas of GPS satellites are influenced by a myriad of factors, including
their orbital parameters, atmospheric conditions, and terrain topology. Among these
factors, the orbital parameters of the satellites play a pivotal role in determining their
spatial distribution and signal visibility across the Earth's surface. Parameters such as
semi-major axis, eccentricity, inclination, and right ascension of the ascending node
govern the trajectory and orientation of GPS satellites as they orbit the Earth
Given the complexity of these orbital dynamics, there arises a need for effective tools
to visualize the coverage areas of GPS satellites and elucidate the spatial patterns of
signal reception across different regions. This is where MATLAB, a powerful
computational tool widely used in engineering and scientific domains, comes into
play. Leveraging MATLAB's robust mathematical capabilities and interactive
visualization tools, we can develop sophisticated algorithms to calculate satellite
positions and depict their coverage areas with precision and clarity
By embarking on this endeavor, we aim to bridge the gap between abstract orbital
mechanics and tangible real-world applications, empowering users to gain deeper
insights into the workings of GPS technology and harness its full potential for
navigation and beyond. In this pursuit, we present a comprehensive approach to
visualizing GPS satellite coverage areas using MATLAB, encompassing data
acquisition, mathematical modeling, MATLAB implementation, and visualization
techniques. Through this endeavor, we strive to advance our understanding of GPS
satellite dynamics and pave the way for enhanced navigation systems and location-
based services in the digital age.

3
OBJECTIVE
The objective of our problem statement is to develop MATLAB functions that
can draw maps or graphics showing where GPS signals are strong or weak across
different parts of the Earth, using information about how the satellites move in
space. This visualization will help us understand how well GPS works in different
locations and improve navigation accuracy.
• Develop MATLAB functions to visualize the coverage areas of GPS
satellites.
• Create visual representations showing where GPS signals are strong or
weak across the Earth's surface.
• Enhance understanding of GPS satellite coverage dynamics to optimize
navigation accuracy and reliability

CODE
// Create a satellite scenario and a viewer. Specify the start date and duration of 1 hour for the
scenario.
startTime = datetime(2023,2,21,18,0,0);
stopTime = startTime + hours(1);
sampleTime = 60; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime);
viewer = satelliteScenarioViewer(sc,ShowDetails=false);

Create a satellite constellation consisting of 66 satellites in low earth orbit (LEO) with the
following properties:

numSatellitesPerOrbitalPlane = 11;
numOrbits = 6;

RAAN = [];
trueanomaly = [];

for i = 1:numOrbits
for j = 1:numSatellitesPerOrbitalPlane

RAAN(end+1) = 180*(i-1)/numOrbits; %#ok<SAGROW>


if mod(i,2)
trueanomaly(end+1) = 360*(j-1)/numSatellitesPerOrbitalPlane;
%#ok<SAGROW>
else
% Satellites offset in alternating orbits
trueanomaly(end+1) = 360*(j-1 + 0.5)/numSatellitesPerOrbitalPlane;
%#ok<SAGROW>

4
end
end
end

semimajoraxis = repmat((6371 + 780)*1e3,size(RAAN)); % kms


inclination = repmat(86.4,size(RAAN)); % degrees
eccentricity = zeros(size(RAAN)); % degrees
argofperiapsis = zeros(size(RAAN)); % degrees

sats =
satellite(sc,semimajoraxis,eccentricity,inclination,RAAN,argofperiapsis,trueanomal
y,Name="Iridium " + string(1:66)');

// Create ground station locations by creating a grid of latitude-longitude coordinates and


selecting the coordinates within a buffered region corresponding to mainland Australia.
latlim = [-40 -9];
lonlim = [110 160];
spacingInLatLon = 1; % degrees
proj = projcrs(7845);
spacingInXY = deg2km(spacingInLatLon)*1000; % meters
[xlim,ylim] = projfwd(proj,latlim,lonlim);
R = maprefpostings(xlim,ylim,spacingInXY,spacingInXY);
[X,Y] = worldGrid(R);
[gridlat,gridlon] = projinv(proj,X,Y);
[gridlat,gridlon] = projinv(proj,X,Y);
landareas = readgeotable("landareas.shp");
australia = landareas(landareas.Name == "Australia",:);
T = geotable2table(australia,["Latitude","Longitude"]);
[landlat,landlon] = polyjoin(T.Latitude,T.Longitude);

bufwidth = 1;
[landlatb,landlonb] = bufferm(landlat,landlon,bufwidth,"outPlusInterior");
australiab = geopolyshape(landlatb,landlonb);
gridpts = geopointshape(gridlat,gridlon);
inregion = isinterior(australiab,gridpts);

gslat = gridlat(inregion);
gslon = gridlon(inregion);

// Enable the modeling of downlinks by adding transmitters to the satellites and adding
receivers to the ground stations
fq = 1625e6; % Hz
txpower = 20; % dBW
beamWidth = 62.7; % degrees
if antennaType == "Gaussian"
lambda = physconst('lightspeed')/fq; % meters
dishD = (70*lambda)/beamWidth; % meters
tx = transmitter(sats, ...
Frequency=fq, ...
Power=txpower);
gaussianAntenna(tx,DishDiameter=dishD);
end
if antennaType == "Custom 48-Beam"
antenna = helperCustom48BeamAntenna(fq);

5
tx = transmitter(sats, ...
Frequency=fq, ...
MountingAngles=[0,-90,0], ... % [yaw, pitch, roll] with -90 using Phased
Array System Toolbox convention
Power=txpower, ...
Antenna=antenna);
end

//Add Ground Station Receivers


isotropic = arrayConfig(Size=[1 1]);
rx = receiver(gs,Antenna=isotropic);
pattern(tx,Size=500000);

OUT COMES

6
7
CONCLUSION

we successfully implemented mathematical modeling to calculate satellite positions and


determine coverage areas. The MATLAB implementation involved importing orbital data,
performing computations, and generating visualizations.
These visualizations provide valuable insights into the distribution of GPS signals across
different regions, helping optimize navigation systems and improve user experience

You might also like