USRP B210 + GNU Radio: From Hardware Setup to First Signal Transmission & Reception

USRP B210 + GNU Radio: Vom Hardware-Setup zur ersten Signalübertragung und -empfang

USRP B210 + GNU Radio: Von der Hardware-Einrichtung bis zur ersten Signalübertragung & -empfang

📡 Zusammenfassung des Artikels: Meistern Sie Software Defined Radio mit dieser vollständigen Anleitung zu USRP B210 und GNU Radio. Erfahren Sie mehr über die Hardware-Einrichtung, die Treiberinstallation (UHD), den Aufbau Ihres ersten Sende-/Empfangs-Flowgraphs in GRC, den UKW-Rundfunkempfänger, benutzerdefinierte Python-/C++-Module und die Fehlerbehebung. Perfekt für Anfänger und Funkamateure.

Wenn man den USRP B210 zum ersten Mal an den Computer anschließt, erinnere ich mich noch lebhaft an die Mischung aus Aufregung und Nervosität. Als Star-Hardware in der Welt des Software-Defined Radio (SDR) ist der USRP B210 dank seines hervorragenden Preis-Leistungs-Verhältnisses und seiner leistungsstarken Fähigkeiten zur ersten Wahl für unzählige Funkamateure und Forscher geworden. Doch angesichts dieser scheinbar komplexen „Black Box“ wissen viele Anfänger nicht, wo sie anfangen sollen. Dieser Artikel führt Sie durch den Hardware-Anschluss, die Treiberkonfiguration, den grundlegenden Sende-/Empfangsfluss und schließlich – die Übertragung und den Empfang Ihres allerersten Signals.

1. Hardware-Vorbereitung & Umgebungs-Setup

Das USRP B210 ist ein vielseitiges, von Ettus Research entwickeltes Software-Defined Radio Peripheriegerät. Es kommuniziert über USB 3.0 mit dem Host-Computer, unterstützt Vollduplex-Betrieb und deckt einen Frequenzbereich von 70 MHz bis 6 GHz ab. Im Vergleich zu seinen größeren Geschwistern bietet das B210 die perfekte Balance zwischen Kosten und Leistung und ist somit ideal für einzelne Entwickler und Bildungszwecke.

 Grundlegende Hardware-Checkliste

  • USRP B210 Gerät
  • Zwei SMA-Antennen (die Ihr Zielfrequenzband abdecken)
  • USB 3.0 Typ-A auf Micro-B Kabel (Originalkabel wird empfohlen)
  • Ein Computer mit einem USB 3.0 Port (Linux-System bevorzugt)
 Wichtig: Verwenden Sie immer einen USB 3.0 Port und ein entsprechendes Kabel. Die USB 2.0 Bandbreite kann die Anforderungen an die Hochgeschwindigkeitsdatenübertragung nicht erfüllen und führt zu einer erheblichen Leistungsminderung.

 Software-Anforderungen

  • UHD-Treiber (USRP Hardware Driver)
  • GNU Radio Framework
  • GNU Radio Companion (GRC) – grafische Entwicklungsumgebung

Für Linux-Benutzer (Ubuntu 18.04/20.04 empfohlen) installieren Sie alle benötigten Pakete mit einem Befehl:

----------------------------------------------------------------------------
sudo apt-get update
sudo apt-get install gnuradio uhd-host

----------------------------------------------------------------------------

Nach der Installation überprüfen Sie, ob UHD Ihr B210 erkennt:

uhd_find_devices

Wenn alles korrekt ist, sollten Sie eine ähnliche Ausgabe sehen wie:

----------------------------------------------------------------------------
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_3.15.0.0
----------------------------------------------------
UHD Device 0
----------------------------------------------------
Device Address:
    serial: 31FC89D
    name: B210
    product: B210
    type: b200
----------------------------------------------------------------------------

2. Grundlegender Sende- & Empfangs-Flowgraph

Starten wir nun GNU Radio Companion (GRC) und erstellen wir Ihren ersten Signaltransceiver-Flowgraph. GRC ist die grafische Benutzeroberfläche für GNU Radio, mit der Sie Blöcke per Drag & Drop verschieben und Signalpfade verbinden können, um intuitiv komplexe Funksysteme zu erstellen.

 Einen neuen Flowgraph erstellen

  1. Geben Sie gnuradio-companion im Terminal ein, um GRC zu starten.
  2. Klicken Sie auf Datei → Neu , um einen neuen Flowgraph zu erstellen.
  3. Legen Sie eine Abtastratenvariable fest: Fügen Sie einen Variablenblock namens sample_rate mit dem Wert 1e6 (1 MHz) hinzu.

Ziehen Sie die folgenden Kernblöcke aus der Blockbibliothek per Drag & Drop:

  • Signal Source – erzeugt das zu sendende Basisbandsignal
  • USRP Sink – USRP-Senderblock
  • USRP Source – USRP-Empfängerblock
  • QT GUI Time Sink – Zeitbereichswellenformanzeige
  • QT GUI Frequency Sink – Spektrumsanzeige

Stellen Sie sicher, dass die Datentypen übereinstimmen. Ein grundlegender Loopback-Test-Flowgraph sieht folgendermaßen aus:

[Signal Source] → [USRP Sink]
[USRP Source] → [QT GUI Time Sink]
[USRP Source] → [QT GUI Frequency Sink]

 Wichtige Modulparameter

Block Parameter Empfohlener Wert Beschreibung
Signal Source Output Type Complex Erzeugt komplexes Signal
Signal Source Frequency 1000 1 kHz Sinuswelle
USRP Sink Device Address (leer) Erkennt das erste USRP automatisch
USRP Sink Center Frequency 2.4e9 2.4 GHz Träger
USRP Sink Gain 30 Sendeleistung
USRP Source Center Frequency 2.4e9 Gleich wie TX-Frequenz
💡 Tipp: Für erste Tests entfernen Sie die Antennen und verwenden Sie ein Loopback-Kabel, das die TX- und RX-Ports direkt verbindet, um Probleme mit Funkvorschriften zu vermeiden.

3. Fehlerbehebung & Leistungsoptimierung

Auch bei sorgfältiger Befolgung der Schritte können Anfänger auf Probleme stoßen. Hier sind die häufigsten Probleme und Lösungen:

 Problem 1: USRP-Gerät nicht erkannt

  • Überprüfen Sie die USB-Verbindung.
  • Vergewissern Sie sich, dass Sie einen USB 3.0-Anschluss verwenden.
  • Führen Sie lsusb aus, um zu sehen, ob das Gerät erkannt wird.
  • Schließen Sie das Gerät erneut an und führen Sie uhd_find_devices erneut aus.

⚠️ Problem 2: Signalverzerrung durch falsche Abtastrate

Das USRP B210 unterstützt Abtastraten von 200 kHz bis 56 MHz, der nutzbare Bereich hängt jedoch von der Konfiguration ab. Beachten Sie diese Richtlinien:

  • Für Schmalbandsignale verwenden Sie eine Abtastrate von 1–5 MHz.
  • Für Breitbandanwendungen versuchen Sie 20 MHz oder höher.
  • Verwenden Sie uhd_usrp_probe , um die exakt unterstützten Raten anzuzeigen.

 Problem 3: Abnormale Spektrumsanzeige

  • Antennenverbindung überprüfen.
  • Mittenfrequenz und Span im GUI-Sink anpassen.
  • Bestätigen Sie, dass die Frequenz der Signalquelle angemessen ist.
  • Verstärkung reduzieren, um Sättigung zu vermeiden.
 Leistungstipp: Fügen Sie das folgende Python-Snippet für einen besseren USRP-Durchsatz hinzu:
uhd.usrp.MultiUSRP("num_recv_frames=512,num_send_frames=512")

 USRP B210 Leistungsspezifikationen

Parameter Spezifikation Anmerkungen
Frequenzbereich 70 MHz – 6 GHz Erfordert geeignete Antennen
Instantane Bandbreite Bis zu 56 MHz Abhängig vom USB-Host-Controller
Sendeleistung Bis zu 10 dBm Abhängig von Frequenz- und Verstärkungseinstellungen
Phasenrauschen -90 dBc/Hz bei 1 MHz Offset Typisch bei 2,4 GHz
Stromverbrauch ~5W Erfordert ausreichende USB-Stromversorgung

4. Fortgeschritten: Benutzerdefinierte Signalverarbeitungsmodule

Sobald Sie die Grundlagen beherrschen, müssen Sie möglicherweise benutzerdefinierte Signalverarbeitungsfunktionen entwickeln. GNU Radio unterstützt die Erstellung benutzerdefinierter Blöcke in C++ oder Python. Nachfolgend finden Sie ein Beispiel für die Verwendung eines Python-Blocks.

 Erstellen eines benutzerdefinierten hierarchischen Blocks

  1. Klicken Sie mit der rechten Maustaste auf den GRC-Arbeitsbereich und wählen Sie Hierarchischen Block erstellen.
  2. Benennen Sie den Block (z. B. MyAMDemodulator).
  3. Fügen Sie Eingangs- und Ausgangsports hinzu.
  4. Schreiben Sie die interne Verarbeitungslogik.

Einfache AM-Demodulator-Implementierung:

----------------------------------------------------------------------------
import numpy as np
from gnuradio import gr

class my_am_demodulator(gr.sync_block):
    def __init__(self):
        gr.sync_block.__init__(
            self,
            name="my_am_demodulator",
            in_sig=[np.complex64],
            out_sig=[np.float32]
        )
    
    def work(self, input_items, output_items):
        in0 = input_items[0]
        out0 = output_items[0]
        # AM demodulation: take magnitude
        out0[:] = np.abs(in0)
        return len(output_items[0])
----------------------------------------------------------------------------

Nach dem Speichern erscheint das Modul in der GRC-Blockbibliothek und kann wie integrierte Blöcke verwendet werden.

 C++ vs. Python Module

Feature C++ Modul Python Modul
Entwicklungsschwierigkeit Höher Niedriger
Ausführungseffizienz Hoch Mittel
Hot Reloading Nicht unterstützt Unterstützt
Debugging-Komfort Komplex Einfach
Anwendungsfälle Hochleistungsverarbeitung Schnelles Prototyping

5. Praktische Anwendung: UKW-Rundfunkempfänger

Wenden wir das Wissen auf ein reales Szenario an: den Bau eines einfachen UKW-Rundfunkempfängers. Dieses Beispiel zeigt, wie man normale UKW-Radiosignale mit dem USRP B210 und GNU Radio empfängt und demoduliert.

 Implementierungsschritte

  1. Stellen Sie die Mittenfrequenz der USRP-Quelle auf einen lokalen UKW-Sender ein (z. B. 98,1 MHz).
  2. Fügen Sie einen Tiefpassfilter hinzu, um Rauschen außerhalb des Bandes zu entfernen.
  3. Verwenden Sie den integrierten WBFM Receive-Block, um das Signal zu demodulieren.
  4. Fügen Sie Audio-Resampling- und Audio-Sink-Blöcke hinzu.

Der vollständige GRC-Flowgraph besteht aus:

[USRP Source] → [Low Pass Filter] → [WBFM Receive] → [Rational Resampler] → [Audio Sink]

 Wichtige Parameter für den UKW-Empfänger

  • USRP Source: Mittenfrequenz = 98.1e6 (lokal anpassen), Verstärkung = 30–50, Abtastrate = 2e6
  • Low Pass Filter: Grenzfrequenz = 200 kHz, Übergangsbreite = 50 kHz
  • WBFM Receive: Audioabschwächung = 10, Demodulationsverstärkung = 0.1
  • Rational Resampler: Eingangsrate = 200 kHz, Ausgangsrate = 48 kHz (Standard-Audio)
📢 Hinweis: Stellen Sie sicher, dass der Empfang von Rundfunksignalen in Ihrer Region legal ist und verwenden Sie ihn nur für persönliche Bildungszwecke.

Führen Sie den Flowgraph aus, schließen Sie Kopfhörer oder Lautsprecher an, und Sie sollten klaren UKW-Radioempfang haben. Wenn Sie Rauschen oder Verzerrungen feststellen, versuchen Sie diese Anpassungen:

  • Feinabstimmung der Mittenfrequenz (die tatsächliche Senderfrequenz kann einen kleinen Offset haben).
  • USRP-Verstärkung anpassen.
  • Überprüfen Sie, ob Ihre Antenne für das UKW-Rundfunkband geeignet ist.
  • Stellen Sie sicher, dass keine starken Störungen in der Nähe vorhanden sind.

Dieser einfache UKW-Empfänger demonstriert die Leistungsfähigkeit von USRP B210 und GNU Radio. Basierend darauf können Sie die Funktionalität mit Kanalsuche, Signalaufzeichnung, RDS-Decodierung und vielem mehr erweitern.

6. Hardware-Kompatibilität & Ressourcen

Unterstützt UHD Version 3.0 und höher – keine Notwendigkeit, Binärdateien zu ersetzen. Der USRP B210 arbeitet nahtlos mit modernen SDR-Frameworks zusammen.

🔗 Weitere Informationen finden Sie auf der offiziellen Hardware-Seite:
YX-OS32 USRP B210 SDR Plattform – YanTechLab

Inzwischen sollten Sie eine solide Grundlage für die Verwendung des USRP B210 mit GNU Radio haben. Experimentieren Sie mit verschiedenen Modulationsschemata, erforschen Sie digitale Kommunikationsformen und bauen Sie Ihre eigenen drahtlosen Projekte. Viel Spaß beim Hacken!

SDR USRP B210 GNU Radio
© 2026 — Optimized for Shopify | Black‑Green Tech Theme | Mobile Ready
Previous post Next post

Hinterlasse einen Kommentar