Practical SDR – Einstieg in Software-Defined Radio
(nostarch.com)- Practical SDR ist ein Buch, das Hobbyanwendern, Lernenden im Bereich Funkkommunikation und Ingenieuren für RF-Design-Prototyping dabei hilft, die Grundlagen von Software-Defined Radio zu erlernen
- Leser erstellen am Computer einen virtuellen Radioempfänger, extrahieren Audio aus realen AM- und FM-Signalen und bauen mit GNU Radio Companion Schritt für Schritt ein Funksystem auf
- Der Lernumfang reicht von der Frequenzmanipulation im Bereich 1 MHz bis 6 GHz über Filter und Gain-Control bis hin zur Auswahl von Antennen und RF-Hardware sowie zur Echtzeitverarbeitung von IQ-Daten
- Für einige Projekte werden SDR-Hardware wie HackRF One und kompatible Antennen benötigt, sodass es nicht nur bei reinen Software-Übungen bleibt
- Als Einführung, die die Lücke zwischen grundlegenden Tutorials und fortgeschrittenen Anwendungen schließt, bildet es die Grundlage für das Lernen moderner Funksysteme wie Wi-Fi, Bluetooth und Mobilfunk
Umfang und Format des Buchs
- Practical SDR ist ein Buch für den Einstieg in Software-Defined Radio, mit dem Untertitel „Getting Started with Software-Defined Radio“
- Die Veröffentlichung ist für März 2025 geplant, der Umfang beträgt 336 Seiten
- Format und Preis sind wie folgt
- Print Book and FREE Ebook: $39.99
- Ebook PDF, Mobi, ePub: $31.99
- Als Leseprobe wird Chapter 4: Creating an AM Receiver angeboten
Ein Radio in der Praxis bauen
- Am Computer wird ein virtueller Radioempfänger erstellt und Audio aus realen AM- und FM-Signalen extrahiert
- Beim Bau eines AM-Radios lernt man, wie Amplitudenmodulation funktioniert
- Beim Aufbau eines sauberen FM-Empfangs wird Signalfilterung vermittelt
- Auch komplexe Themen wie IQ-Sampling gehören zum praktischen Lernumfang
- Mit der Oberfläche von GNU Radio Companion werden funktionsfähige Funksysteme Baustein für Baustein erstellt und später auf AM-/FM-Empfänger sowie Radiosender-Designs erweitert
Behandelte technische Elemente
- Radiofrequenzen im Bereich von 1 MHz bis 6 GHz werden verarbeitet
- Mit Filtern und Gain-Control werden klare Signale aus Rauschen herausgeholt
- Durch die Auswahl geeigneter Antennen und RF-Hardware wird die SDR-Leistung verbessert
- Komplexzahlbasierte IQ-Daten in Echtzeit werden verarbeitet, um reale Funksignale zu demodulieren
- Am Computer wird eine flexible virtuelle Testumgebung für Funk aufgebaut
Kapitelstruktur
-
Part I: Einen grundlegenden Empfänger bauen
- What Is a Radio?
- Computers and Signals
- Getting Started with GNU Radio
- Creating an AM Receiver
-
Part II: Im Inneren des Empfängers
- Signal Processing Fundamentals
- How an AM Receiver Works
- Building an FM Radio
-
Part III: Einsatz von SDR-Hardware
- The Physics of Radio Signals
- GNU Radio Flowgraphs with SDR Hardware
- Modulation
- SDR Hardware Under the Hood
- Peripheral Hardware
- Transmitting
Benötigte Materialien und Einschränkungen
- Für einige Projekte werden SDR-Hardware wie HackRF One und kompatible Antennen benötigt
- Unterstützende Dateien für die Early-Access-Kapitel können als getting_started_sdr-main.zip heruntergeladen werden
- Copyright-Seite, ausführliches Inhaltsverzeichnis und Index werden als separate PDF bereitgestellt
1 Kommentare
Meinungen auf Hacker News
Bei SDR sollte man vorsichtig sein. Am Anfang scannt man nur ein bisschen das Spektrum, und ehe man sich versieht, bestellt man Teile für eine 36-Element-Yagi-Antenne samt AZ/EL-Rotator und schaut sich ein 3.000-Dollar-Funkgerät für Erde-Mond-Erde-Reflexionskommunikation an
Mit etwa 20 Fuß Draht und einem SDR kann man problemlos Signale von jenseits des Ozeans empfangen
Am Ende liebt man es trotzdem
Wenn man mit dem No-Starch-Buch einsteigen möchte, sollte man hier anfangen: https://www.rtl-sdr.com/rtl-sdr-quick-start-guide/
Das Buch selbst ist, wie von No Starch zu erwarten, in Ordnung, aber auf dem Markt gibt es viel Schrott-Hardware; man kauft leicht etwas, das nicht funktioniert oder unerwünschte Abstrahlung, seltsame Interferenzen oder Kompatibilitätsprobleme verursacht
Wenn man Elektronik und HF-Technik nicht tief genug versteht, um solche Probleme abzumildern, wird es schwer, gute Ergebnisse zu bekommen. Diese Website ist als Einstiegspunkt für Anfänger am umfassendsten, aber man sollte sie gründlich lesen, bevor man einen Dongle kauft
Es gibt viel billige, also qualitativ schwache Hardware. Ich nutze hauptsächlich drei SDRs: Der RTL-SDR.com Blog V4 Dongle ist ein hervorragender und günstiger Einstieg. Wenn es nicht passt, sind es nur etwa 40 Dollar Verlust; wenn doch, hält einen schon der Bereich von 27 MHz bis 1,6 GHz lange beschäftigt
Wenn man Amateurfunk oder Kurzwellenempfang mag, ist der Airspy HF+ gut. Er deckt ab 0,5 KHz über HF bis in den VHF-Bereich ab, und ich habe auch Berichte gesehen, dass er für Ultraschall-Experimente verwendet wurde. Für den Preis ist er unter meinen SDRs der mit der besten Qualität, guter Empfindlichkeit und niedrigem Rauschen
Zuletzt der Great Scott Gadgets HackRF One: im Grunde ein Funklabor in einer Box. 1 MHz bis 6 GHz, 20 MS/s, allerdings mit 8-Bit-I/Q-Sampling, und senden kann er auch. Als Bonus sind die Lehrvideos ebenfalls sehr gut
Zur Einordnung: Diese drei SDR-Geräte laufen unter Linux problemlos
Ich mag SDR wirklich sehr. Ich benutze es, um die Mikrofonsignale von Professoren aufzunehmen
Das ist viel besser als ein Handy oder ein dedizierter Recorder
Wirken Inhaltsverzeichnis und Buchbeschreibung nicht etwas ernüchternd?
Themen wie GNU Radio, Filter, AM/FM und IQ-Demodulation habe ich meiner Erinnerung nach schon mit dem GNU-Radio-Tutorials-Wiki [0] nachvollzogen, und ich bin mir nicht sicher, welchen Mehrwert dieses Buch darüber hinaus bietet
Wenn die Autoren außerdem GNU Radio als Software-Stack verwenden, frage ich mich, warum sie nicht ein Kapitel dazu aufgenommen haben, was ich für eine der größten Stärken von GNU Radio halte: eigene Python-Blöcke erstellen. Wer SDR mag und sich für Elektrotechnik interessiert, sollte es unbedingt ausprobieren, aber allein anhand der bereitgestellten Beispielkapitel 4 weiß ich nicht, ob ich dieses Buch empfehlen würde
[0] https://wiki.gnuradio.org/index.php/Tutorials
Ich habe vor mehr als zehn Jahren mit einem Windows-Rechner, sdrsharp und einem günstigen RTL-basierten SDR angefangen. Es war viel besser, durchs Spektrum zu streifen, interessante Signale anzuklicken und Dekodier-Pipelines grob zusammenzustöpseln, um echte Ergebnisse zu bekommen
Spannende Anwendungsfälle, die mit funktionierender Software und günstiger Hardware machbar waren, haben mich zuerst gepackt; erst danach entstand die echte Motivation, GNU Radio verstehen zu wollen
Eine gute kostenlose Lernressource ist https://pysdr.org/
Das ist kein Python-Modul, sondern ein Leitfaden, um die Grundlagen der digitalen Signalverarbeitung mit Python im Kontext der SDR-Nutzung zu lernen. Er behandelt auch konkrete Vorgehensweisen für die gängigste SDR-Hardware
Während man auf die Lieferung wartet, ist auch eine Online-Web-SDR-Karte zum Herumspielen nützlich :-)
https://www.receiverbook.de/map
Ich habe früher ein wenig mit SDR herumgespielt; damals war die größte Schwierigkeit, passende Hardware zu finden, die mehrere Frequenzen empfangen kann und mit meinem Linux-Rechner kompatibel ist
https://greatscottgadgets.com/hackrf/
Gibt es so etwas wie automatische Signalerkennung? Also zum Beispiel eine automatische Identifikation der Teile des Spektrums, die nicht nur Rauschen sind
Bei günstigen SDRs ist das Empfangsfenster ziemlich schmal, daher wäre so etwas hilfreich
Das geht sowohl mit teuren Komplett-Funkgeräten als auch mit einer Kombination aus günstigem RTLSDR-Dongle und passender Computersoftware. Apropos günstige SDRs: Aus meiner Sicht ist 24–1766 MHz kein besonders schmaler Bereich
Wenn man mehr Geld ausgeben kann, deckt der HackRF One ab 1 MHz, also dem 160-m-Band, bis 6 GHz, also dem Wi-Fi-Band, ab. Für niedrigere oder höhere Bänder braucht man wahrscheinlich spezialisiertere Geräte
Natürlich muss am Funkgerät oder Dongle eine passend abgestimmte Antenne hängen
Wenn du nach einer weiteren Verwendung für SDR suchst: Mit KrakenRF kann man Funksender orten
https://www.krakenrf.com/
Wenn du schon so weit bist, lohnt sich auch ein Blick auf eine recht neue, gut entworfene und gut entwickelte Python-Bibliothek für SDR
https://mhostetter.github.io/sdr/latest/