Menu

UBAKUSAT Sinyali Dinleme/Çözme

Bu yazımızda UBAKUSAT uydusundan aldığımız GMSK 9600 şeklinde modüle edilmiş AX.25 paketlerini nasıl decode ederek 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 biri ile 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ı denk getirmeniz zor olabilir, bu nedenle bu işlemi aşağıdaki çözümle birlikte 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üm yayı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, telemetre verisinin 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ırt edilebilmektedir (kesikli çizgilerin oluş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üklenmiş 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ümlenen telemetri mesajı konusunda genel bir fikir sahibi olacaksınız. Ancak BYTE olarak kodlanmış telemetre verileri terminal ekranınızda anlaşılır karakterler olarak görünmeyeceklerdir. Bunun için ATEST programı çıktısını hexadecimal rakamlar olarak gö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ı kopyayaladığımızda aşağıdaki gibi iki tane 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 :

https://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.

Bu arada dikkat etmeniz gereken şey, excel dosyası içerisinde de belirtildiği gibi, mesajın başından ‘54 43 30 53 41’ olan bölümüne kadar olan kısmını silmektir.Çünkü bu bö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…

Beğen  
Yazar

TAMSAT - Sistem Mühendisliği Teknik Danışmanı Ankara

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yapılan Yorumlar ( 16 )