bladeRF-fsk - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

bladeRF-fsk - aplikacja fsk wiersza poleceń

OPIS

Projekt bladeRF-fsk to prosty modem programowy oparty na kluczowaniu z przesunięciem częstotliwości (FSK), zaimplementowany w całości po stronie komputera hosta w kodzie C. Projekt wykorzystuje libbladeRF do przesyłania/odbierania próbek za pomocą urządzenia bladeRF. Port USB 3.0 nie jest wymagany do korzystania z tego modemu. Projekt zawiera również symulację/implementację warstwy fizycznej (PHY) modemu w MATLAB/Octave.

Najwyższy poziom programu bladeRF-fsk C demonstruje funkcjonalność modemu w prostym programie do przesyłania danych bladeRF-to-bladeRF. Ten program może przesyłać/odbierać zarówno tekst (jak program do czatu), jak i pliki binarne (jak program do przesyłania plików) z surową szybkością łącza 250 kb/s. Aby poprawnie zademonstrować program, należy uruchomić dwie instancje programu z dwoma oddzielnymi urządzeniami bladeRF (pętla zwrotna nie jest obsługiwana).

Modem moduluje z kluczowaniem z ciągłym przesunięciem fazy (CPFSK). Próbki pasma podstawowego I/Q CPFSK są wysyłane do urządzenia bladeRF, wewnątrz którego są konwertowane z cyfrowego na analogowy, mieszane z kwadraturowymi nośnymi RF i przesyłane drogą powietrzną. Odebrane sygnały są mieszane z kwadraturowymi nośnymi RF w celu konwersji w dół do pasma podstawowego I/Q, próbkowane za pomocą przetwornika ADC i wysyłane do programu komputera PC przez połączenie USB.

Kod warstwy fizycznej obejmuje filtr dolnoprzepustowy FIR, normalizację mocy, korelację preambuły do wykrywania sygnału, modulację/demodulację CPFSK i szyfrowanie. Kod warstwy łącza obejmuje kadrowanie, wykrywanie błędów za pomocą sum kontrolnych CRC32 oraz gwarantowane dostarczanie ramek za pośrednictwem potwierdzeń i retransmisji.

Ten projekt ma być przykładem eksperymentalnym i nie powinien być traktowany jako rygorystyczny modem.

PRZYKŁADY

Aby uruchomić program bladeRF-fsk najwyższego poziomu z ustawieniami domyślnymi, wpisz w terminalu:

bladeRF-fsk

Aby zobaczyć listę opcji konfiguracyjnych i sposób ich ustawienia, wpisz:

bladeRF-fsk -h

_UWAGA_: W systemie Windows 10, jeśli używasz dwóch wystąpień programu na tym samym komputerze, musisz określić numer seryjny bladeRF za pomocą opcji „-d”, ze względu na [Problem nr 484](https://github.com /Nuand/bladeRF/issues/484). Przykład:

bladeRF-fsk -d *:serial=4e

Domyślnie program używa pierwszego dostępnego urządzenia bladeRF, pobiera wejście TX ze standardowego wejścia, zapisuje wyjście RX na standardowe wyjście i używa domyślnego zestawu częstotliwości i wzmocnień nadawania/odbioru. Wzmocnienia mogą wymagać dostosowania w celu uzyskania dobrego połączenia z innym bladeRF z uruchomionym bladeRF-fsk. Aby przesłać pliki, użyj opcji „-i” i „-o”. Jeśli używasz stdin dla danych tx, program będzie przesyłał dane linia po linii.

Program działa, dopóki nie otrzyma EOF na swoim wejściu TX.

### Przykład: przesyłanie plików ### 1) Upewnij się, że dwa urządzenia bladeRF są podłączone do komputera (lub dwóch oddzielnych komputerów) z podłączonymi antenami TX i RX.

2) Uruchom bladeRF-fsk na jednym z urządzeń (odbiorniku), z określonym wyjściowym plikiem RX:

bladeRF-fsk -r 904M -t 924M -o rx.jpg

3) Uruchom bladeRF-fsk na drugim urządzeniu (nadawcy), z przeciwstawnymi częstotliwościami i określonym wejściowym plikiem TX:

bladeRF-fsk -r 924M -t 904M -i puppy.jpg

4) Plik rozpocznie przesyłanie, a postęp zostanie wydrukowany w terminalu urządzenia wysyłającego.

5) Po zakończeniu transmisji naciśnij [CTRL-D] w systemie Linux/OSX lub [CTRL-Z, a następnie ENTER] w systemie Windows, aby zatrzymać program po stronie odbierającej.

Jeśli urządzenie wysyłające nie otrzyma żadnej odpowiedzi od urządzenia odbierającego, zakończy działanie programu. Spróbuj zwiększyć przyrosty i uruchom ponownie.

ZNANE OGRANICZENIA

1) Program obecnie nie obsługuje karty rozszerzeń transwertera XB-200 do nadawania/odbioru na częstotliwościach poniżej 300 MHz. Aby dodać obsługę XB-200, należałoby dodać do kodu źródłowego nową opcję konfiguracyjną oraz funkcje z sekcji „Płytki rozszerzające” interfejsu API libbladeRF.

2) Program nie jest obecnie w stanie wykonać dwóch transferów plików w obu kierunkach jednocześnie. Powód 1: Program działa, dopóki nie otrzyma EOF na swoim wejściu TX, co oznacza, że strona, która zakończy transmisję pliku jako pierwsza, zakończy pracę i przestanie odbierać. Bit EOF musiałby zostać dodany do formatu pakietu warstwy łącza, aby zatrzymać to zachowanie. Powód 2: Wydaje się, że program nie działa dobrze podczas jednoczesnego przesyłania plików i zwykle traci połączenie. Aby to debugować, wymagane są dalsze badania.

Zobacz też

bladeRF-cli(1)