Khusus Pro edition

Ikhtisar

Starlink Viewer menampilkan globe 3D langsung dengan semua ~10.000 satelit Starlink yang bergerak secara real time, lokasi dish Anda, dan koneksi yang disimpulkan ke satelit yang paling mungkin melayani terminal Anda.

Alat pemantauan Starlink yang ideal akan menunjukkan dengan tepat satelit mana yang sedang berkomunikasi dengan dish Anda pada saat tertentu, kapan terjadi handoff ke satelit baru, dan jalur sinyal dari dish melalui satelit ke stasiun bumi. Ini memerlukan dish untuk mengekspos identitas satelit yang melayani dan arah pengarahan beam elektronik. SpaceX tidak mengekspos keduanya, sehingga Nexus menyimpulkan satelit yang melayani dari data yang tersedia.

Mengapa Inferensi Diperlukan

SpaceX mengunci data identifikasi satelit di balik endpoint gRPC yang terautentikasi yang tidak dapat diakses pada firmware konsumer.

  • dish_get_context berisi field initial_satellite_id, tetapi mengembalikan PermissionDenied pada perangkat keras konsumer sejak firmware 9f4d05a4 (Juni 2021).
  • transceiver_get_telemetry mengekspos lmac_satellite_id dan target_satellite_id, tetapi mengembalikan UNIMPLEMENTED pada semua terminal konsumer.
  • Autentikasi PKI challenge-response menggunakan kunci yang dikontrol SpaceX berarti tidak ada bypass dari komunitas.
  • Arah pengarahan beam elektronik: yang akan langsung mengidentifikasi satelit yang melayani, tidak diekspos melalui endpoint mana pun.
  • Antena phased array dish mengarahkan beam-nya secara elektronik hingga ±50° dari boresight, tetapi sudut pengarahan ini sama sekali tidak terlihat oleh konsumer eksternal API.

Data yang Tersedia

Diukur dari dish

Data Apa yang diberitahukan Laju pembaruan
Azimuth dan elevasi boresight Orientasi fisik badan dish 1 Hz
Latensi ping PoP Waktu pulang-pergi ke point of presence 1 Hz
Throughput downlink dan uplink Throughput saat ini 1 Hz
Timer slot Timer slot satelit (selalu 0 pada perangkat keras yang diuji) 1 Hz
Koordinat GPS Lokasi dish Sesuai permintaan
Riwayat gangguan (did_switch) Konfirmasi perpindahan satelit selama gangguan layanan Per peristiwa gangguan
Peta obstruksi (grid SNR) Peta langit 123×123 piksel, berisi data sinyal satelit real-time ketika direset pada batas handover (lihat Obstruction Map and Satellite Tracking) 1 Hz

Sumber eksternal

Data Apa yang diberitahukan
Elemen orbit TLE untuk ~10.000 satelit Starlink (CelesTrak / 18th Space Defence Squadron) Azimuth, elevasi, dan jarak miring yang dihitung dari setiap satelit dari posisi pengamat mana pun

Data yang tidak tersedia

Data Mengapa kami membutuhkannya Status
ID satelit yang melayani Identifikasi langsung Terkunci di balik autentikasi
Sudut pengarahan beam elektronik Arah beam yang presisi Tidak diekspos di endpoint mana pun
Timer slot fungsional Sinyal waktu handoff Field ada tetapi membaca 0 pada firmware konsumer saat ini

Cara Pencocokan Bekerja

Pencocokan satelit

Viewer melakukan komputasi berikut pada 1 Hz:

  1. Posisi pengamat: koordinat GPS dish dari get_location menetapkan posisi Anda di Bumi.

  2. Posisi satelit: menggunakan propagasi orbit SGP4 pada data TLE dari CelesTrak, viewer menghitung azimuth, elevasi, dan jarak miring setiap satelit Starlink yang terlihat dari lokasi dish Anda.

  3. Penyaringan bidang pandang: hanya satelit di atas elevasi 10° yang dipertimbangkan. Arah boresight fisik dish (dari alignment_stats) mendefinisikan pusat kerucut bidang pandang ~100° phased array.

  4. Pemilihan kandidat terdekat: satelit dengan jarak sudut terkecil dari pusat boresight fisik dipilih sebagai satelit yang paling mungkin melayani.

Crosshair boresight

Crosshair pada plot langit polar merepresentasikan orientasi fisik badan dish, bukan arah beam elektronik. Antena phased array Starlink sebagian besar diam setelah penyelarasan awal; nilai boresight berubah hanya sepersekian derajat selama berjam-jam akibat angin atau efek termal. Dish tidak bergerak secara fisik untuk melacak satelit individu.

Pengarahan beam yang sebenarnya terjadi secara elektronik di dalam phased array pada level RF, menyapu hingga ±50° dari boresight fisik untuk melacak satelit yang melayani. Arah beam elektronik ini tidak diekspos melalui endpoint API konsumer mana pun.

Deteksi perubahan satelit

Ketika kandidat satelit terdekat berubah (NORAD ID yang berbeda menjadi yang secara geometris terdekat), ini dicatat sebagai perubahan satelit yang disimpulkan. Perubahan ini berkorelasi dengan tetapi tidak mengonfirmasi handoff dish yang sebenarnya. Ini mencerminkan mekanika orbit; saat satelit melintas di atas dengan kecepatan ~7,5 km/s, satelit yang terdekat dengan pusat boresight dish berubah secara alami setiap beberapa menit.

Handoff satelit yang sebenarnya pada Starlink dirancang agar mulus (make-before-break), tidak menghasilkan diskontinuitas yang terukur dalam latensi atau throughput yang dapat digunakan sebagai sinyal deteksi yang andal pada firmware saat ini.

Skor kepercayaan

Skor kepercayaan mencerminkan kemungkinan geometris bahwa satelit yang dicocokkan adalah satelit yang benar-benar melayani:

Kepercayaan Kriteria Interpretasi
Tinggi < 10° dari boresight, ≤ 3 kandidat terdekat Sedikit satelit di sekitar; kandidat geometris yang kuat
Sedang < 25° dari boresight Berada dalam bidang pandang; kandidat yang wajar
Rendah < 50° dari boresight Dalam jangkauan pengarahan dish tetapi banyak kandidat terdekat
Tidak Cocok > 50° dari boresight Tidak ada satelit dalam jangkauan pengarahan elektronik dish

Ambang batas ini dikalibrasi untuk boresight fisik (arah badan dish), bukan beam elektronik. Karena phased array dapat mengarahkan ±50° dari permukaan dish, satelit yang melayani biasanya berada 10-40° dari pusat boresight fisik. Kecocokan kepercayaan “Tinggi” berarti ada satu kandidat geometris yang kuat; bukan berarti identifikasi telah dikonfirmasi.

Tingkat Akurasi

Yang dapat Anda percayai

Posisi satelit pada globe akurat. Data TLE dari CelesTrak bersifat otoritatif (bersumber dari Skuadron Pertahanan Antariksa ke-18 Angkatan Luar Angkasa AS) dan propagasi SGP4 adalah metode standar yang digunakan oleh komunitas pelacakan antariksa. Akurasi posisi biasanya dalam beberapa kilometer untuk TLE yang baru diperbarui.

Lokasi dish Anda akurat. Data berasal langsung dari GPS onboard dish.

Arah boresight fisik akurat. Diukur oleh IMU (unit pengukuran inersia) dish dengan ketidakpastian ~0,6°.

Kumpulan satelit yang terlihat akurat. Sudut pandang yang dihitung dari posisi Anda ke setiap satelit secara geometris presisi, sehingga plot polar dengan benar menunjukkan satelit mana yang berada di atas dan di mana posisinya di langit.

Yang disimpulkan

Satelit yang diidentifikasi adalah tebakan berdasarkan data. Satelit terdekat dengan pusat boresight adalah kandidat geometris terbaik, tetapi dish mungkin berkomunikasi dengan satelit mana pun dalam jangkauan pengarahan elektronik ±50°. Pada saat tertentu, puluhan satelit mungkin berada dalam bidang pandang.

Perubahan satelit adalah geometri yang diamati, bukan handoff yang dikonfirmasi. Ketika kandidat terdekat berubah, ini mencerminkan pergeseran orbit; satelit yang berbeda menjadi secara geometris paling dekat. Handoff dish yang sebenarnya mungkin atau mungkin tidak bertepatan dengan perubahan geometris ini. Beberapa handoff nyata akan tidak terlihat oleh inferensi (dish beralih ke satelit yang berbeda tetapi yang secara geometris terdekat tidak berubah), dan beberapa perubahan yang diamati adalah murni pergeseran orbit (yang secara geometris terdekat berubah tetapi dish tidak benar-benar beralih).

Skor kepercayaan bersifat geometris, bukan berbasis sinyal. Kecocokan kepercayaan “Tinggi” berarti geometri yang baik, bukan koneksi yang tervalidasi. Tanpa akses ke arah beam elektronik atau ID satelit yang melayani, tidak ada alat berbasis firmware konsumer yang dapat mengonfirmasi satelit mana yang sebenarnya digunakan dish.

Sinyal yang Kami Investigasi

Selama pengembangan, beberapa sinyal dievaluasi untuk deteksi handoff. Semua diuji terhadap perangkat keras nyata (rev3_proto2, firmware 2026.02.16.cr74084 dan 2026.04.07.mr77639.1).

Sinyal Hipotesis Temuan
seconds_to_first_nonempty_slot Seharusnya menghitung mundur per slot satelit dan reset saat handoff Selalu membaca 0 pada perangkat keras konsumer yang diuji; field tidak terisi
Diskontinuitas pop_ping_latency_ms Latensi seharusnya melompat saat jarak miring berubah selama handoff Latensi tetap mulus melalui handoff; SpaceX kemungkinan menggunakan switching make-before-break yang menyerap perubahan jalur
did_switch dari riwayat gangguan Flag konfirmasi perpindahan dalam catatan gangguan Hanya terpicu selama gangguan layanan, bukan handoff bersih rutin ~15 detik
Diskontinuitas boresight Reposisi fisik dish mungkin menyertai handoff Badan dish hampir tidak bergerak; pengarahan beam elektronik menangani pelacakan satelit secara diam-diam
SNR peta obstruksi (tanpa reset) Perubahan SNR per sel seharusnya melacak pergerakan satelit melalui bidang pandang Tanpa mereset peta, pada dish tanpa obstruksi peta mengembalikan peta clear-sky kumulatif statis; semua sel yang terlihat membaca ~1,0 tanpa variasi antara polling berturut-turut. Data yang terakumulasi sepenuhnya jenuh, sehingga pembandingan antar frame tidak menunjukkan perubahan.
SNR peta obstruksi (dengan reset) Setelah memanggil dish_clear_obstruction_map, peta seharusnya dibangun ulang dari kosong dan mengungkapkan posisi satelit yang melayani saat ia melukis piksel baru setiap detik Dikonfirmasi bekerja. Setelah direset pada batas handover, polling 1 Hz menghasilkan lintasan satelit piksel tunggal yang bersih. Lihat Obstruction Map and Satellite Tracking.

Obstruction Map and Satellite Tracking

Latar belakang

Studi SatInView oleh Ahangarpour, Zhao, and Pan (ACM MobiCom '24 LEO-NET Workshop) menunjukkan bahwa satelit yang melayani dapat diidentifikasi dengan mereset peta obstruksi dish pada batas handover 15 detik, melakukan polling pada 1 Hz, dan melakukan XOR pada frame yang berdekatan untuk mengekstrak lintasan satelit saat ia bergerak melintasi bidang pandang. Lintasan yang diamati kemudian dicocokkan dengan posisi satelit yang dipropagasi dari TLE untuk mencapai identifikasi yang hampir tidak ambigu.

Selama pengembangan awal Starlink Viewer, kami menguji peta obstruksi tanpa melakukan reset. Pada dish tanpa obstruksi, peta tampak statis, peta clear-sky yang sepenuhnya jenuh tanpa variasi antar frame. Kami menyimpulkan bahwa data tersebut tidak mengandung informasi sinyal satelit real-time. Kesimpulan ini akurat untuk peta yang belum direset, tetapi tidak lengkap: peta tampak statis karena setiap piksel yang dapat dilukis oleh satelit saat ini sudah menyala dari lintasan satelit sebelumnya. Tanpa terlebih dahulu membersihkan data yang terakumulasi, tidak ada yang baru untuk dideteksi oleh XOR.

Temuan yang diperbarui

Setelah berkorespondensi dengan tim penelitian SatInView, kami menguji pendekatan berbasis reset secara penuh pada perangkat keras rev3_proto2 yang menjalankan firmware 2026.04.07.mr77639.1 (April 2026). Hasilnya mengonfirmasi bahwa teknik ini bekerja pada perangkat keras dan firmware saat ini:

  • dish_clear_obstruction_map tersedia dan berfungsi. Memanggilnya akan membersihkan data SNR yang terakumulasi (377 piksel aktif berkurang menjadi 1 dalam pengujian).
  • Setelah reset, peta dibangun ulang dengan laju sekitar satu piksel baru per detik saat satelit yang melayani bergerak melalui bidang pandang.
  • XOR frame yang berdekatan pada 1 Hz menghasilkan titik lintasan piksel tunggal yang bersih dengan penyebaran hampir nol.
  • Waktu handover 15 detik (detik ke-12, ke-27, ke-42, dan ke-57 setiap menit, tersinkronisasi secara global) dikonfirmasi pada perangkat keras kami. Interval berturut-turut melacak satelit yang sama secara terus-menerus, dengan lompatan lintasan yang jelas ketika terjadi handover sebenarnya.
  • Peta melaporkan FRAME_EARTH pada dish aktif yang diam, yang berarti grid diorientasikan dengan piksel pusat atas sesuai dengan utara sejati. Dish yang bergerak atau tidak aktif mungkin melaporkan FRAME_UT, di mana piksel pusat bawah sesuai dengan arah boresight.

Trade-off: mengapa Nexus tidak mereset peta secara default

Panggilan dish_clear_obstruction_map bersifat destruktif, menghapus profil obstruksi yang terakumulasi dari dish. Untuk pengguna dengan instalasi yang memiliki obstruksi (pohon, bangunan, atau struktur lain), data ini berharga untuk mendiagnosis masalah sinyal dan dibangun seiring waktu melalui banyak lintasan satelit. Mereset setiap 15 detik mencegah dish mengakumulasi data obstruksi apa pun, dan aplikasi seluler Starlink akan menampilkan peta kosong atau parsial.

Nexus saat ini menggunakan inferensi geometris (arah boresight + pencocokan TLE) sebagai metode identifikasi satelit defaultnya. Pendekatan ini tidak destruktif, tidak memanggil endpoint tulis apa pun pada dish dan tidak memiliki efek samping pada data obstruksi pengguna.

Kami menggunakan pendekatan berbasis lintasan sebagai alat kalibrasi untuk memvalidasi dan meningkatkan akurasi inferensi geometris kami. Kami juga mengevaluasi apakah akan menawarkan pelacakan lintasan sebagai mode opt-in untuk pengguna tingkat lanjut dan peneliti, dengan pengungkapan yang jelas tentang trade-off reset peta.

Yang Dapat Mengubah Ini

Pembaruan firmware atau revisi perangkat keras di masa depan dapat mengekspos telemetri tambahan yang akan meningkatkan akurasi inferensi:

  • seconds_to_first_nonempty_slot fungsional: jika field ini terisi pada firmware atau perangkat keras yang lebih baru, ini akan memberikan sinyal waktu yang andal per handoff.
  • Sudut pengarahan beam elektronik: eksposur arah beam aktual phased array akan memungkinkan identifikasi satelit langsung.
  • Pelonggaran autentikasi pada dish_get_context: jika SpaceX mengaktifkan kembali field initial_satellite_id, masalah akan terselesaikan sepenuhnya.
  • Data sinyal real-time non-destruktif: jika firmware masa depan mengekspos informasi sinyal per satelit melalui endpoint terpisah atau varian non-destruktif dari peta obstruksi, pendekatan pencocokan lintasan dapat digunakan tanpa mereset data obstruksi pengguna.
  • Generasi perangkat keras baru: SpaceX sedang menerapkan satelit V3 dan perangkat keras terminal baru. Firmware atau revisi perangkat keras yang berbeda mungkin mengisi field yang saat ini tidak aktif atau mengekspos telemetri baru.

Penelitian Terdahulu

Nexus menggunakan inferensi geometris (arah boresight + posisi satelit yang dipropagasi TLE) untuk memperkirakan satelit mana yang melayani dish. Ini adalah pendekatan heuristik, efektif dan non-destruktif, tetapi terbatas dalam presisi.

Untuk identifikasi dengan akurasi lebih tinggi, teknik SatInView yang dikembangkan oleh Ahangarpour, Zhao, and Pan di University of Victoria (ACM MobiCom 2024, LEO-NET Workshop) mencapai identifikasi satelit yang hampir tidak ambigu dengan mengkorelasikan lintasan peta obstruksi dengan data TLE. Pendekatan mereka memerlukan reset peta obstruksi pada batas handover, yang telah kami konfirmasi bekerja pada perangkat keras dan firmware saat ini (lihat Obstruction Map and Satellite Tracking). Implementasi mereka tersedia di github.com/aliahan/SatInView.

Kami menggunakan teknik berbasis lintasan mereka sebagai referensi untuk mengkalibrasi dan meningkatkan akurasi inferensi geometris yang digunakan dalam Starlink Viewer.

Data Orbital

Posisi satelit bersumber dari endpoint GP tambahan CelesTrak, yang menyediakan ephemeris kontribusi SpaceX yang digabungkan dengan data katalog standar 18th Space Defence Squadron. Data di-cache secara lokal oleh backend Rust dan diperbarui setiap 6 jam, dengan fallback cache basi 48 jam jika CelesTrak tidak dapat dijangkau. Bilah status menunjukkan jumlah satelit saat ini dan usia data.

Lokasi Dish

Viewer menggunakan koordinat GPS dari endpoint get_location dish ketika tersedia. Jika data GPS tidak dapat diakses, Anda dapat memasukkan lintang dan bujur secara manual di panel konfigurasi.