Simülasyon
Simülasyon bu projenin bir parçası, tamamı değil. Tek bir işi vardı: karşılaştırma tablosundaki üç YERKON satırını tahminle değil, her sayısı kaynağına kadar izlenebilen bir modelle doldurmak. Sahada yapılmış bir ölçüm değildir. Yerleşimler maliyet yapılabilirliğini göstermek için; birim sayısı ve yeri değiştirilerek istenilen yerde istenilen doğruluğa ulaşılabilir.

Arazi gerçek
- Üç satır da Ankara'nın gerçek arazisi üzerinde koşuldu. Yükseklik verisi Copernicus'un 30 metrelik haritasından bir kez indirilip paketin içine kondu, yani depoyu indiren biri tabloyu internete hiç çıkmadan yeniden üretebiliyor.
- Şehir Kızılay: bir kenarı üç kilometre, en alçak ve en yüksek noktası arasında 91 metre fark var. Açık arazi Polatlı ovası: bir kenarı yirmi kilometre, 486 metre yükseklik farkıyla. Tünel ise Kızılcahamam'daki dağların içinden geçen gerçek bir 2 kilometrelik güzergâh.
- Hiçbir yerde "düz zemin" seçeneği yok. Düz bir yüzey modelin çizebileceği en tarafsız arazi değil, en elverişli arazidir: sonucu olduğundan iyi gösterirdi.
Menzili tek bir hesap belirler
- Kodun hiçbir yerinde "azami menzil şu kadardır" diye bir sayı yok. Menzil, sinyalin yolda ne kadar zayıfladığı hesaplanarak çıkıyor. Aynı hesap iki şeye birden karar veriyor: bağlantı kuruluyor mu ve kurulduysa ne kadar hassas ölçüyor.
- Sinyal alıcıya iki yoldan gelir: doğrudan ve zeminden sekerek. Belli bir mesafeden sonra bu ikisi ters düşüp birbirini zayıflatır. O mesafe anten yüksekliğiyle birlikte arttığı için, birimi alçağa koymak menzilden götürür.
- Sinyal engellerin üzerinden bükülerek geçer ve bu sırada zayıflar. Hesap, yoldaki en kötü tek engele değil bütün araziye bakıyor (ITU-R P.526-15 §4.5.2, delta-Bullington). Kızılay'da bir bağlantının önünde ortalama üç engel var, en kötüsünde on altı.
- Arazi on metrede bir okunuyor. Sabit 64 noktada okunsaydı 6,9 km'lik bir kırsal bağlantıda bu 108 metrede bir demek olurdu; aradaki tümsekler atlandığı için kayıp 37,60 dB yerine 31,28 dB çıkardı.
- Bir bağlantıda bu iki kayıptan büyük olan hesaba giriyor, ikisi toplanmıyor. İkisi de aynı arazinin aynı bağlantıya yaptığını anlatıyor; toplamak aynı tepeyi iki kez saymak olurdu.
- Bunların üstüne bir de gölgeleme biniyor: aynı mesafedeki iki bağlantının, arada ne olduğuna göre farklı çıkması. Yol açıkken 4 dB, kapalıyken 7,8 dB kadar (3GPP TR 38.901). Rastgele olduğu için hesap sekiz kez tekrarlanıyor ve sekiz denemenin bütün sonuçları bir arada değerlendiriliyor.
Mesajlaşma ve konum hesabı
- Mesafe hesapla çıkarılmaz, ölçülür. İki telsiz karşılıklı mesaj gönderir; SX1280'de bir ölçüm alışverişi, Göndermeden Önce Dinle (LBT) kuralının istediği %5 sessizlikle birlikte 33,4 milisaniye sürüyor.
- On iki birimle sırayla ölçüşmek 401 milisaniye sürüyor. Bu sürede 100 km/sa giden araç 11,1 metre yol alıyor, yani bir turdaki ölçümler aynı ana ait değil. Hesap da onları aynı anda alınmış gibi kabul etmiyor.
- Konumu hesaplayan kod, aracın gerçekte nerede olduğunu hiç görmez. Yalnızca şunları görür: ölçülen mesafe, birimin kurulumda ölçülmüş konumu, ölçümün saati ve o ölçüme ne kadar güvenildiği.
- Yol kenarına dizilmiş birimler hep aynı yükseklikte olduğu için yüksekliği mesafelerle ölçmek zor. Filtre bu yüzden alıcının haritasındaki yol yüksekliğini bir ölçüm olarak alıyor, 2,43 m'lik bir harita hatasıyla; hata yol boyunca parça parça çekiliyor. Tablodaki VPE sütunu bu hesabın sonucu.
- Yatay hatanın ortancası (HPE P50)
- Yatay hata, en kötü %5 hariç (HPE P95)
- Hataların ortancadan P95'e dağılımı
- Düşey hata, en kötü %5 hariç (VPE P95)
Ortalamayla geçmeyen üç hata
- Önü kapalı bir bağlantı olduğundan uzun ölçer. Sinyal engelin üzerinden dolaşıyor ve ölçüm bu uzun yolu sayıyor. Hata hep aynı yöne, artı yöne gidiyor; bu yüzden çok ölçüp ortalamak onu götürmüyor.
- Birimin konumu kurulumda yanlış ölçüldüyse, o yanlış orada kalır. Her birim için bir kez çekiliyor ve sonuna kadar taşınıyor. Tünelde hataların ortancası, birimler kusursuz ölçülmüş olsaydı 0,12 m çıkıyor; 15 cm'lik bir ölçüm hatasıyla bunun yaklaşık beş katı. Konum, birimlerin yerinin ölçüldüğünden daha iyi olamaz.
- Kaybolan mesaj ölçüm vermez. Kullanılan 2,4 GHz bandı kablosuz ağlarla ortak, yani kalabalık. Şehirde mesajların %15'i kayboluyor, açık yolda %5'i, tünelde hiçbiri.
Modele girmeyenler
- Aracın hareket sensörü ve tekerlek turu hesaba katılmadı. Filtre yalnız telsiz ölçümlerini ve haritadan gelen yüksekliği birleştiriyor. Rapordaki tasarımda ikisi de var; buradaki sayılar bu yüzden gerçek bir araçtan daha kötü.
- Sinyalin bina duvarlarından sekerek birden çok yoldan gelmesi (çok yollu yayılım) ayrıca modellenmedi; modelde yalnız zeminden sekme ve önü kapalı bağlantının uzun ölçmesi var. Telsizin kendi gürültüsü ve mesajlaşma sırasında saatin kayması ise modelde.
- Tünel kaybı gerçek bir karayolu tünelinde 2,8-5 GHz'de ölçülmüş bir modelden geliyor ve 6,5 GHz'e taşındı; 6,5 GHz'de ölçülmedi.
- Güvenlik katmanı da yok. İmza doğrulama, anahtar yönetimi ve birimlerin merkeze gönderdiği yaşam sinyalleri tasarımın parçası, simülasyonun değil.
Zaten yüksek yerler
Şehir içi ve kırsal satırlarda direkler bir ızgarada değil, bir yerleşim aramasının seçtiği yerlerde durur; simülatördeki En iyi yerleşimi bul bölümü ve Hızlı başla kutusu aynı aramayı haritadan seçilen başka bir yer için koşar. Aday yerler var olan aydınlatma direkleri ve tabelalar, yol kenarındaki direkler (şehirde aydınlatma, kırsalda elektrik dağıtım direği) ve tepelere dikilecek 25 m'lik direklerdir. Çatılar bina sahibinden kiralandığı için aday sayılmıyor. Her aday bağlantı bütçesiyle denenir; seçim, ömür boyu maliyete göre bir örtme aramasıdır. Bir noktanın kapsandığı sayılması için dört birime ulaşması ve bu birimlerin noktanın etrafındaki dört yönün (kuzey, güney, doğu, batı çeyrekleri) en az üçüne dağılmış olması gerekiyor. Birimlerin hepsi aynı caddeye, aynı yöne dizilirse konum o cadde boyunca belirlenemez.
Arama yerleri bulur ve kendi hızlı tahminini verir; o yerleşimin gerçek doğruluğunu simülasyon ölçer. Önerilen yerleşimi uygulayıp Simülasyonu çalıştır düğmesine basınca eski yerleşimle aynı yolculukta karşılaştırılır.
Tarayıcıda ve kendi makinende
Simülasyonu çalıştır düğmesi simülatörü bu tarayıcıda açar. Hiçbir sunucu hesap yapmaz: Python, numpy ve bu projenin kendi paketi sayfaya iner ve her şey bu bilgisayarda koşar. İlk açılış yaklaşık 20 MB indirir ve bir dakika kadar sürebilir; sonra tarayıcı saklar. Tarayıcıda tek işlemci kullanıldığı için bir koşu yerel kurulumdakinden yavaştır; Hızlı deneme bunu kısaltır.
Tabloyu yeniden yayımlamak, başka bir şehrin zeminini indirmek ya da üç satırı birden tam çözünürlükte koşturmak için yerel kurulum gerekir. Dört komut:
Hızlı deneme
Simülatördeki Hızlı deneme düğmesi ve komut satırındaki --fast iki şeyi kabalaştırır: yoldaki engellerin rastgele etkisi sekiz yerine bir kez denenir ve arazi 10 m'de bir yerine her bağlantıda sabit 64 noktada okunur. Hesap on beş dakikadan bir dakikaya iner.
Arazi seyrek okununca tepelerin arkasındaki zayıflama eksik hesaplanıyor, bu da hızlı sonucu çoğunlukla olduğundan iyi gösteriyor. Engellerin etkisini bir kez denemek ise iki yöne de saptırabiliyor: aynı yerleşimde bir satır hızlıda iyi, başka biri kötü çıkabiliyor. Hızlı hesap yalnız denemek için; Sonuçlar sayfasındaki tablo yalnızca yavaş ve tam hesaptan gelir.
git clone https://github.com/ysoktar/yerkon
cd yerkon
pip install -e ".[dev]"
yerkon view