26 Nisan 2021 Pazartesi

National Maritime Electronics Association - NMEA GPS Mesajları

Giriş
Soru şöyle
Q : How can the GPS position update rate be 10 Hz?

Based on stuff on the web (Wikipedia and others) the GPS navigation message bit rate is 50 bit/s. That includes all data needed for user position calculation (time, ephemeris, almanac, etc.) It seems that the packet from a satellite should be much longer than 50 bits, so a complete packet must take longer than one second to completely broadcast (with a 50 bit/s rate.)

How is a 10 Hz position update rate (update each 100 milliseconds) possible?

A: 50 bps is indeed the bitrate at which the almanacs and ephemerides are transmitted. Given the size of this data as well as framing and other overhead, it takes far more than 0.1 seconds (and more than 1 sec) to transmit this data.

However, the actual position calculation is done using precise timing information derived from the PRN, and that's coming in at the chip rate (1.023 Mchip/second for L1 coarse acquisition (C/A) code), rather than at the 50 bps nav rate.

The PRN repeats once every millisecond (for L1 C/A) so even the most crude cross-correlation with the PRN could produce a new (noisy) timing measurement at 1 kHz. A lower rate like 10 Hz allows more time for measurement, filtering, and calculation (see analysis here)

A new set of ephemerides is not needed for each position update; in fact a single ephemeris is valid for hours [ref here as well as pg.157 of here]. The GPS receiver continues making calculations with respect to the existing ephemeris, just using new timing information as it comes in.
Soru şöyle. Burada önemli nokta three-spheres çözümü . Yani 3 tane uyduyu kullanarak konumu hesaplar.
Q : Why does GPS need the fourth satellite?
...
I understand that the GPS receiver knows its location by calculating its distances from 3 satellites, and by eliminating one of the two points of the intersection of the 3 spheres.

A : Your GPS cannot directly determine the distance from any satellite, it has to go indirectly. It gets a signal from the first satellite, say "it was exactly 10:30:25.123456789 seconds according to my extremely precise clock when this signal was sent", and it gets a signal from the second satellite, say "it was exactly 10:30:25.123556789 seconds according to my extremely precise clock when this signal was sent". The clocks are 0.0001 seconds apart. So the signal from the first satellite travelled 0.0001 seconds longer. At 299,792,458 meter/sec, that is 29,979.2458 meters difference. So you are 29,979 meters closer to the second satellite than to the first. And your GPS also knows the exact location of the satellites.

With the third satellite, you also learn how much closer or further away you are to the third satellite compared to the first and the second. You can turn that into three rather complicated equations, and try to solve those equations, but there is not just one solution: There is a whole curve of solutions.
Devamı şöyle. Yani 4. uydu ile çözüm sayısı azaltılıyor.
Now if three satellites is all you've got, your GPS can make a guess:
...
With a fourth satellite, there are four ways to take three satellites and calculate the curve where you should be, so you get four curves. And then the GPS picks the point that it is closest to all four curves. That gives you your location quite precisely, and at the same time, if the curves don't meet exactly in one point but are maybe ten meters apart, then you also know the precision of your location.
Modulasyon ile ilgili bir soru şöyle
The signal from GPS satellites is very faint - each satellite has to broadcast a signal to about half the planet, powered only by some solar panels! So the broadcast signal is modulated using a 'Gold Code' (in the case of the oldest public GPS signal) where part of the signal transmitted by the satellite is already known by the receiver - the GPS receiver can pick out the signal despite how faint it is, by tracking the cross-correlation between the received and expected signals.

This also means multiple satellites can transmit their signals at the same frequency - so long as they use different gold codes, the receiver can track both signals independently.

Newer GNSS signals replace gold codes with newer techniques - like 'multiplexed binary offset carriers' - which perform better, but do basically the same thing.

GPS cihazını normalde başka bir şeyle beslemek gerekmez. Bazı deniz sistemlerinde
Echo Sounder'dan gelen 
 DBT : Depth Below Transducer
 DPT : Depth of Water

GyroCompass'tan gelen
 HDT : Heading True

Speed Log'dan gelen
  VHW :  Water Speed and Heading - Suya Göre Bağıl Hız

ile besleniyor

GPS cihazlarından çok çeşitli mesajlar gelebiliyor. Bazı mesajlar şöyle. Ben konum için hep GGA kullandım
1. GGA - Konum
2. GLL - Konum
3. RMC - Konum 
4. GNS- Konum - Combined Navigation System (GPS, GLONASS) kullanarak konum
GPS kalitesi hakkında bazı mesajlar şöyle
1. GST - İstatistiki Bilgi
2. GSA - Uydu Sayısı
Diğer mesajlar şöyle
1. GSV - Pseudo Range Error Statistics yani İstatistiki Bilgi
2. VTG - Hız
3. ZDA - Saat ve Takvim
Bazı GPS cihazları sadece alıcı değil. Gidilen yerleri de kaydediyor ve USB ile cihaza bağlanınca, Internet/WIFI/Mobil bağlantı üzerinden merkeze aktarabiliyor.

1. GGA - Global Positioning System Fix Data - Konum
Bu cümleler arasında en önemlilerden biri GGA (Global Positioning System Fix Data) 'dır. GPS dilinde "Fix" o an bulunduğumuz noktanın belirlenmesidir.
Örnek bir cümle şöyle
$GPGGA,181908.00,3404.7041778,N,07044.3966270,W,4,13,1.00,495.144,M,29.200,M,0.10,0000*40
Açıklaması şöyle
181908.00
it is a timestamp value. we can reach hour, minute and second of location using this value.

3404.7041778,N
it is latitude of location. 34 degree and 04.7041778 minute

07044.3966270,W
it is longitude of location. 70 degree and 44.3966270 minute

4
it is a quality value of location. This value can be one of 0,1,2,3,4,5,6,7 and 8
each number represents the location’s precision. when this value is 4, it means that location’s accuracy is RTK-fix. if you need really reliable location, consider that this value have to be 4.

13
it represent number of satellites being tracked.

1.00
horizontal dilution of position.

495.144
it is altitude value as meters above sea level.

29.200
Height of geoid (mean sea level) above WGS84 ellipsoid
Burada dikkat edilmesi gereken nokta fix quality denilen şeydir. Eğer alanın değeri 1 ise veri uydulardan gelmektedir. Eğer değeri 2 ise DGPS (Differential Global Positioning System) kullanılmaktadır. DGPS kullanımını hiç görmedim. Sistem GPS koordinatını bilen bir yer istasyonu vasıtasıyla yapılıyor.

2. RMC - Recommended Minimum Specific GPS/Transit Data - Konum
Aslında GGA ile aynı işi görür. Açıklaması şöyle. Ancak RMC "Recommended" olduğu için tüm GPS cihazları gönderir.
The data in both will be the same. If they aren't, it has to do with the timing of sending the messages.

The reason they are both sent is for compatibility, and because they do contain different data for some fields. If you just need lat/lon and time, then either sentence is fine. I would go with GPRMC, as all NMEA GPS units should send this sentence.
Difference between GGA and RMC sentences in NMEA
Açıklaması şöyle. Yani GGA'dan farklı olarak RMC mesajında hareket edilen açı da veriliyor.
Track angle (field 6 in RMC) is the direction the vehicle is moving, not necessarily the direction it faces, although for a ground (wheeled or tracked) vehicle these are very likely the same.

Yes, it's relative to true north.
Alanları şöyle
UTC of position fix
Status A=active or V=void
Latitude 
Latitude N/S
Longitude 
Longitude E/W
Speed over the ground in knots
Track angle in degrees (True) veya Course Over Ground (True)
Date (ddmmyy
Magnetic variation in degrees
Magnetic variation E/W
Positioning System Mode Indicator
Örnek bir cümle şöyle. Burada Mode Indicator alanı yok
$GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
Örnek bir cümle şöyle. Burada Mode Indicator alanı var. Ancak N = Data not valid
$GPRMC,073109.00,V,,,,,,,240220,,,N*77
Latitude ve Longitude (d)ddmm.mmmm formatında geliyor. Yani derece (degree), dakika (minute) milisaniye cinsinden. Bunu ondalık bir sayıya çevirmek için şöyle yaparız.

Latitude=35.15 N
35.15/60 = .5858 N

Longitude= 12849.52 E,
128+ 49.52/60 = 128.825333 E

3. GLL - Geographic Position – Latitude/Longitude
Alanları şöyle. Aslında bu mesaj GGA ve RMC ile aynı
Latitude 
Latitude N/S
Longitude 
Longitude E/W
UTC Time
Status A=active or V=void
Positioning System Mode Indicator

4. GNS - Fix Data
Cihazın farklı uydu sistemler için alıcısının olması gerekir. Açıklaması şöyle. Yani Talker Id olarak önce GN kullanılıyor. Daha sonra GPS için GP,  GLONASS için GL ile gönderiyor.
GNSS capable receivers will always output this message with the GN talker ID

GNSS capable receivers will also output this message with the GP and/or GL talker ID when using more than one constellation for the position fix

An example of the GNS message output from a GNSS capable receiver is:

$GNGNS,014035.00,4332.69262,S,17235.48549,E,RR,13,0.9,25.63,11.24,,*70<CR><LF>
$GPGNS,014035.00,,,,,,8,,,,1.0,23*76<CR><LF>
$GLGNS,014035.00,,,,,,5,,,,1.0,23*67<CR><LF>
Örnek bir cümle şöyle
$GPGNS,112257.00,3844.24011,N,00908.43828,W,AN,03,10.5,,,,*57

5. GST - Pseudo Range Error Statistics
İstatistiki bilgi yani kalite (quality) hakkında bilgi verir.
Örnek bir cümle şöyle
$GPGST,172814.0,0.006,0.023,0.020,273.6,0.023,0.020,0.031*6A
6. GSA - GPS DOP and active satellites
Uydu sayısı yani kalite (quality) hakkında bilgi verir

7. VTG - Vector track an Speed over the Ground - Hız
Bu mesajın yeni ismi "Course Over Ground and Ground Speed". Ground'a göre hız aynı zamanda SpeedLog cihazının "VBW - Dual Ground/Water Speed" mesajı ile de alınabilir.

8. ZDA - Time & Date - UTC, day, month, year and local time zone - Saat ve Takvim
Açıklaması şöyle. Burada TalkerId olarak GP yani GPS gösteriliyor.
An example of the ZDA message string is:

$GPZDA,172809.456,12,07,1996,00,00*45

ZDA message fields
Field Meaning
0         Message ID $GPZDA
1         UTC
2         Day, ranging between 01 and 31
3         Month, ranging between 01 and 12
4         Year
5         Local time zone offset from GMT, ranging from 00 through ±13 hours
6         Local time zone offset from GMT, ranging from 00 through 59 minutes
7         The checksum data, always begins with *
9. DTM - Datum Reference
Mesaj alanları şöyle
Local datum code.
Local datum subcode. May be blank.
Latitude offset (minutes)
N or S
Longitude offset (minutes)
E or W
Altitude offset in meters
Datum name. What’s usually seen here is "W84", the standard WGS84 datum used by GPS.

Hiç yorum yok:

Yorum Gönder