Package lejos.hardware.gps
Class Satellite
- java.lang.Object
-
- lejos.hardware.gps.Satellite
-
public class Satellite extends java.lang.ObjectThis class models data extracted from NMEA GSV Sentence $GPGSV,1,1,13,02,02,213,,03,-3,000,,11,00,121,,14,13,172,05*67 4 = SV PRN number 5 = Elevation in degrees, 90 maximum 6 = Azimuth, degrees from true north, 000 to 359 7 = SNR, 00-99 dB (null when not tracking) You can find out more about a satellite by looking up the PRN number here: http://en.wikipedia.org/wiki/List_of_GPS_satellite_launches- Author:
- Juan Antonio Brenha Moral
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAzimuth()Direction to the satellite in degrees.intgetElevation()How many degrees over the horizon the satellite is.intgetPRN()Return PRN number from a Satellite.intgetSignalNoiseRatio()* Signal to Noise Ratio (SNR) for the signal from a satellite.booleanisTracked()Indicates if the GPS receiver is actively tracking this satellite and using it to fix the GPS location.voidsetAzimuth(int a)Set AzimuthvoidsetElevation(int e)Set ElevationvoidsetPRN(int p)Set PRNvoidsetSignalNoiseRatio(int s)Set SNRvoidsetTracked(boolean tracked)
-
-
-
Method Detail
-
getPRN
public int getPRN()
Return PRN number from a Satellite. PRN stands for Pseudo-Random Noise. The PRN is the index to the assigned pseudorandom number sequence used to encode the satellite transmissions. PRN is a binary signal with random noise-like properties. It is generated by mathematical algorithm or "code", and consists of repeated pattern of 1's and 0's. This binary code can be modulated on the GPS carrier waves using Binary Shift-Key (BSK) modulation. The C/A-Code and the P-Code are examples of PRN codes. Each satellite transmits a unique C/A-Code and P-Code sequence (on the same L1 and L2 frequencies), and hence a satellite may be identified according to its "PRN number", e.g. PRN2 or PRN14 are particular GPS satellites.
-
setPRN
public void setPRN(int p)
Set PRN- Parameters:
p-
-
getElevation
public int getElevation()
How many degrees over the horizon the satellite is. This is a value between 0 and 90. 0 means it is by the horizon and 90 straight up.- Returns:
- Elevation in degrees (0 to 90)
-
isTracked
public boolean isTracked()
Indicates if the GPS receiver is actively tracking this satellite and using it to fix the GPS location.- Returns:
- true means this satellite is part of the GPS solution. false means it is probably obscured/unable to receive the signal.
-
setTracked
public void setTracked(boolean tracked)
-
setElevation
public void setElevation(int e)
Set Elevation- Parameters:
e-
-
getAzimuth
public int getAzimuth()
Direction to the satellite in degrees. This is a value between 0 and 360. 0 is straight north, 90 is east, 180 is south and 270 is west. Any value in between is of course also valid.- Returns:
- Azimuth in degrees, 0 to 360.
-
setAzimuth
public void setAzimuth(int a)
Set Azimuth- Parameters:
a-
-
getSignalNoiseRatio
public int getSignalNoiseRatio()
* Signal to Noise Ratio (SNR) for the signal from a satellite. This is a number between 0 and 99. Where 99 is perfect and 0 means the satellite is not available. A typical good value is 40. And a GPS typically starts using a satellite when its SNR value is higher than 25.- Returns:
- SNR value between 0 and 99.
-
setSignalNoiseRatio
public void setSignalNoiseRatio(int s)
Set SNR- Parameters:
s-
-
-