bladeRF-fsk - komut satırı fsk uygulaması
bladeRF-fsk projesi, tamamen ana bilgisayar tarafında C kodunda uygulanan basit bir frekans kaydırmalı anahtarlama (FSK) tabanlı yazılım modemidir. Proje, bir bladeRF cihazıyla örnekleri iletmek/almak için libbladeRF'yi kullanır. Bu modemi kullanırken bir USB 3.0 bağlantı noktası gerekli değildir. Proje ayrıca modemin fiziksel katman (PHY) kısmının MATLAB/Octave simülasyonunu/uygulamasını da içerir.
Üst düzey bladeRF-fsk C programı, modemin işlevselliğini basit bir bladeRF'den bladeRF'e veri aktarım programında gösterir. Bu program, 250 kbps ham bağlantı hızında hem metin (sohbet programı gibi) hem de ikili dosyaları (dosya aktarım programı gibi) iletebilir/alabilir. Programı düzgün bir şekilde göstermek için, programın iki örneği iki ayrı bladeRF cihazıyla çalıştırılmalıdır (geri döngü desteklenmez).
Modem, sürekli faz frekans kaydırmalı anahtarlama (CPFSK) ile modüle edilir. Baseband I/Q CPFSK örnekleri, içinde dijitalden analoğa dönüştürüldükleri, dörtlü RF taşıyıcılarıyla karıştırıldıkları ve hava yoluyla iletildikleri bladeRF cihazına gönderilir. Alınan sinyaller, temel bant I/Q'ya aşağı dönüştürmek için dörtlü RF taşıyıcılarıyla karıştırılır, bir ADC ile örneklenir ve USB bağlantısı üzerinden ana bilgisayar programına gönderilir.
Fiziksel katman kodu, bir FIR düşük geçiş filtresi, güç normalleştirmesi, sinyal tespiti için başlangıç bağıntısı, CPFSK modülasyonu/demodülasyonu ve karıştırma özelliklerine sahiptir. Bağlantı katmanı kodu, çerçeveleme, CRC32 sağlama toplamları aracılığıyla hata algılama ve onaylar ve yeniden iletimler yoluyla çerçevelerin garantili teslimini içerir.
Bu projenin deneysel bir örnek olması amaçlanmıştır ve titiz bir modem olarak ele alınmamalıdır.
Üst düzey bladeRF-fsk programını varsayılanlarla çalıştırmak için bir terminale şunu yazın:
bladeRF-fsk
Yapılandırma seçeneklerinin bir listesini ve bunların nasıl ayarlanacağını görmek için şunu yazın:
bladeRF-fsk -h
_NOT_: Windows 10'da, aynı PC'de programın iki örneğini çalıştırıyorsanız, [Sorun #484](https://github.com) nedeniyle bladeRF seri numarasını '-d' seçeneğiyle belirtmeniz gerekir. /Nuand/bladeRF/sayılar/484). Örnek:
bladeRF-fsk -d *:serial=4e
Varsayılan olarak, program mevcut ilk bladeRF cihazını kullanır, stdin'den TX girdisi alır, RX çıkışını stdout'a yazar ve varsayılan bir gönderme/alma frekansları ve kazanımları kullanır. BladeRF-fsk çalıştıran başka bir bladeRF ile iyi bir bağlantı için kazançların ayarlanması gerekebilir. Dosyaları aktarmak için '-i' ve '-o' seçeneklerini kullanın. tx verileri için stdin kullanılıyorsa, program verileri satır satır iletir.
Program, TX girişinde bir EOF alana kadar çalışır.
### Örnek: Dosyaları Aktarma ### 1) PC'nize (veya iki ayrı PC'ye) iki bladeRF cihazının TX ve RX antenleri takılı olduğundan emin olun.
2) BladeRF-fsk'yi cihazlardan (alıcı) birinde, çıkış RX dosyası belirtilen şekilde çalıştırın:
bladeRF-fsk -r 904M -t 924M -o rx.jpg
3) BladeRF-fsk'yi diğer cihazda (gönderen), zıt frekanslarla ve belirtilen giriş TX dosyasıyla çalıştırın:
bladeRF-fsk -r 924M -t 904M -i puppy.jpg
4) Dosya aktarımı başlayacak ve ilerleme, gönderen cihaz için terminalde yazdırılacaktır.
5) İletim tamamlandığında, alıcı taraftaki programı durdurmak için Linux/OSX'te [CTRL-D]'ye veya Windows'ta [CTRL-Z ardından ENTER]'a basın.
Gönderen cihaz, alıcı cihazdan herhangi bir yanıt almazsa programdan çıkar. Kazançları artırmayı deneyin ve tekrar çalıştırın.
1) Program, şu anda 300 MHz'in altındaki frekanslarda iletmek/almak için bir XB-200 dönüştürücü genişletme kartının kullanımını desteklememektedir. XB-200 desteği eklemek için, libbladeRF API'sinin "Genişletme kartları" bölümündeki işlevlerin yanı sıra yeni bir yapılandırma seçeneğinin kaynak koduna eklenmesi gerekir.
2) Program şu anda her iki yönde aynı anda iki dosya aktarımı gerçekleştiremiyor. Sebep #1: Program, TX girişinde bir EOF alana kadar çalışır, yani hangi taraf dosyasını iletmeyi önce bitirirse, o taraf kapanacak ve almayı durduracaktır. Bu davranışı durdurmak için bağlantı katmanı paket biçimine bir EOF bitinin eklenmesi gerekir. Sebep #2: Program, bu eşzamanlı dosya aktarımları sırasında iyi performans göstermiyor ve genellikle bağlantıyı kaybediyor. Bu hata ayıklamak için daha fazla araştırma gereklidir.
bladeRF-cli(1)