Guten Abend allerseits, Ich möchte gerne mehr über die Software Entwicklung im Bereich SDR lernen. Könnt ihr Tutorials oder Literatur empfehlen? Welche Programmiersprache eignet sich besonders gut? In Python und C bin ich relativ fit, vor allem in Python. Ich freue mich auf eure Antworten, gerne auch über Projektvorschläge! Gruß, Henri (19 Jahre, Mechatronik Student, 2.Semester)
Demnächst wieder in Friedrichshafen, die "SDR-Academy": https://www.youtube.com/channel/UC1GAlgAQrkjeeLmIkCB8pgQ https://2022.sdra.io/pages/programme.html Viele gnuradio-Programme sind in Python geschrieben. https://www.gnuradio.org/
:
Bearbeitet durch User
Moin! Ich würde für den Einstieg auch gnuradio empfehlen. Da kann man zunächst mal sogar mit einem GUI Signalverarbeitungs-Blöcke zusammenklicken, damit bekommt man sehr schnell etwas Funktionierendes und lernt, wie es überhaupt geht. Im weiteren kann man dann eigene Module (in python oder C oder..) schreiben und einbinden. Am Ende kann man dann das GUI auch weglassen... IdS, Baku
Baku M. schrieb: > Da kann man zunächst mal sogar mit einem GUI Signalverarbeitungs-Blöcke > zusammenklicken, damit bekommt man sehr schnell etwas Funktionierendes > und lernt, wie es überhaupt geht. Lernt man damit, wie es geht? W.S.
Henri schrieb: > Ich möchte gerne mehr über die Software Entwicklung im Bereich SDR > lernen. > Könnt ihr Tutorials oder Literatur empfehlen? Bitte Suchmaschine hier im Forum benutzen! Wir haben da schon einiges an Literatur genannt und gezeigt wie man das Thema SDR und Programmierung angehen kann. Es macht ja keinen Sinn jedes Quartal die Sache in einem neuen Thread immer und immer wieder abzuspulen. Viel Erfolg. Gruß Thomas
Henri schrieb: > Ich möchte gerne mehr über die Software Entwicklung im Bereich SDR > lernen. > Könnt ihr Tutorials oder Literatur empfehlen? > Welche Programmiersprache eignet sich besonders gut? > In Python und C bin ich relativ fit, vor allem in Python. Hmm... da wirst du am besten ganz ohne spezielle Programmiersprache anfangen, also Grundverständnis der Funktionalität erlernen. Mal ganz grob gesagt, funktioniert die digitale Signalverarbeitung im Radio genauso wie im analogen Radio: also Eingangsmischer mit einem LO, womit man die Empfangsfrequenz wählt, dann Dezimation (man braucht ja weiter 'hinten' im Radio nicht die selbe große Samplerate wie weiter 'vorn'), dann Bandpaß, um alles wegzufiltern, was man nicht hören will, dann Demodulator. Das sind alles Teilgebiete, die man ganz passabel voneinander trennen kann. Wieviel bei so einem Radio dann analog und wieviel digital gemacht werden soll, hängt von dem jeweiligen Konstruktionsprinzip ab. Tutorials kann ich keine empfehlen. Literatur gibt es etwas, allem voran die "DSP Guide", die es im Netz als PDF gibt. Programmiersprachen? Nee, das ist an dieser Stelle noch Fehlanzeige. Erstmal die Grundlagen verstehen. Und was am besten geeignet ist, muß nicht das sein, was man am leichtesten erlernen und anwenden kann. Python ist interpretiert, das sieht wie die allerschlechteste Wahl aus. Assembler wäre am besten geeignet, ist aber den meisten Leuten zu schwer zu erlernen (bis man da zu Effektivität kommt). Bedenke mal, daß man nur eine begrenzte Anzahl von Maschinenzyklen hat zwischen zwei Samples. Bespiel: PC mit 3 GHz CPU-Takt, Samplerate von 96 kHz. Das macht, daß man pro Sample nur 3125 CPU-Takte hat. Das ist nicht berauschend viel, also ist Rechenzeit sparen bei allen Bearbeitungsschritten angesagt. W.S.
> Könnt ihr Tutorials oder Literatur empfehlen? > (19 Jahre, Mechatronik Student, 2.Semester) Der Studiengang der einem die notwendigen Grundlagen vermittelt heisst Nachrichtentechnik. Es sollte dir eigentlich problemlos moeglich sein in der Unibibli die entsprechenden Fachbuecher zu finden und kostenlos auszuleihen. Olaf
@Henri, bleib erst mal bei Python und widme Dich der Numerik. In Py. kannst Du gut visualisieren. Schau Dir GunRadio an. Dort werden auch Plugins aus Python verwendet. Darin kannst Du sehen, wie Generatoren, Mischer, Verstärker und andere Komponenten Programmiertechnisch aufgebaut sind. Im Prinzip musst Du nur Abtastwerte, also Zahlen, verarbeiten können um an die darin enthaltenen Informationen zu kommen. In der Praxis besteht die Schwierigkeit darin den dauernden Datenstrom zeitnah zu verarbeiten. Wenn Du die Mathematik dahinter verstanden hast, ist SDR im Prinzip gar nicht so schwer. Dann kannst Du Dir Gedanken machen, welche Quelle (USB-DVBT-Stick, ADI-Pluto, RF+AD-Übungs-Board, etc) Du dir leisten und besorgen kannst, um dann mit richtigen Daten zu arbeiten. Du kannst auch über WEB-SDR der UNI Twente in NL http://websdr.ewi.utwente.nl:8901/ Dir echte Sampels aus dem Äther als mp3-File herunterladen und damit spielen. Der Hinweis mit der SDR-Akademi und den Veranstaltungen in Friedrichshafen auf der HAM-Radio sind auch eine gute Quelle um Wissen über SDR-Technik aufzuauen. Viel Erfolg und Spaß dabei. Markus
Gute Einstiegs-Seite: https://sdrforengineers.github.io/ Alle SDR-Grundlagen als Buch bei Analog: "Software-Defined Radio for Engineers, 2018" https://www.analog.com/en/education/education-library/software-defined-radio-for-engineers.html Das ganze Buch als PDF: https://www.analog.com/media/en/training-seminars/design-handbooks/Software-Defined-Radio-for-Engineers-2018/SDR4Engineers.pdf
Markus W. schrieb: > Dir echte Sampels aus dem Äther als mp3-File herunterladen und > damit spielen. LoL!
Auch nochmal erwähnt sei dieses Buch: Software Defined Radio-Systeme für die Telemetrie: Aufbau und Funktionsweise von der Antenne bis zum Bit-Ausgang von Albert Heuberger Hier werden alle Teilgebiete eines SDR erst mal mit Matheprogrammen wie Octave, SciLab, Matlab,... durchgerechnet. Man erkennt wie AM, FM aber auch komplexere Modulationsarten mathematisch behandelt werden. Einen tieferen Einblick gibt das Buch DIGITAL MODULATIONS using MATLAB von Viswanathan. Mehr braucht man im ersten Schritt nicht. Auch GNU Radio ist hilfreich, man kann sich ja auch dort die Mathematik hinter den Blöcken anschauen. Speziell für Python-Leute vielleicht das hier https://pysdr.org/ Ich persönlich habe mir die Mathematik mit den Büchern beigebracht und mit Matlab Sender und Empfänger auf Dateibasis am PC aufgebaut. Dann das Ganze mit C/C++ auf PC, im weiteren Schritt auf einen schnellen Microcontroller gewechselt. Hier reicht für den Anfang auch ein Rasperry Pico, der ist leicht und billig verfügbar, schnell genug für Langwellenapplikationen ohne spezielles HF-Frontend. DCF77, DDH47 und AM Radio habe ich damit vor ein paar Wochen im Ortsverband im Nachwuchsbereich gezeigt. Also viel Spaß und bei konkreten Fragen sind wir hier. Gruß Thomas
Eine gute Einführung mit HackRFOne (aber nicht beschränkt darauf) sind auch die Videos von Michael Ossmann: https://www.youtube.com/GreatScottGadgets Das 'Hello World' für ein SDR ist ein kleines UKW Radio, das mit so gut wie jedem SDR laufen sollte. Dabei ist, wie meist, GRC die Basis.
W.S. schrieb: > Bespiel: PC mit 3 GHz CPU-Takt, Samplerate von 96 kHz. Das macht, daß man > pro Sample nur 3125 CPU-Takte hat. Rechne nochmal nach.
@von HAM alias Ahnungsloser, siehe Anhang! vy73 Markus PS.: .wav File im Anhang dazu! (nicht .mp3 wie von mir geschrieben!)
:
Bearbeitet durch User
Rolf M. schrieb: > Rechne nochmal nach. Nee, besser genauer auf den Taschenrechner gucken. Das war wohl alles. W.S.
Beitrag #7443551 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.