Themabewertung:
  • 3 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Universeller Sender für AM, FM, DAB(+), DVB-x, GPS für 20 Euro.
#1
Hallo zusammen,

vor einiger Zeit habe ich mit Hilfe von SDRs in Form von HackOne und LimeSDR gezeigt, wie man einen eigenen DAB+ Sender für
relativ wenig Geld in den Luft bekommt. Dennoch waren die Kosten im unteren dreistelligen Bereich nicht für jeden Bastler finanzierbar.
Aus diesem Grund habe ich zwischenzeitlich als "Auftragsleistung" immer mal SDRs mit zusammengesampelten ADC/DACs und alten
Klein-FPGA gebaut und zum Selbstkostenpreis abgeben. Die aktuelle Lösung die ich vorstellen möchte, kostet
noch sehr viel weniger, daher der Titel "Universeller Sender für AM, FM, DAB(+), DVB-x, GPS für 20 Euro" oder auch "Ein
ganzes Mittelwellenband voller Sender für 20 Euro".

Was brauchen wir für ein leistungsfähiges SDR welches primär eine "nur" Sendefunktion benötigt? Es sind schnelle Digital-Analog-Wandler mit
einer Schnittstelle, die die Sendedaten in Echtzeit zum DAC transportieren kann. Solche DACs findet man preiswert in
externen Grafikkarten, die über USB2 oder USB3 angebunden werden! Je preiswerter und weniger kompliziert, desto besser für uns.
Externe Grafikkarten mit dem FL2000 Chip von Fresco Logic sind genau richtig. Diese Grafikkarten haben selbst nicht mal einen eigenen
Grafikspeicher, sondern müssen dauerhaft vom PC mit Echtzeitdaten aus dem RAM des Rechners versorgt werden um ein stabiles Bild
zu generieren. Für uns ideal, nur wo steht geschrieben, das die DACs der Grafikkarte ein VGA-Signal erzeugen müssen? Es gibt sogar einen Softwaretreiber
mit Dienstprogrammen, die diese Fresco-Chips für unseren Zweck "vorbereitet".

Hier erstmal ein Bild einer solchen Billig-Grafikkarte mit USB3-Schnittstelle:

   

Hier das Innenleben:

   

Man findet diese USB-Grafikkarten bei ebay und bei Amazon im Bereich unter 20 Euro. Der Hinweis auf eine max. Auflösung von 1920x1080 bei USB3.0 bzw. 800x600 bei USB2 ist fast schon richtungsweisend für den FL2000.

Hat man sich so eine Grafikkarte besorgt, so installiert man den Treiber in einem Unix/Linux - System wie folgt:

Code:
git clone git://git.osmocom.org/osmo-fl2k.git
mkdir osmo-fl2k/build
cd osmo-fl2k/build
cmake ../ -DINSTALL_UDEV_RULES=ON
make -j 3
sudo make install
sudo ldconfig


Danach sollte man mit
Code:
fl2k_test -s 162e6


die maximale Transfergeschwindigkeit der Grafikkarte im eigenen System ermitteln. Bei USB3 und halbwegs aktuellen Computern sollten Werte um die 130-150 MS/s erreicht werden, bei USB2 immer noch Werte über 10 MS/s, was immer noch für den Betrieb als Mittelwellensender ausreicht.

Über Oberwellen, die wir natürlich(!) mit einem passenden Bandfilter herausfiltern, kommen wir auch in den DAB, DVB oder sogar GPS Bereich und können uns dort sendetechnisch austoben. 

Was brauchen wir noch? Um die Signal aus der Grafikkarte zu bekommen, wäre ein selbstgebautes VGA-Breakout-Kabel auf BNC oder einer der nachfolgenden selbstgebauten Adapter hilfreich.

       
.png   VGA_Breakout_Schaltplan.png (Größe: 9,98 KB / Downloads: 2.342)


Wie bringen wir den DAC dazu (wir verwenden erstmal nur den Rotkanal-DAC des VGA Signals) ein Sendesignal auszugeben?


Als ersten Schritt müssen wir mit GNU-Radio einen Signalweg zusammenklicken, weder der "dumme" DAC noch der Rechner wissen was wir senden wollen.

Starten wir als ein neues Projekt in GNU-Radio: Wir finden einen leeren Signallaufplan vor und auf der rechten Seite eine Biliothek mit Signalblöcken unterschiedlicher Funktionalität.

   

Die Signalblöcke lassen sich aus der Bibliothek ganz einfach in den Signallaufplan herüber ziehen. Die Ein- und Ausgänge der Signalblöcke haben unterschiedliche Farben, für jeden Datentypen eine eigene Farbe. Im aufzubauenden Mittelwellensender arbeiten wird fast durchgehend mit dem Datentyp "Float", also Gleitkommazahl.
In der obigen Abbildung sehen wir einen Signalblock, der von der Festplatte eine WAV-Datei (unser Modulationssignal für den Sender) einlesen kann und einen Tiefpassfilter (5kHz-Begrenzung des Modulationssignals). Die Datentypen passen noch nicht zusammen (unterschiedliche Farben)! Wir passen den Signalblock des Tiefpassfilters unseren Parametern an.

   

Die Samplerate des Tiefpassfilters bleibt auf der Variablen "samp_rate" defaultmäßig stehen, sie beträgt 44,1 kHz und damit auch genau der Samplerate des Modulationssignals in der WAV-Datei. Die Cut-off Frequenz des Filters wird auf 5000 Hz mit einem Übergangsbereich von 100 Hz festgelegt, der Datentyp des Filters in der Combobox auf Gleitkommazahl
gesetzt.


   

Jetzt haben die Ein-/Ausgänge beider Signalblöcke die gleiche Datentypfarbe und wir können eine logische Signalverbindung zwischen beiden Blöcken herstellen, siehe Bild.
Auf diese Weise bauen wir jetzt mit weiteren Signalblöcken unseren Sender auf.

   

Lesen tut sich der Signallaufplan etwa so.

1. Wir lesen eine WAV-File vom Dateisystem ein.
2. beide Audiokanäle der in diesem Fall Stereo-WAV, werden zu einem Mono-Signal zusammenaddiert
3. im Tiefpassfilter erfolgt ein Abschneiden aller Signalanteile ab 5 kHz
4. Unser 44.1 kHz Modulationssignal wird mit in einem Rational Resampler 200-fach hochgesampled um auf die in diesem Fall genutze Symbolrate von 8.82M zu kommen, mit
der der ganze Sender im PC läuft.
5. In der Signalquelle wird ein Sinus mit 1.8MHz und 8.82MS/s erzeugt, unser Trägersignal.

Die Amplitudenmodulation erfolgt mathematisch so:   HFam(t) = (1+NF(t)) * HFträger(t)

6.  Eine Signalverstärkung um den Faktor 128 erfolgt in "Multiply by Const".

Zwischen "Multiply by Const" und "Float To Char" liegen noch zwei Anzeigeinstumente (FFT und Wasserfallanzeige der HF), die aber nur zum Debuggen waren und weggelassen werden können.

7. im Signalblock "Float To Char" wird unser Signal im Datentyp gewandelt um im Signalblock "File Sink" in einer Datei "am_out.dat" weggeschrieben zu werden.

Das war unser AM-Sender, der gleich eine WAV-Datei auf 1.8 MHz in AM ausstrahlen wird.
Klicken wir oben im GNU-Radio auf den "Play-Pfeil", läuft unser Sender automatisch an.

Damit die Daten von am_out.dat im DAC wirklich erzeugt werden, öffnen wir in einem anderen Terminal folgendes Dienstprogramm:


.jpg   AM_Datei_senden.jpg (Größe: 10,41 KB / Downloads: 2.320)

Mit dem Dienstprogramm fl2k_file wird unsere am_out.dat in der Systemsamplerate 8.82 MS/s kontinuierlich an den Rotkanal-DAC der Grafikkarte weitergeschrieben, wo es über einen passenden Tiefpass und ggf. weiterer Signalkonditionierung abgestrahlt werden kann.

Jetzt kommt der große Vorteil eines SDRs. Im Signallaufplan hantieren wir ja nur mit genau getakteten Zahlenwerten rum. Niemand hindert uns, den Signalverlauf über die Zwischenablage zu verdoppeln, verdreifachen, .....

Als Modulationsquelle wählen wir natürlich immer anderer Dateiquellen von der Festplatte. FIFOs oder Pipes bzw. Soundkarteneingänge gingen an der Stelle ebenso.
Am Ende addieren wir sämtliche HF zu einem Ausgangssignal was wir in eine Datei (FIFO, PIPE, ...) wegschreiben und dann im gleichen Atemzug zum DAC schicken.

   

Und mit wenigen Klicks haben wir jetzt zwei, drei, ... Sender mit unterschiedlichen Trägerfrequenzen am DAC-Ausgang anliegen.

Im Netz hat dies einer mal ziemlich weit getrieben und einen "Abgleichsender" mit 110 Kanälen und 110 synthetischen Modulationsquellen "aufgebaut".

https://hackaday.io/project/21145-am-ban...ncy-marker

Aber Dank des frei gestaltbaren Signallaufplans sind wir nicht auf 1,2,3... AM, oder FM-Sender beschränkt. Wir können so auch einen DAB+ oder DVB-x Sender zusammenklicken. Fertige Pläne zum Laden in GNU-Radio gibt es dazu hier: https://github.com/steve-m/fl2k-examples  selber bauen macht aber mehr Spaß! Vielleicht auch für AM-Stereo ein wunderbares Spielzeug. Und wer das alles durch hat, der kann für weniger als 20 Euro auch seine eigenen GPS-Satelliten in die Luft bekommen.  Tongue





Viel Spaß beim Senden und Experimentieren in jeder nur erdenklichen Betriebsart!

Gruß
Bernhard 45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#2
Danke Bernhard!

Sehr interessante Sache, gerade auch wegen DVB irgendwas.

Gruß

(Reflex-)Kalle
Zitieren
#3
Ja man könnte zum Beispiel Überwachsungskameras, Türspionkamers oder andere Bildquellen als DVB-x Multiplex verteilen und an jedem TV betrachten. Aber zum Beispiel auch ein digitales Videosignal in irgendeine andere analoge Fernsehnorm umwandeln und aussenden. Auch eine Signalgenerierung für Qatar Oscar 100 ist realisierbar.

Anstelle eines großen PCs dürfte auch der neue Raspberry 4, welcher das schnelle USB3 kann, interessant sein. Vielleicht mit mehreren iRadio Instanzen verschiedene Internetradios empfangen und diese Stationen auf ein Lang- oder Mittelwellenband verteilt wieder aussenden. Dann braucht man nicht x-mal konventionelle Sender, nein es reicht eine USB-Grafikarte aus um ein volles Frequenzband zu erzeugen. Neue Stationen lassen sich per Mausklick anlegen. Fading- oder Gewittersimulation wäre ebenso einfach über oben gezeigten "Programmiersoftware" zu realisieren. Und das alles zu einem sehr günstigen Preis, welcher wohl von allen Radiobastlern getragen werden kann?

Gruß
B45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#4
(03.07.2019, 20:05)Bernhard45 schrieb:  so installiert man den Treiber in einem Unix/Linux - System wie folgt:

Also warten wir auf die Windows-Version.  Cup
Zitieren
#5
(04.07.2019, 21:05)oldeurope schrieb:
(03.07.2019, 20:05)Bernhard45 schrieb:  so installiert man den Treiber in einem Unix/Linux - System wie folgt:

Also warten wir auf die Windows-Version.  Cup


Die Windows-Binaries, gibt es auf einigen Webseiten. Musst du also nicht mal aus dem Sourcecode kompilieren.

Otto.
Zitieren
#6
Hallo,

nein warten auf Windows-Versionen braucht niemand. LibUSB, GNU Radio Companion + Python und praktisch fast alle OSMOCOM Projekte (hier der FL2K) sind für Unix/Linux, auch für MacOS und Windows verfügbar. Die fl2k-Dienstprogramme die oben genutzt werden, findet man als Weekly-Build auf dem offiziellen FTP von OSMOCOM. Es muss zum Senden also niemand ein Linux-System einrichten.

Gruß
B45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#7
Ich sehe da für mich nicht mal ansatzweise eine Möglichkeit den SDR-TX softwareseitig auf die Beine zu stellen.

Vielleicht kommt ja noch ein reproduzierbarer SDR. Das ist nicht unwahrscheinlich.
In Sachen Mikrocontroller ist das ja auch irgendwann mit dem Arduino passiert.
Vor Arduino galten Prozessoren in meiner Elektronikwelt schlicht als unbenutzbar.

LG
old.
Zitieren
#8
(05.07.2019, 12:41)oldeurope schrieb: Ich sehe da für mich nicht mal ansatzweise eine Möglichkeit den SDR-TX softwareseitig auf die Beine zu stellen.

LG
old.

An was scheitert es? Installation aller Programme, passende Grafikkarte bei ebay/Amazon finden oder zusammenklicken des Signalflussplanes?

Gruß Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#9
Um eine Frage per Mail zu Beantworten,
für die digitalen Betriebsarten (DAB, DVB-x) sind schon viele Bestandteile für Senden / Empfangen im Standardbibliotheksumfang von 
GNU Radio Companion enthalten. 
Man muss also nicht mehr jeden einzelne Signalblock aus der mathematischen Formel herleiten!

       

Und wie oben schon gezeigt, gibt es unter https://github.com/steve-m/fl2k-examples viele fertige Sender die man am Radio bzw. an einer Set-Top-Box ausprobieren kann. Wer mit den Tools aus dem OpenDigitalRadio Projekt selbst (noch) keine ETI-Datei erstellen kann, der findet per Google auch fertige Beispieldateien zum Speisen eines DAB Senders.

Gruß 
B45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#10
(05.07.2019, 17:28)Bernhard45 schrieb:
(05.07.2019, 12:41)oldeurope schrieb: Ich sehe da für mich nicht mal ansatzweise eine Möglichkeit den SDR-TX softwareseitig auf die Beine zu stellen.

LG
old.

An was scheitert es? Installation aller Programme, passende Grafikkarte bei ebay/Amazon finden oder zusammenklicken des Signalflussplanes?

Gruß Bernhard

Zur Installation komme ich gar nicht, weil ich nicht weiß was ich wie wo runterladen muss für win10.

Ich würde dann mal so eine Trockenübung machen wie in Deinem Bild da:
https://radio-bastler.de/forum/attachment.php?aid=64775

LG
old.
Zitieren
#11
Hallo old,

das grafische Programmiersystem (praktisch die Arduino IDE im Bereich des SDR), mit dem Du Sender und Empfänger programmieren kannst, bekommst Du für Windowssystem hier:

http://www.gcndevelopment.com/gnuradio/downloads.htm

Ich würde die neuste Version, 64 Bit Any CPU nehmen. Damit kannst Du zum Bespiel einen AM (Mono/Stereo) Sender virtuell aufbauen und mit Dateinen von der Festplatte oder von der Soundkarte modulieren. Die HF die zu einem DAC geschickt werden muss, kann man damit schon mal auf Festplatte wegschreiben. Ebenso kann man einen kompletten Empfänger für alle nur denkbaren Modulationsarten aufbauen und die HF von der Festplatte einlesen und demodulieren lassen.

Willst Du die im GNU Radio erzeugte HF real in die Luft bringen, dann findest Du bei Amazon mit den Suchbegriffen "USB3 VGA" passende "Sender". Der FL2000 (kurz FL2k) ist meist in den Grafikkarten verbaut, die mit USB3 eine Auflösung von 1920x1080 schaffen, nicht mehr und nicht weniger und bei USB2 eine maximale Auflösung von 800x600.

Um diese Grafikkarte auf einem Windows-System zum Sender zu machen, benötigt man zwei Sachen.

1. Einen universellen USB-Treiber, nämlich libusb. Den passenden Treiber kann man von der Projektseite (Downloadbereich) für Windows runterladen. https://libusb.info/

2. Die Dienstprogramme mit der man die von GNU Radio erzeugte HF zum DAC transferiert. Diese Programm bekommt man für Windows
wöchentlich neu gebaut hier: http://ftp.osmocom.org/binaries/windows/osmo-fl2k/

Du kannst ja erstmal ein bisschen mit GNU Radio rumspielen und warm werden. Vielleicht mal einen Sender und einen passenden Empfänger (AM Radio) aufbauen. Wenn das klappt, würde ich mir eine solche billige 10-20 Euro Grafikkarte besorgen und dann Stück für Stück zur richtigen Aussendung der HF übergehen.

Gruß
B45
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#12
Vielen Dank, ich werde das probieren.

LG
old.
Zitieren
#13
Hallo. Ich kenne das gnu Radio-Programm aus der Firma. Kennen ist
übertrieben, aber es ist ein sehr leistungsfähiges Werkzeug
um Sender und Empfänger zu entwickeln. Mit den SDR von Ettus,
einem fernumschaltbaren Antennenfeld war ein sehr gutes
Monitoring eines großen Bandabschnitts möglich. Danke das Du das
nochmal vorgeholt hast, jetzt werde ich mich intensiver damit
beschäftigen und vielleicht auch einen Mittelwellensender
aufbauen, der mehrere Radiostationen auf einmal ins Band bringt.


Als Basis nehme ich das iRadio und verändere die vlcd.
Zusätzlich lade ich das snd_loop Modul um mehrere virtuelle Soundkarten für
VLC zu haben.
In der vlcd starte ich 8x vlc mit jeweils anderen Internetradiostationen
und leite die Audioausgabe auf die virtuellen Soundkarten um.

Dort hole ich mit Gnu Radio das Audiosignal der
vielen vlc-Prozesse ab, Tiefpassfiltern, Up-Samplen,
mit 8 Signalgeneratorblöcken erzeuge ich die Träger und moduliere sie AM mit den
Audiodaten.

Anschließend werden alle modulierten Sender mit einem Addiersignalblock in GNU-Radio
zusammengefasst und per TCP/IP an das FL2000-Programm gesendet welches seinerseits
die Daten über USB3 auf die Grafikkarte schreibt.


Bei Amazon habe ich mir für etwas über 10 Euro mehrere Grafikkarten bestellt.


.jpg   SDR.jpg (Größe: 23,54 KB / Downloads: 1.974)

Praktisch ist der neue Raspberry 4, den er hat schon USB3. Dieser wird in der 2GB Variante
der Hauptrechner im Sender sein. Darauf läuft dann GNU-Radio mit der jeweiligen
Senderkonfiguration.

Für höhere Frequenzen werde ich nicht die passende Oberwelle herausfiltern, sondernmit der Grafikkarte ein nur 25 oder 40 MHz breites Basisband erzeugen. Dieses Basisband verschiebe ich dann mit einem kostengünstigen 35 MHz - 4.4 GHz Signalgenerator (knapp 20 Euro bei Amazon)
in den Zielfrequenzbereich.


.jpg   ADF4351.jpg (Größe: 40,71 KB / Downloads: 1.978)

Das ganze kommt in ein schönes Gehäuse und der Sender kann über ein
eigenes HDMI-Display  per Touchoberfläche bedient werden.


.jpg   Sender_Display.jpg (Größe: 37,43 KB / Downloads: 1.968)

Eine Fremdmodulation wird auch über WiFi oder Ethernet möglich sein.

Otto
Zitieren
#14
Hallo Zusammen,

ein sehr interessantes Projekt. Eine Frage geht mir da durch den Kopf: Könnte man damit ein Signal erzeugen das mit einem Tuner für das alte Satelliten DSR Radio System empfangbar wäre. Natürlich wäre eine SIgnal in der Frequenzlage der SAT ZF, ich glaube das waren so ca. 1500MHz, nur mit einer Mischung zu erreichen aber man könnte das Signal ja mit einer niedrigeren Frequenz erzeugen und das dann "hochmischen". Die Kodierung selbst war ja als 14 bit Signal mit einigen Tricks gemacht worden. Es gibt bestimmt noch einige hier die einen solchen Tuner im Keller stehen haben und es wäre interessant diesen wieder zum leben zu erwecken.
Viele Grüße
Semir
---------------------------------
"Alle sagten: Das geht nicht. Dann kam einer der wußte das nicht, und hat es gemacht."
(Prof. Hilbert Meyer, Uni Oldenburg)
Zitieren
#15
Da GNU Radio Companion zur Signalverarbeitung Programmiersprachen nimmt, die Turing-Vollständig sind, wird es keine technischen Probleme beim Umsetzen des Signalflussplanes für DSR geben. Auch die DACs in der Grafikkarte sprechen erstmal nicht gegen eine solche Umsetzung.

Begrenzender Faktor einer praktischen Umsetzung (egal für welche Art von Modulation) ist immer der verwendete PC zur Signalerzeugung!
Er muss im Fall von DSR die Signalerzeugung aus 16 Audioquellen mindestens(!) in Echtzeit schaffen. Wenn er mehr schafft umso besser, kann es keine Drop-outs geben.
Dann muss der PC die berechnete HF noch schnell und in Echtzeit (!) über USB3 oder TCP/IP (wenn der DAC an einem anderen Rechner hängt) an den DAC übertragen. Der DAC der hier benutzten Grafikkarte hat keinen eigenen Datenspeicher, ist also auf einen zeitlich präzise getakteten Datenfluss seitens des PCs angewiesen.

Ist das alles gemeistert, dann kann man sich aussuchen ob man eventuell die passende Oberwelle rausfischt, die auf ZF-Ebene liegt, oder ob man das DAC-Signal als Basisband mit einem zusätzlichen Oszillator auf die Zielfrequenz mischt.

Also DSR ja, aber ganz sicher nicht mit einem alten Pentium 4 o.ä, auch wenn man dem eine USB3 Karte spendiert.

Gruß
Bernhard

PS: Aber an eine Reanimation von DSR hätte ich auch Interesse.  Smile
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#16
Ich bin noch lange nicht so weit wie Ihr.
Einen Lehrfilm habe ich mir angesehen:
https://www.youtube.com/watch?v=ufxBX_uNCa0


Die Gnuradio-Software ist installiert und ich habe ein 1KHz Signal
auf dem virtuellen Oszilloskop.
   
Hier die grc als txt:

.txt   1KHz_oszilloskop_001.txt (Größe: 6,89 KB / Downloads: 50)

Den Kanal 2 bekomme ich noch nicht abgeschaltet.
Und es fehlt ein xterm?
   

LG
old.

PS: Darf ich hier Fragen zu gnuradio stellen oder soll ich eine neue 
Beitragsreihe dafür aufmachen?
Zitieren
#17
Hallo old,

zu 1.) Du bekommst zwei Kanäle deshalb angezeigt, weil Du einen Datentyp gewählt hast, der pro "Takt" auch zwei Werte enthält. Das ist einmal der Realteil- und einmal der Imaginärteil einer komplexen Zahl. Man erkennt es auch an der Farbe der Ein-/Ausgänge, blau bedeutet "Complex". Klicke mal auf jeden einzelnen Signalblock und ändere zum Beispiel den Datentyp von "Complex" auf "Float".
Hast Du das gemacht und startest Du die Ausführung, wirst Du nur noch einen Kanal im Oszi angezeigt bekommen.


zu 2.) Ein xterm gibt es natürlich auf einem Windows nicht, das Pendant dazu ist die Eingabeaufforderung. Du kannst die Nachricht also mit Okay bestätigen, Sie sollte nur einmal angezeigt werden.

zu 3.) Hier oder eigene Beitragsreihe? Kommt darauf an wie viele Nutzer mit GNU Radio einen Sender aufbauen wollen. Zwei, drei Nutzer werden wir in einem Thread noch halbwegs übersichtlich "supporten" können. Darüber hinaus ist es eventuell übersichtlicher wenn jeder seinen eigenen Hilfe-Thread bekommt.

Gruß
Bernhard
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#18
Vielen Dank Bernhard45, ich bin entzückt.
Der VCA funktioniert schon:
   

1. Frage: Muss hinter den Multiplizierer noch ein Trottel?

2. Frage und das wird haarig, weil ich bezüglich Computern
ein ziemlicher Throttle bin, Wie bekomme ich den linken und
den rechten Kanal eines eingestellten Internetradio-Senders
als Signalquelle da rein?

LG
old.
Zitieren
#19
Hallo old,

Zunächst einmal zu Signalein- und ausgaben.

Signale holt man in GNU-Radio über Sourcen. Klicke mal oben in der Tool-Leiste auf die Lupe und gibt über die Tastatur "Source" ein. Du siehst jetzt alle Bausteine für mögliche Dateneingänge in GNU Radio. Mit "Sink" im Suchfeld erhälst Du alle Ausgänge.

Internetradios kann man sich in einem Linux-System ganz einfach über FIFO (FirstIn-FirstOut), Pipes, virtuelle Audiointerfaces, TCP/UDP Streams oder ZeroMQ reinholen. Welche Pendants es dazu auf einem Windows-System gibt, kann ich nicht sagen.
Mit Sicherheit wird man unter Windows Daten über die eingebaute Soundkarte, virtuelle Soundkarten, TCP/UDP-Streams von vlc  oder banal über das Dateisystem rein bekommen. Möchte ich zum Beispiel vom iRadio eine Internetradiostation als Modulationsquelle haben, dann streame ich einfach zu GNU Radio mit einem TCP oder UDP Source Signalblock!

Ich zeige mal ein Beispiel aus einem Sender:

   

Zu sehen ist ein Signalblock "Wav File Source". Dieser liest eine WAV-Datei vom Dateisystem ein.
Holt man sich diesen Signalblock in die Arbeitsfläche, hat er zunächst einen Kanal, also Mono. Klickt man doppelt auf den Signalblock, kann man unter N-Channels die Anzahl der Kanäle angeben, die die WAV-Datei beinhaltet. 2 = Stereo.
Bestätigt man das so mit OK, hat der Signalblock dann zwei Ausgänge. oberer Ausgang = linker Kanal, unterer Ausgang = rechter Kanal.

Der Signalblock "Audio Source" macht das mit Audioeingängen physikalisch oder auch virtuell vorhandener Soundkarten.
Belegung analog dem "Wav File Source" Block.

Zusammenmischen auf Mono (L+R) geht dann ganz einfach über ein "Add" Block, L-R dann mit einem "Subtract".
Mit dem Mono-Signal + 1 könnte man jetzt den imaginären Teil eines Signals abbilden, addiert man zum Beispiel das 25 Hz-Floatsignal eines Signalgenerators (Pilotton  25 Hz) auf (L-R) und gibt dieses auf den Realteil eines Signals, dürfte man, aus meinen Erinnerungen, ein Motorola C-QUAM "Basisband" haben?
Gut man muss noch Tiefpassfiltern, dann auf die Zielsamplerate Upsamplen und mit dem Signal eines Trägergenerators "komplex"-multiplizieren um eine HF zu erhalten. Diese gesamten Daten würde man dann zum fl2k_-Dienstprogramm senden, entweder per FIFO, Dateisystem oder TCP/IP, welches dann alles zum DAC rausschreibt. Am DAC-Ausgang hätte man dann das Sendesignal.

Gruß Bernhard

PS: Was ich an deinem Signallaufplan sehe, du bist im Audiobereich und hast eine Samplerate von 320k gewählt! Das ist wahnsinnig viel und verbraucht unnötig Rechenleistung.  Nimm im Audiobereich die Standardsamplerates von 16k, 32k, 44.1k, max. CD-Qualität mit 48k.  Erst nachdem alles auf "Audio-Ebene" berechnet wurde, sampled man auf die Zielsamplerate des Senders. Das geht mit dem Signalblock "Rational Resampler". Der Wert unter "Interpolation" dient, klar dem Upsamplen, Decimation ist die Rate des Downsamplen (nimm nur jeden ....x-ten Wert der Reihe).
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren
#20
(08.07.2019, 20:03)Bernhard45 schrieb: Holt man sich diesen Signalblock in die Arbeitsfläche, hat er zunächst einen Kanal, also Mono. Klickt man doppelt auf den Signalblock, kann man unter N-Channels die Anzahl der Kanäle angeben, die die WAV-Datei beinhaltet. 2 = Stereo.
Bestätigt man das so mit OK, hat der Signalblock dann zwei Ausgänge. oberer Ausgang = linker Kanal, unterer Ausgang = rechter Kanal.

Der Signalblock "Audio Source" macht das mit Audioeingängen physikalisch oder auch virtuell vorhandener Soundkarten.
Belegung analog dem "Wav File Source" Block.
Hallo Bernhard,

Mono klappt das, ich sehe was ich im Lautsprecher höre.
   
Aber in Stereo geht leider nichts.

.png   Stereoquelle_geht_nicht.png (Größe: 13,33 KB / Downloads: 1.804)
Was mache ich falsch?

LG
old.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  MW-Sender mit ESP32 DrNeurosurg 23 4.616 06.02.2024, 14:56
Letzter Beitrag: navi
  DRM - Sender mit Fl2K-Grafikkarte Bernhard45 0 2.030 21.04.2020, 09:47
Letzter Beitrag: Bernhard45
  HDRadio / IBOC Sender mit FL2K-Grafikkarte Bernhard45 8 4.538 21.01.2020, 20:51
Letzter Beitrag: Bernhard45
  FMBerry, UKW-Sender mit einem Raspberry saarfranzose 22 11.986 27.12.2019, 18:43
Letzter Beitrag: Bernhard45
  MW Sender Radio Mann 2 2.137 10.12.2019, 22:50
Letzter Beitrag: navi

Gehe zu: