Ham GPS Verileri Kullanılarak Konum Hesaplama
GPS sisteminin önemi
- GPS, Küresel Konumlama Sistemi'dir ve Google Haritalar'da rota bulmadan araç çağırma uygulamalarına kadar çeşitli uygulamalarda kullanılır
- GPS son derece hassastır; levha tektoniğini ve kıtaların hareketini ölçmek için bile kullanılır
- GPS, ABD hükümetine aittir ve jeopolitik nedenlerle diğer ülkelerin erişimi sınırlandırılabilir
- Bu nedenle Rusya'nın GLONASS'ı, Avrupa Birliği'nin Galileo'su ve Çin'in BeiDou'su gibi diğer ülkelerin GPS benzeri sistemleri geliştirilmiştir
Koordinat sistemleri
- Konumu ifade etmek için çeşitli koordinat sistemleri kullanılır
- Yaygın olarak kullanılan enlem/boylam, matematiksel hesaplamalar için uygun değildir
- ECEF (Earth Centered, Earth Fixed) koordinat sistemi, Dünya'nın merkezini başlangıç noktası alarak konumu ifade eder
- WGS 1984 sistemi, en yaygın kullanılan ECEF koordinat sistemidir
Yükseklik tanımı
- Yüksekliği tanımlarken referans alınacak yüzeyin belirlenmesi gerekir
- Referans elipsoidi ve jeoit modeli kullanılır
- Referans elipsoidi fiziksel bir anlama sahip değildir; jeoit ise aynı yerçekimi potansiyeline sahip noktaların kümesi olarak tanımlanır
Enlem ve boylam
- Jeodezik enlem, elipsoid yüzeyindeki dikey çizgi ile ekvator düzlemi arasındaki açıdır
- Jeodezik boylam, başlangıç meridyeni ile belirli bir meridyen arasındaki açıdır
- Jeodezik yükseklik, elipsoid üzerinden ölçülen yüksekliktir
Jeodezik koordinatlar ile Kartezyen koordinatlar arasında dönüşüm
- Jeodezik koordinatları Kartezyen koordinatlara dönüştürmek basittir
- Kartezyen koordinatları jeodezik koordinatlara dönüştürmek ise yinelemeli bir prosedür gerektirir
Yerel koordinat sistemi
- Yerel koordinat sistemi, kullanıcının konumunu merkez alan ENU (East-North-Up) sistemidir
- ECEF koordinatlarını ENU koordinatlarına dönüştürmenin bir yöntemi vardır
GPS ile kullanıcı konumunun hesaplanması
Uydu konumunun belirlenmesi
- Uydunun yörüngesi eliptiktir ve 6 Kepler parametresiyle tamamen tanımlanır
- Uydunun konumu, GPS arayüz spesifikasyonu belgesine göre hesaplanır
Kullanıcı ile uydu arasındaki mesafenin hesaplanması
- GPS alıcısı, uydu sinyalinin zaman damgasını kullanarak uyduya olan mesafeyi hesaplar
- Bu mesafeye sözde mesafe (pseudorange) denir
- Doğru konumu hesaplamak için kullanıcı ve uydu saat ofsetleri ile atmosferik gecikmeler modellenmelidir
Kullanıcı saat ofsetinin tahmini
- Kullanıcı saat ofseti, kullanıcı konumuyla birlikte tahmin edilir
Kullanıcı konumu ve saat ofsetini tahmin etme algoritması
- Başlangıç kullanıcı konumu ve saat ofseti belirlenir, ardından bunlar yinelemeli olarak düzeltilir
- Her uydu için sözde mesafe düzeltilir, sinyal iletim zamanı hesaplanır ve uydu konumu hesaplanır
- En küçük kareler çözümünü bulmak için lineer cebir teknikleri kullanılır
Matlab kodu hakkında notlar
- Bazı denklemler için çözücü çağrılması gerekir
- Örneğin ortalama anomaliden (M) dışmerkez anomalinin (E) hesaplanması bir çözücü gerektirir
Deney düzeni
- Ham GPS verilerini toplamak için özel bir GPS birimi gerekir
- u-blox'un NEO-M8T ve 6T çipleri uygundur
- Ham GPS sinyalini almak ve kaydetmek için RTKLib'in STRSVR yardımcı programı kullanılır
Ham GPS verisinin işlenmesi
- STRSVR, ham GPS verisini RTCM3 formatında kaydeder
- RTCM verisini çözmek ve Matlab veri yapısına dönüştürmek için Matlab kütüphanesi goGPS kullanılır
Sonuç analizi
- Konum ve saat ofsetindeki değişimler analiz edilir
- Konumun doğu/kuzey/yukarı (E/N/U) bileşenlerindeki değişimler analiz edilir
- Saat ofsetindeki değişimler zamana göre analiz edilir
Uydu azimut/yükseklik hesaplaması
- Kullanıcı merkezli ENU çerçevesinde uydu azimutu ve yüksekliği hesaplanır
GN⁺ özeti
- Bu yazı, GPS sisteminin çalışma prensibini ve konum hesaplama yöntemini açıklar
- GPS verilerinin doğruluğunu artırmak için çeşitli düzeltme yöntemleri kullanılır
- Matlab kodu aracılığıyla gerçek verilerin nasıl işlenip analiz edileceğini gösterir
- GPS sisteminin teknik altyapısını anlamak için faydalıdır
- Benzer işlevlere sahip projeler arasında RTKLib ve goGPS bulunur
1 yorum
Hacker News görüşleri
Android zaten taşıyıcı faz erişimi sunuyor ve bu sayede aynı bölgedeki cihazlar arasında göreli konum çok hassas biçimde ölçülebiliyor
Kendi GPS alıcısını yapmak isteyenler için bir açık kaynak proje var
GPS ile ilgili yorumlarda sıkça paylaşılan bir bağlantı, ama bunun iyi bir nedeni var
Daha etkileşimli bir açıklama sunan alternatif bir bağlantı da var
Nadiren kısa süreliğine su yüzeyine çıkan sucul canlıların GPS verilerini toplayan bir araştırmacıyla tanışmıştım
Bir sonraki adım PPP veya RTK
Bir başka iyi açık kaynak uygulama da var
Kullanıcı-kaynak geometrisinin, kullanıcının konumundaki belirsizliği nasıl etkilediğini gösteren bir görsel var
GPS'in, günlük hayatta görecelik etkilerinin hesaba katılması gereken az sayıdaki uygulamadan biri olduğunu duymuştum
Düz Dünya taraftarları için alıştırma sorusu: Eğer uydular küresel bir Dünya'nın yörüngesinde dönmüyorsa, telefonunuzdaki GPS haritalamanın nasıl çalıştığını açıklayın