UBAKUSAT Sinyallerini Dinleyelim ve Çözelim

 Barış DİNÇ, TA7W
 13 Mayıs 2018

Bu yazımızda UBAKUSAT uydusundan aldığımız GMSK 9600 şeklinde modüle edilmiş AX.25 paketlerini nasıl decodeederek telemetri verilerini oluşturabileceğimizi öğreneceğiz. Bu yazıda daha önce kaydedilmiş ses dosyaları üzerinden çalışarak çevrim dışı (offline) bir çözümleme işlemini anlatacağım.

Ben bu çalışmayı linux ortamındaki hazır araçlarla yapacağım ama benzer programları hatta aynı programları windows işletim sistemi içinde bulabilir veya alternatiflerini deneyebilirsiniz.

Kullanacağım araçlar :

LEO (Low Earth Orbting – Alçak Dünya Yörüngesi) Uydu geçişleri birkaç dakika ile 15 dakika arasında olmaktadır. Herşeyi hazırlayıp geçiş anındaki telemetri verisini anlıkçevrimiçi (online) çözümlemek oldukça zordur. Ancakbu yazıda anlatacağımız yazılımları kullanmaya alıştıktan sonra bunları çevrimiçi de kullanabilir olacaksınız.

Programların çevrimiçi nasıl birbirine bağlanabilecekleri ile ilgili kullanımı başka bir yazıda ele almaya çalışacağım.

Öncelikle geçiş sırasında kaydedilmiş bir ses dosyasına ihtiyacımız var. Bu dosyayı aşağıdaki yöntemlerden biriile oluşturabilirsiniz:

  • Geçiş esnasında telsizinizin hoparlör çıkışını bilgisayarınızın mikrofon girişine uygun bir yapıda bağlayıp, doppler etkisini manuel veya bilgisayar destekli olarak sağlayarak uydudan 437.225Mhz de yapılan yayını kaydediniz
  • Bir SDR alıcısını (örneğin RTL SDR) 437.225Mhz merkez frekansına ayarlayıp band genişliğini NBFM yaparak uydu sinyalini gördüğünüz yerin üzerine kilkleyerek sinyali WAV dosyası olarak bilgisayarınıza kaydediniz, bu işlemler sırasında doğru frekansı denkgetirmeniz zor olabilir, bunedenle bu işlemi aşağıdakiçözümlebirlikte uygulamanızı tavsiye ederim,
  • Bir SDR alıcısını (örneğin RTL SDR) 437.225Mhz merkez frekansına ayarlayıp IQ datasını kaydediniz, böylece geçiş esnasında belirli bir aralıkta (örneğin 200Khz) bulunan tümyayınları kaydetmiş olursunuz. Daha sonra 2. adımdaki işlemi SDR alıcınız yerine IQ dosyasından oynatarak ses dosyasını kaydediniz
  • Ya da benim bu yazıda yapacağım gibi SATNOGS ağında başkalarının kaydettiği veriler ile hızlıca denemeler yapabilirsiniz.

Bu yazıda, işleri biraz kolaylaştırmak adına, https://network.satnogs.org/observations/?norad=99998&observer=&page=1&failed=1&bad=1&good=1&station=&future=1&unvetted=1 adresinde bulunan ve SATNOGS ağına bağlı radyo amatörleri tarafından kaydedilmiş ses dosyalarını kullanacağım.

Bu sayfada bulunan RESULTS bölümünde aşağıdaki işaret, bu dinlemeye ait bir ses dosyası olduğunu belirtir:

İndireceğiniz dinlemenin ENCODING bölümünde GMSK9k6 yazdığından emin olunuz.

Bu kaydın dinleme işareti üzerinde kliklediğinizde kaydın WATERFALL olarak dinleme görüntüsü gelir.

Bu kayıtta birkaç kez telemetri sinyali alınmış, 400. saniye civarındaki sinyal oldukça başarılı görünmektedir. Öyleyse bu kaydın ses dosyasını dinleyebilirsiniz, bunun için yukarıdaki tab’lardan AUDIO’ya basmanız yeterli olacaktır (400. saniye civarına giderek dinleme yaparsanız, telemetreverisinin sesinin neye benzediği konusunda fikir sahibi olabilirsiniz)

Şimdi sol taraftaki DOWNLOAD bölümünden ses dosyasını indirip kaydedelim.Gösterilenörnek için bilgisayarınıza “satnogs_133879_2018-05-13T11-05-33.ogg” adında bir ses dosyası indirmiş olacaksınız.

Şimdi bu dosyayı AUDACITY programıyla açın. Aşağıdaki gibi bir ses dosyası ile karşılaşacaksınız.

Modem verisi olan bölümleri kolaylıkla ayırtedilebilmektedir (kesikli çizgilerinoluştuğu noktalar). Ben öncelikle kolaylık olsun diye modem verisi olmayan kısımları ses dosyasından kesip çıkartıyorum ve arşivliyorum. Böylece daha az yer kaplamış oluyor. Bunu DIREWOLF programına girdi olarak verebilirsiniz. Ama direwolf ile birlikte ATEST programıda yüklennmiş ise veri çözme işlemi için bu kesme ve kaydetme işini yapmanıza gerek yok. ATEST programı hızlı bir şekilde tüm ses dosyasını analiz etmekte ve içinde bulunan modem verilerini decode etmektedir.

Şimdi yukarıda hazırladığımız WAV dosyasının içindeki verileri çözelim :

atest -B 9600 -P C+ satnogs_133879_2018-05-13T11-05-33.wav

Çıktı olarak aşağıdaki gibi mesaj göreceksiniz :

———————————————————–

baris@baris-laptop:~$ atest -B 9600 -P C+ satnogs_133879_2018-05-13T11-05-33.wav

Data rate set to 9600 bits / second.

Using scrambled baseband signal rather than AFSK.

Demodulator profile set to “C+”

48000 samples per second

16 bits per sample

1 audio channels

4118642 audio bytes in file

Fix Bits level = 0

Channel 0: 9600 baud, K9NG/G3RUH, C+, 48000 sample rate x 2.

DECODED[1] 0:16.7098 YM1RAS audio level = 93(+136/-125) |||||||||

[0.4] YM1RAS>TA2MKA:TC0SAT<0x0b><0x0b>Z�<0x1f>�<0x01>

DECODED[2] 0:24.8244 YM1RAS audio level = 113(+150/-138) __|||||||

[0.5] YM1RAS>TA2MKA:TC0SAT<0x0b><0x0b>Z� <0x1b><0x01>

2 packets decoded in 0 seconds.

Burada çözümlenmen telemetri mesajı konusunda genel bir fikir sahibi olacaksınız. Ancak BYTE olarak kodlanmış telemetre verileri terminal ekranınızda anlaşılırkarakterler olarak görünmeyeceklerdir. Bunun için ATEST programı çıktısını hexadecimal rakamlar olarakgörebilmemiz gerekmektedir.

Bunun için DIREWOLF programının kendisini kullanacağız. Aşağıdaki komut ses dosyamızı hızla ekrana basarken, bunu okuyan DIREWOLD içindekileri bize hexadecimal rakamlar olarak verecek:

cat satnogs_133879_2018-05-13T11-05-33.wav | direwolf -B 9600 -r 48000 -n 1 -b 16 -d p –

Bu komutun çıktısı aynı dosya için aşağıdaki gibi olacak :

Dire Wolf version 1.3

Includes optional support for: gpsd

ERROR – Could not open config file /home/baris/direwolf.conf

Try using -c command line option for alternate location.

Audio input device for receive: stdin (channel 0)

Audio out device for transmit: default (channel 0)

Channel 0: 9600 baud, K9NG/G3RUH, +, 48000 sample rate x 2.

Note: PTT not configured for channel 0. (Ignore this if using VOX.)

Ready to accept AGW client application 0 on port 8000 …

Ready to accept KISS client application on port 8001 …

Use -p command line option to enable KISS pseudo terminal.

YM1RAS audio level = 93(+136/-125) [NONE] |||||||||

[0.4] YM1RAS>TA2MKA:TC0SAT<0x0b><0x0b>Z�<0x1f>�<0x01>

——

U frame UI: p/f=0, No layer 3 protocol implemented., length = 140

dest TA2MKA 0 c/r=1 res=3 last=0

source YM1RAS 0 c/r=0 res=3 last=1

000: a8 82 64 9a 96 82 e0 b2 9a 62 a4 82 a6 61 03 f0 ..d……b…a..

010: 54 43 30 53 41 54 0b 0b 5a f8 1f df 01 00 00 00 TC0SAT..Z…….

020: a5 01 01 01 01 01 01 01 16 01 01 01 01 ff e6 00 …………….

030: 12 ff fe fe 5e fe e0 00 d2 00 07 00 01 ff 78 00 ….^………x.

040: 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 …………….

050: 02 00 02 03 4b 00 10 00 10 00 07 03 45 00 08 00 ….K…….E…

060: 00 00 00 00 00 00 00 03 48 00 1d 03 5c 03 19 00 ……..H…\…

070: 05 03 5b 00 05 03 06 02 8e 00 02 02 92 00 02 02 ..[………….

080: 92 00 02 5a f8 1d de 00 0e d3 a0 00 …Z……..

——

Error: Information part of telemetry packet must begin with “#”

Telemetry

YM1RAS audio level = 113(+150/-138) [NONE] __|||||||

Audio input level is too high. Reduce so most stations are around 50.

[0.5] YM1RAS>TA2MKA:TC0SAT<0x0b><0x0b>Z� <0x1b><0x01>

——

U frame UI: p/f=0, No layer 3 protocol implemented., length = 140

dest TA2MKA 0 c/r=1 res=3 last=0

source YM1RAS 0 c/r=0 res=3 last=1

000: a8 82 64 9a 96 82 e0 b2 9a 62 a4 82 a6 61 03 f0 ..d……b…a..

010: 54 43 30 53 41 54 0b 0b 5a f8 20 1b 01 00 00 00 TC0SAT..Z. …..

020: a5 01 01 01 01 01 01 01 16 01 01 01 01 ff e2 00 …………….

030: 14 00 06 00 0a ff 82 01 3f ff fa 00 1f ff 75 00 ……..?…..u.

040: 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 …………….

050: 02 00 02 03 4a 00 10 00 10 00 07 03 44 00 07 00 ….J…….D…

060: 00 00 00 00 00 00 00 03 48 00 1d 03 5c 03 19 00 ……..H…\…

070: 05 03 5d 00 05 03 07 02 8e 00 02 02 93 00 02 02 ..]………….

080: 93 00 02 5a f8 1d de 00 0f bd 40 00 …Z……@.

——

Error: Information part of telemetry packet must begin with “#”

Telemetry

End of file on stdin. Exiting.

Bu ekranda bulunan hexadecimal rakamları kopayaladığımızda aşağıdaki gibi ikitane mesaj elde ederiz :

a8 82 64 9a 96 82 e0 b2 9a 62 a4 82 a6 61 03 f0

54 43 30 53 41 54 0b 0b 5a f8 1f df 01 00 00 00

a5 01 01 01 01 01 01 01 16 01 01 01 01 ff e6 00

12 ff fe fe 5e fe e0 00 d2 00 07 00 01 ff 78 00

02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00

02 00 02 03 4b 00 10 00 10 00 07 03 45 00 08 00

00 00 00 00 00 00 00 03 48 00 1d 03 5c 03 19 00

05 03 5b 00 05 03 06 02 8e 00 02 02 92 00 02 02

92 00 02 5a f8 1d de 00 0e d3 a0 00

a8 82 64 9a 96 82 e0 b2 9a 62 a4 82 a6 61 03 f0

54 43 30 53 41 54 0b 0b 5a f8 20 1b 01 00 00 00

a5 01 01 01 01 01 01 01 16 01 01 01 01 ff e2 00

14 00 06 00 0a ff 82 01 3f ff fa 00 1f ff 75 00

02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00

02 00 02 03 4a 00 10 00 10 00 07 03 44 00 07 00

00 00 00 00 00 00 00 03 48 00 1d 03 5c 03 19 00

05 03 5d 00 05 03 07 02 8e 00 02 02 93 00 02 02

93 00 02 5a f8 1d de 00 0f bd 40 00

Ben kolay olsun diye aşağıdaki gibi bir linux komut satırıkullanarak istediğim bilgiye kolayca ulaştım, sizler notepad veya benzeri bir programlada temizlik yapıp sadece telemetre bilgilerineulaşabilirsiniz:

cat satnogs_133879_2018-05-13T11-05-33.wav | direwolf -B 9600 -r 48000 -n 1 -b 16 -d u -d p – |awk -F”0:” ‘{print $2}’ -| grep “^ ” – | awk -F. ‘{print$1}’ | sed ‘s/TC0SAT//’

Sıra geldi bu telemetre verisinin içindekimesajı anlamaya. Bunun için :

http://www.tamsat.org.tr/tr/ubakusat-usat-telemetri-dekoder/

isimli yazımızdaki EXCEL dosyasını indirin. Dosyayı açıp içindeki sol üst bölüme bu iki mesajı sırasıyla yapıştırın, dosyanın alt bölümlerinde çözümlenmiş verileri görecek ve uydumuzun o anki durumu hakkında bilgi sahibi olacaksınız.

Buarada dikkat etmeniz gereken şey, excel dosyası içerisinde de belirtildiği gibi, mesajın başından ‘54 43 30 53 41’ olab bölümüne kadar olan kısmını silmektir.Çünkü bubölüm telemetre bilgisi değil istasyon bilgileridir.

54 43 30 53 41 54 0b 0b 5a f8 1f df 01 00 00 00 a5 01 01 01 01 01 01 01 16 01 01 01 01 ff e6 00 12 ff fe fe 5e fe e0 00 d2 00 07 00 01 ff 78 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 00 02 03 4b 00 10 00 10 00 07 03 45 00 08 00 00 00 00 00 00 00 00 03 48 00 1d 03 5c 03 19 00 05 03 5b 00 05 03 06 02 8e 00 02 02 92 00 02 02 92 00 02 5a f8 1d de 00 0e d3 a0 00

Verisi için EXCEL dosyasının çıktısı aşağıdaki gibidir :

Şimdiden iyi eğlenceler diliyorum…

 

Bu yazıya 4 yorum yapılmış.

  1. Merhaba, geçiş saatlerini https://www.n2yo.com/satellite/?s=43466 adresinden takip edebilirsiniz.

  2. bende denemek isterim

  3. Öncelike katkılarınızın bulunduğu UBAKUSAT için tebrik ederim.Ayrıca son dönemde girişi artan yazılarınızı görmekten mutluluk duyuyorum ve keyifle okuyorum,sadece emeği geçen yazar arkadaşların bunu bilmesini istedim.iyi çalışmalar kolaylıklar

    • Sayfamizdaki teknik bir aksaklik nedeni ile bir suredir yazi ekleyemiyorduk. Ancak bundan sonra yogunlasarak TAMSAT calismalari ile ilgili paylasimlarimizi buradan sizlerle paylasmaya devam edecegiz. Destekleriniz icin simdiden cok tesekkurler.

Yazı hakkında görüşlerinizi belirtmek istermisiniz?