bladeRF-fsk - parancssori fsk alkalmazás
A bladeRF-fsk projekt egy egyszerű frekvenciaváltó kulcsszó (FSK) alapú szoftvermodem, amely teljes egészében a gazdaszámítógép oldalon C kódban van megvalósítva. A projekt a libbladeRF-et használja a minták bladeRF eszközzel történő továbbítására/vételére. A modem használatakor nincs szükség USB 3.0 portra. A projekt a modem fizikai rétegének (PHY) részének MATLAB/Octave szimulációját/implementációját is tartalmazza.
A legfelső szintű bladeRF-fsk C program bemutatja a modem működőképességét egy egyszerű bladeRF-to-bladeRF adatátviteli programban. Ez a program szöveges (mint egy csevegőprogram) és bináris fájlokat (például fájlátviteli program) is tud küldeni/fogni 250 kbps nyers kapcsolati sebességgel. A program megfelelő bemutatásához a program két példányát két különálló bladeRF eszközzel kell futtatni (a visszahurkolást nem támogatja).
A modem folyamatos fázisú frekvenciaváltó kulcsolással (CPFSK) modulál. Az alapsávi I/Q CPFSK mintákat a bladeRF eszközre küldik, amelyen belül digitálisról analógra konvertálják, négyzetes RF vivőkkel keverik, és a levegőn továbbítják. A vett jeleket négyzetes RF vivőkkel keverik, hogy alapsávi I/Q-vá alakítsák át, ADC-vel mintavételezzék, és USB-kapcsolaton keresztül továbbítsák a gazdaszámítógép-programnak.
A fizikai réteg kód FIR aluláteresztő szűrőt, teljesítmény normalizálást, előtag korrelációt a jel észleléséhez, CPFSK modulációt/demodulációt és kódolást tartalmaz. A kapcsolati réteg kódja keretezést, hibaészlelést a CRC32 ellenőrző összegeken keresztül, valamint a keretek garantált kézbesítését nyugtázáson és újraküldés útján tartalmazza.
Ez a projekt kísérleti példaként szolgál, és nem szabad szigorú modemként kezelni.
A legfelső szintű bladeRF-fsk program alapértelmezett értékekkel történő futtatásához írja be a terminálba:
bladeRF-fsk
A konfigurációs opciók listájának megtekintéséhez és a beállításuk módjának megtekintéséhez írja be:
bladeRF-fsk -h
_MEGJEGYZÉS_: Windows 10 rendszeren, ha a program két példányát futtatja ugyanazon a számítógépen, meg kell adnia a bladeRF sorozatszámát a „-d” kapcsolóval a [Issue #484] (https://github.com/Nuand/bladeRF/issues/484) miatt. Példa:
bladeRF-fsk -d *:serial=4e
Alapértelmezés szerint a program az első elérhető bladeRF eszközt használja, TX bemenetet kap az stdin-től, az RX kimenetet az stdout-ba írja, és az adási/vételi frekvenciák és erősítések alapértelmezett készletét használja. Előfordulhat, hogy az erősítéseket módosítani kell egy másik bladeRF-en futó bladeRF-fsk-vel való jó kapcsolat érdekében. Fájlok átviteléhez használja az „-i” és „-o” opciókat. Ha stdin-t használ tx adatokhoz, a program soronként továbbítja az adatokat.
A program addig fut, amíg EOF-t nem kap a TX bemenetén.
### Példa: Fájlok átvitele ### 1) Győződjön meg arról, hogy két bladeRF eszköz van csatlakoztatva a számítógépéhez (vagy két különálló PC-hez) TX és RX antennákkal.
2) Futtassa a bladeRF-fsk parancsot az egyik eszközön (vevőn), a megadott kimeneti RX fájllal:
bladeRF-fsk -r 904M -t 924M -o rx.jpg
3) Futtassa a bladeRF-fsk parancsot a másik eszközön (küldőn), ellentétes frekvenciákkal és a megadott bemeneti TX fájllal:
bladeRF-fsk -r 924M -t 904M -i puppy.jpg
4) A fájl átvitele megkezdődik, és a folyamat kinyomtatásra kerül a küldő eszköz terminálján.
5) Ha az átvitel befejeződött, nyomja meg a [CTRL-D] billentyűt Linux/OSX rendszeren vagy a [CTRL-Z, majd ENTER] billentyűt Windows rendszeren a program leállításához a fogadó oldalon.
Ha a küldő eszköz nem kap választ a fogadó eszköztől, akkor kilép a programból. Próbálja meg növelni a nyereséget, és futtassa újra.
1) A program jelenleg nem támogatja az XB-200 transzverteres bővítőkártya használatát 300 MHz alatti frekvenciákon történő adáshoz/vételhez. Az XB-200 támogatás hozzáadásához egy új konfigurációs opciót, valamint a libbladeRF API "Bővítőkártyák" részében található funkciókat hozzá kell adni a forráskódhoz.
2) A program jelenleg nem tud egyszerre két fájlátvitelt végrehajtani mindkét irányba. 1. ok: A program addig fut, amíg EOF-t nem kap a TX bemenetén, ami azt jelenti, hogy amelyik oldal előbb fejezi be a fájl átvitelét, az kilép, és leállítja a fogadást. Ennek a viselkedésnek a megállításához egy EOF bitet kell hozzáadni a kapcsolati réteg csomagformátumához. 2. ok: Úgy tűnik, hogy a program nem működik jól ezen egyidejű fájlátvitel során, és általában megszakad a kapcsolat. A hibakereséshez további vizsgálatra van szükség.
bladeRF-cli(1)