bladeRF-fsk - Referenzhandbuch, Optionen, Befehlsbeispiele


NAME

bladeRF-fsk - Befehlszeilen-FSK-Anwendung

BESCHREIBUNG

Das Projekt bladeRF-fsk ist ein einfaches, auf Frequenzumtastung (FSK) basierendes Softwaremodem, das vollständig auf der Seite des Host-PCs in C-Code implementiert ist. Das Projekt verwendet libbladeRF, um Samples mit einem bladeRF-Gerät zu senden/empfangen. Bei Verwendung dieses Modems ist kein USB 3.0-Anschluss erforderlich. Das Projekt enthält auch eine MATLAB/Octave-Simulation/Implementierung des Physical Layer (PHY)-Teils des Modems.

Das C-Programm der obersten Ebene bladeRF-fsk demonstriert die Funktionalität des Modems in einem einfachen Datenübertragungsprogramm von BladeRF zu BladeRF. Dieses Programm kann sowohl Text (wie ein Chat-Programm) als auch Binärdateien (wie ein Dateiübertragungsprogramm) mit einer Rohverbindungsrate von 250 kbps senden/empfangen. Um das Programm ordnungsgemäß zu demonstrieren, müssen zwei Instanzen des Programms mit zwei separaten bladeRF-Geräten ausgeführt werden (Loopback wird nicht unterstützt).

Das Modem moduliert mit kontinuierlicher Phasenumtastung (CPFSK). Basisband-I/Q-CPFSK-Abtastungen werden an das bladeRF-Gerät gesendet, in dem sie von digital in analog umgewandelt, mit Quadratur-HF-Trägern gemischt und über die Luft übertragen werden. Empfangene Signale werden mit Quadratur-HF-Trägern gemischt, um sie auf Basisband-I/Q herunterzukonvertieren, mit einem ADC abgetastet und über die USB-Verbindung an das Host-PC-Programm gesendet.

Der Code der physikalischen Schicht verfügt über einen FIR-Tiefpassfilter, Leistungsnormalisierung, Präambelkorrelation zur Signalerkennung, CPFSK-Modulation/Demodulation und Verschlüsselung. Der Link-Layer-Code bietet Framing, Fehlererkennung über CRC32-Prüfsummen und eine garantierte Zustellung von Frames über Bestätigungen und erneute Übertragungen.

Dieses Projekt ist als experimentelles Beispiel gedacht und sollte nicht als strenges Modem betrachtet werden.

BEISPIELE

Um das BladeRF-fsk-Programm der obersten Ebene mit Standardeinstellungen auszuführen, geben Sie Folgendes in ein Terminal ein:

bladeRF-fsk

Geben Sie Folgendes ein, um eine Liste der Konfigurationsoptionen und deren Einstellung anzuzeigen:

bladeRF-fsk -h

_HINWEIS_: Wenn Sie unter Windows 10 zwei Instanzen des Programms auf demselben PC ausführen, müssen Sie aufgrund von [Problem Nr. 484](https://github.com) die BladeRF-Seriennummer mit der Option „-d“ angeben /Nuand/bladeRF/issues/484). Beispiel:

bladeRF-fsk -d *:serial=4e

Standardmäßig verwendet das Programm das erste verfügbare bladeRF-Gerät, erhält die TX-Eingabe von stdin, schreibt die RX-Ausgabe auf stdout und verwendet einen Standardsatz von Sende-/Empfangsfrequenzen und Verstärkungen. Für eine gute Verbindung mit einem anderen BladeRF, auf dem bladeRF-fsk ausgeführt wird, müssen die Verstärkungen möglicherweise angepasst werden. Verwenden Sie zum Übertragen von Dateien die Optionen „-i“ und „-o“. Wenn Sie stdin für Sendedaten verwenden, überträgt das Programm die Daten Zeile für Zeile.

Das Programm läuft, bis es ein EOF in seiner TX-Eingabe erhält.

### Beispiel: Übertragen von Dateien ### 1) Stellen Sie sicher, dass zwei bladeRF-Geräte mit angeschlossenen TX- und RX-Antennen an Ihren PC (oder zwei separate PCs) angeschlossen sind.

2) Führen Sie bladeRF-fsk auf einem der Geräte (Empfänger) mit der angegebenen RX-Ausgabedatei aus:

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

3) Führen Sie bladeRF-fsk auf dem anderen Gerät (Absender) mit entgegengesetzten Frequenzen und der angegebenen Eingabe-TX-Datei aus:

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

4) Die Übertragung der Datei beginnt und der Fortschritt wird im Terminal des sendenden Geräts ausgedruckt.

5) Sobald die Übertragung abgeschlossen ist, drücken Sie [STRG-D] unter Linux/OSX oder [STRG-Z und dann ENTER] unter Windows, um das Programm auf der Empfängerseite zu stoppen.

Erhält das sendende Gerät keine Antwort vom empfangenden Gerät, beendet es das Programm. Versuchen Sie, die Gewinne zu erhöhen, und führen Sie den Vorgang erneut aus.

BEKANNTE EINSCHRÄNKUNGEN

1) Das Programm unterstützt derzeit nicht die Verwendung einer XB-200-Transverter-Erweiterungskarte zum Senden/Empfangen bei Frequenzen unter 300 MHz. Um XB-200-Unterstützung hinzuzufügen, müssten eine neue Konfigurationsoption sowie Funktionen aus dem Abschnitt „Erweiterungskarten“ der libbladeRF-API zum Quellcode hinzugefügt werden.

2) Das Programm ist derzeit nicht in der Lage, zwei Dateiübertragungen in beide Richtungen gleichzeitig durchzuführen. Grund Nr. 1: Das Programm läuft, bis es ein EOF in seinem TX-Eingang erhält, was bedeutet, dass die Seite, die zuerst mit der Übertragung ihrer Datei fertig ist, beendet und den Empfang einstellt. Um dieses Verhalten zu stoppen, müsste dem Link-Layer-Paketformat ein EOF-Bit hinzugefügt werden. Grund Nr. 2: Das Programm scheint bei diesen gleichzeitigen Dateiübertragungen nicht gut zu funktionieren und verliert normalerweise die Verbindung. Um dies zu beheben, sind weitere Untersuchungen erforderlich.

Siehe auch

bladeRF-cli(1)