Spektrum Analizör Nedir? (ve nRF24L01 ile Basit Bir Spektrum Analizör Yapımı)

Saf sinüzoidal bir sinyalin grafiksel gösteriminin iki temel yöntemi vardır. İlki zaman bölgesindeki çizimidir. Bunun için yatay eksenin zaman, dikey eksenin ise genlik olması beklenir. Sinüzoidal sinyalin diğer gösterim yöntemi frekans bölgesindeki çizimdir. Frekans bölgesi gösterimi için yatay eksende frekans ve dikey eksende genlik veya güç değeri gösterilir. Bu durumda frekans bölgesi gösterimindeki her kesikli nokta bir sinüzoidal sinyali temsil eder. Mesela 100 MHz frekansa sahip bir sinyalin zaman ve frekans bölgesindeki çizimleri şekildeki gibi gösterilebilir. Eğer frekansımızı iki katına yani 200 MHz’e çıkartırsak zaman bölgesindeki grafikte dalgaların sıklaştığını görürüz. Ancak frekans bölgesindeki değişim için sinyali temsil eden noktanın sağa doğru kayarak 200 MHz konumuna yerleşmesi yeterlidir.

Zaman ve frekans bölgesi olarak ifade edilen bu iki gösterim şeklinin pratikte cihaz olarak karşılıkları sırasıyla osiloskop ve spektrum analizördür. Spektrum analizör cihazının dikey ekseni genellikle sinyalin dBm cinsinden güç değeridir.

Bir spektrum analizörün RF giriş portuna geniş bantlı bir anten bağlandığı zaman, antene ulaşan sinyalleri ekranda görmek mümkündür.

Eğer zamana bağlı olarak spektrumdaki değişimler incelenmek isteniyorsa, spektrumun anlık değerleri bir alt kısma kaydırılarak hareketli bir grafik oluşturulur. Söz konusu gösterim, bir çağlayana benzediği için şelale veya çağlayan grafiği (waterfall plot) olarak isimlendirilir.

Bu videoda ayrıca, nRF24L01 kullanılarak basit bir spektrum analizörün nasıl yapılabileceğini göstereceğiz. Bunun için bir Arduino nano ve alıcı modunda çalışan bir nRF modülü kullanacağız. Bu iki modülün bağlantıları uygun bir şekilde yapıldıktan sonra bilgisayar ekranında grafiği görselleştirebilmek için bir USB kabloya ihtiyacımız olacak. nRF24L01 sahip olduğu dahili mekanizma ile kullanabildiği kanallarda bir taşıyıcı sinyal olup olmadığını belirleyebilmektedir. Arduino mikrokontrolcü için yazılmış kütüphanede bulunan testCarrier() fonksiyonu ile bu özelliği basit bir şekilde kullanabiliyoruz. Bu fonksiyon yardımı ile bir önceki dinleme zaman aralığında seçilen kanalda taşıyıcı sinyalin varlığını sorgulamak mümkün. Bu işlemi bütün kanallar için belirli bir sayı adedinde tekrar ederek her kanal için tespit edilen taşıyıcı sinyal sayısını ekranda görselleştiriyoruz. Böylece, kesin bir güç seviyesi bilgisi içermese de, 2.4 GHz ile 2.575 GHz arasındaki 126 adet kanalın meşguliyet durumunu gösteren bir spektrum analizör elde etmiş oluyoruz.

Kodlar

Arduino Nano: https://drive.google.com/file/d/1_fMNNUyeYSBS9EHmjDkUhJFMTOJKiCct

Java: https://drive.google.com/file/d/1FNnXcqwxYnapf6bCkGK5d9ymdKKSa-Mn

Arduino nano yazılımını nRF kütüphanesi ile beraber gelen scanner isimli uygulamayı modifiye ederek elde ettik. Bilgisayar tarafındaki Java kodlarının çalışabilmesi için JSerialComm kütüphanesini yüklemeniz gerekiyor. https://fazecast.github.io/jSerialComm/

Bu proje ile elde edilen basit spektrum analizör yardımıyla 2.4 GHz ISM bandını kullanan cihazların yaydığı elektromanyetik dalgaların varlığını test edebilirsiniz. Bu aralığı kullanan bazı cihazları şu şekilde özetleyebiliriz: wi-fi ile internet bağlantısı sağlayan modem, bilgisayar ve cep telefonları. Bluetooth teknolojisi kullanan her tür cihaz. nRF24L01 ve benzeri haberleşme modülleri. Bazı otomobillerin uzaktan kumanda anahtarları, dron kumandaları ve oyun konsollarının oyun kolları. Ve son olarak, bir haberleşme cihazı olmasa da mikrodalga fırınlar da ISM 2.4 GHz frekans aralığını kullanırlar.