Raspberry Pi WSPR Beacon(İşaretçi)

Raspberry Pi WSPR Beacon(İşaretçi) raspberry pi wspr

Bu yazıda ise Raspberry Pi WSPR beacon kurulabileceğine odaklanıyoruz.Bu yazıda ise Raspberry Pi WSPR beacon kurulabileceğine odaklanıyoruz.


Daha önce WSPR Nedir? başlıklı çalışmamızda zayıf sinyal yayılım protokolünün matematiksel altyapısını ve 4-FSK modülasyon detaylarını ele almıştık.

Bu makalemizde ise ek bir radyo verici katına ihtiyaç duymadan, sadece bir adet Raspberry Pi kullanarak nasıl yüksek kararlılıkta bir Raspberry Pi WSPR Beacon (İşaretçi Verici) sistemi kurabileceğinizi, donanımsal ve yazılımsal mühendislik detaylarıyla açıklıyoruz.

Raspberry Pi üzerindeki GPIO4 (GPCLK0) pini, dahili kesirli faz kilitli döngü (Fractional Phase-Locked Loop – PLL) donanımı ve doğrudan bellek erişimi (DMA – Direct Memory Access) modülleri kullanılarak bir RF frekans sentezleyici gibi sürülebilir. Bu yöntemle GPIO pininden yaklaşık 10 \text{ mW} (10 \text{ dBm}) ile 20 \text{ mW} (13 \text{ dBm}) arasında bir RF çıkış gücü elde edilip, uygun bir alçak geçiren filtre (Low-Pass Filter) entegrasyonu sonrasında doğrudan antene aktarılabilir. Ancak, bu doğrudan sentezleme yöntemi kare dalga ürettiğinden, yüksek seviyeli harmonik salınımların filtrelenmesi teknik ve yasal açıdan zorunludur.

Yazı İçeriği

WSPR Teknolojisinin Çalışma Prensibi

WSPR (Weak Signal Propagation Reporter), zayıf sinyallerin küresel yayılım yollarını iyonosferik yansımalar yardımıyla test etmek amacıyla tasarlanmış dar bantlı bir dijital protokoldür. 2008 yılında Nobel Fizik Ödüllü bilim insanı Joe Taylor (K1JT) tarafından kodlanmıştır. WSPR sistemi, standart radyo veya ses iletişiminden farklı olarak dar bantlı 4-FSK modülasyonu kullanır. Verici istasyon; çağrı işareti (callsign), Maidenhead lokatörü (coğrafi konum) ve dBm cinsinden çıkış gücünü içeren 50 \text{ bit} veri yükünü, konvolüsyonel hata düzeltme (FEC, K=32, r=1/2) işleminin ardından 162 \text{ sembole} dönüştürerek 110.6 \text{ saniyelik} periyotlarda havaya gönderir.

Raspberry Pi GPIO Frekans Sentezi Matematiği

Raspberry Pi’nin kalbini oluşturan Broadcom SoC (System on Chip) donanımı, donanımsal saat jeneratörlerine (GPCLK) sahiptir. Bu jeneratörler, ana osilatör veya dahili yüksek frekanslı VCO (f_{\text{VCO}} \approx 500\text{ - }650\text{ MHz}) frekansını bölerek çıkış üretir. Çıkış frekansı, tamsayı (integer) ve kesirli (fractional) bölücü yazmaçları (registers) ile kontrol edilir:

    \[f_{\text{out}} = \frac{f_{\text{VCO}}}{\text{DIV\_INT} + \frac{\text{DIV\_FRAC}}{4096}}\]

4-FSK modülasyonundaki 4 farklı tonu (1.4648 \text{ Hz} aralıklarla) üretmek için yazılım, DMA (Direct Memory Access) kanallarını kullanarak \text{DIV\_FRAC} kesirli bölücü değerini milisaniyelik zaman dilimlerinde günceller. Bu işlem CPU’ya neredeyse sıfır yük bindirir ancak üretilen RF dalgası mükemmel bir sinüs dalgası değil, bir kare dalgadır.

Harmonik Salınımlar ve Alçak Geçiren Filtre Tasarımı

GPIO pini üzerinden doğrudan üretilen kare dalganın Fourier serisi açılımı incelendiğinde, tek harmonik bileşenlerin (3f_c, 5f_c, 7f_c vb.) yüksek güç taşıdığı görülür. Temel frekanstaki (f_c) teorik maksimum güç şu şekilde hesaplanır:

    \[P_{\text{temel}} = \frac{8 V_{\text{dd}}^2}{\pi^2 R}\]

Raspberry Pi GPIO pin gerilimi V_{\text{dd}} = 3.3 \text{ V} ve anten empedansı R = 50\ \Omega alındığında, pinden doğrudan alınabilecek temel frekans gücü teorik olarak 176 \text{ mW} mertebesindedir. Ancak GPIO çıkış sürücü empedansının iç direnci (30\text{ - }40\ \Omega) nedeniyle bu güç antene 10\text{ - }20 \text{ mW} aralığında ulaşır. En kritik sorun, üçüncü harmoniğin (3f_c) gücünün temel dalganın sadece -9.5 \text{ dBc} altında olmasıdır. Bu durum, 30m bandında (10.138 \text{ MHz}) yayın yaparken, 30.414 \text{ MHz} (VHF sınırında) yasal limitleri çok aşan yüksek güçlü kaçak yayın yapılması anlamına gelir.

Bu kaçak yayınları engellemek ve harmonikleri en az -45 \text{ dB} seviyesine baskılamak için en az 5 kutuplu (5-pole) veya 7 kutuplu bir Chebyshev/Butterworth Alçak Geçiren Filtresi (Low-Pass Filter) kullanılması zorunludur. Aşağıda, 10.138 \text{ MHz} bandı için tasarlanmış örnek bir 5-pole Chebyshev alçak geçiren filtre tasarımı ve devre şeması değerleri verilmiştir:

    \[C_1 = 330\text{ pF}, \quad L_1 = 1.0\ \mu\text{H}, \quad C_2 = 680\text{ pF}, \quad L_2 = 1.0\ \mu\text{H}, \quad C_3 = 330\text{ pF}\]

Raspberry Pi WSPR
Raspberry Pi WSPR Donanım Bağlantısı ve GPIO Yapısı

Yazılım Kurulumu: WsprryPi

Raspberry Pi üzerinde doğrudan RF yayını yapmak için open-source olarak sunulan ve DMA tabanlı GPCLK modülasyonu sağlayan WsprryPi yazılım kütüphanesini kullanıyoruz. Raspberry Pi terminaline erişerek aşağıdaki komutlarla kurulumu tamamlayabilirsiniz:

İlk olarak derleme araçlarını kurun ve kaynak kodu yerel sisteminize klonlayın:

sudo apt-get update && sudo apt-get install git build-essential -y

git clone https://github.com/JamesP6000/WsprryPi.git

cd WsprryPi && make

Derleme işlemi bittikten sonra wspr adlı çalıştırılabilir ikili dosya (binary) elde edilecektir.

Raspberry Pi WSPR Çalıştırma Kodu

İşaretçi yayını başlatmak için çağrı işaretinizi (callsign), Maidenhead lokatörünüzü, çıkış gücünüzü (dBm olarak) ve hedef bandı parametre olarak tanımlamanız gerekir:

–self-calibration parametresi, Raspberry Pi’nin kristal osilatöründeki PPM (Parts Per Million) seviyesindeki frekans kayması hatasını, dahili sıcaklık ve saat frekansı analizleriyle otomatik olarak kalibre eder. WSPR protokolünde frekans toleransı o kadar dardır ki, oda sıcaklığındaki küçük değişimler dahi saat kristalini kaydırabilir. –repeat parametresi, WSPR yayınının her 2 dakikalık dilimlerde otomatik olarak tekrarlanmasını sağlar. Kod satırındaki 10 dBm parametresi (10\text{ mW}) Raspberry Pi’nin GPIO çıkış gücünü temsil eder.

Teknik ve Yasal Uyarılar

Raspberry Pi ile doğrudan RF çıkışı üretmek akademik düzeyde mükemmel bir deneysel araçtır. Ancak bu yöntemin uygulanmasında uyulması zorunlu kritik kurallar şunlardır:

  • Filtresiz Yayın Yapmayın: GPIO4 pinine doğrudan tel takarak alçak geçiren filtre (LPF) kullanmadan yapılan yayınlar yasa dışıdır. Diğer radyo, TV, polis telsizi veya havacılık bantlarında ciddi girişimlere neden olur.
  • Lisans Sahibi Olun: WSPR dahil olmak üzere amatör telsiz bantlarında (Örn: 30m, 40m veya 20m) RF yayını yapabilmek için geçerli bir Amatör Telsizcilik Lisansına (Örn: A sınıfı veya B sınıfı telsiz operatörü lisansı) sahip olmanız ve kendi çağrı işaretinizi kullanmanız zorunledur.
  • Saat Senkronizasyonunun Doğruluğu: WSPR kod çözücüleri, dünya saatiyle tam senkronize çalışır. Bu nedenle, Pi üzerindeki saatin doğruluğundan emin olmak için ntp veya chrony servislerinin düzgün çalıştığını timedatectl komutuyla doğrulayın.

Raspberry Pi ile yaptığınız WSPR işaretçi yayınının ulaştığı noktaları anlık olarak görmek için WSPRnet veritabanı üzerinden çağrı işaretinizi sorgulayabilir, anteninizin yayılım geometrisini anlık haritalarla analiz edebilirsiniz.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.