Qirx - DAB SDR-Software für Windows mit TII Auswertung

Alles zum Thema DAB(+) Digitalradio.
Austria MV
Beiträge: 1376
Registriert: Fr 31. Aug 2018, 17:42

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Austria MV »

@Manuel
Statt der 0 eine 1 verwenden dann läufts wieder.
In der Qirx config oder Qirx Konfigurationfenster Dev. Index von 0 auf 1 ändern.
Dein TV Stick ist mit 1 Adressiert und das andere Gerät als 0.
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Hallo Manuel,

Device ohne Namen: Hatte ich ebenfalls schon, der Grund ist unklar. In deinem Fall hat rtl_tcp einen Dongle als Index no.1 erkannt. D.h. wenn du nicht -d 0, sondern -d 1 benutzt hättest, hätte es funktioniert (wie auch von Austria MV geschrieben). Das ist natürlich für den Alltagsgebrauch nicht akzeptabel, aber leider sind das die Eigenheiten der Kette Zadig (libusb + Kerntreiber) -> rtl_tcp (oder ein anderes Produkt der rtl_x Serie von Osmocom). Das hat mit dem TCP/IP nichts zu tun. Wenn man in die Quellen der libusb schaut, findet man als Fehler -12 in der libusb.h Datei den Text

Code: Alles auswählen

	/** Operation not supported or unimplemented on this platform */
        LIBUSB_ERROR_NOT_SUPPORTED = -12
was auch nicht sonderlich hilfreich ist.

Ich habe hier einen ähnlichen Fehler an meinem Win7 Notebook mit vier USB-Ports, wo die RTL-Dongles nur an zweien von rtl_tcp erkannt werden, obwohl der Windows Device Manager den Dongle an allen vier Plätzen meldet. Das linke Fenster zeigt den Device Manager, das Insert die Eigenschaften (rechte Maus auf "RTL238U") und das rechte Fenster die Ausgabe von rtl_tcp. Entscheidend ist offensichtlich die "Location" Port_#0004.Hub_#0001, welche nicht erkannt wird, obwohl im Device Manager vorhanden. Der sdrplay geht auf diesem Platz problemlos.

Hier der Fehler-Fall:
E4000_nicht_erkannt.jpg
Und hier der Ok Fall:
E4000_erkannt.jpg
Ich hatte für diesen Test übrigens den Zadig Treiber neu installiert, Version 2.4.
oldenburger
Beiträge: 120
Registriert: So 30. Sep 2018, 10:58

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von oldenburger »

Hallo Clem01,

vielen Dank für die neue Version. Die SNR-Angabe passt jetzt viel besser.
Ich habe 2 PCs zur Verfügung. Ein Desktop mit Windows 7 und AMD 4x3GHz, außerdem ein Notebook mit Windows 10 und Intel 2X3GHz. Auf dem Notebook lief Qirx bisher gut, auf dem Desktop manchmal leider nicht. Wenn es nicht läuft, ist das Feld "Frame" rot und zeigt >100ms. Die Auslastung der CPU ist 40 bis 70%, je nach Einstellung bei "Display Speed". Das hat aber keinen Einfluss darauf, ob es läuft oder nicht. Auf dem Notebook habe ich neuerdings das gleiche Problem. Ich habe vor kurzem ein Update auf Windows 10 1809 gemacht. Vielleicht hat es damit zu tun. Woran könnte das liegen?
Wenn ich nicht vom USB-Stick empfange, sondern ein mit Andis Player erzeugtes File abspiele, dauert es nur ein Paar Sekunden. Dann wird das Feld "Frame" grün und zeigt 96 ms und die Musik spielt.
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Hallo oldenburger,

Warum das Ganze nur bei Live-Betrieb so ist, kann ich mir schwer erklären. Das würde bedeuten, dass die TCP/IP Übertragung das Ganze bremst. Diesen Effekt konnte ich bisher nicht beobachten. Hast du schon mal versucht, den rtl_tcp auf getrennt auf dem zweiten Rechner laufen zu lassen? Was du noch versuchen könntest, wäre in der Konfiguration das Feld "Polling" umzuschalten. Dann wird ein anderer TCP/IP Empfangsalgorithmus genutzt. Macht bei mir allerdings fast nichts aus.
oldenburger
Beiträge: 120
Registriert: So 30. Sep 2018, 10:58

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von oldenburger »

"Polling" habe ich schon probiert, bringt leider nichts. Das mit dem getrennten PC werde ich mal probieren und berichte dann. Es ist bei mir hart an der Grenze, denn manchmal funktioniert es ja. Ab wieviel GHz sollte es denn stabil laufen? Profitiert das Programm überhaupt von mehr als einem Prozessorkern? Ob 2 oder 4 Kerne ist ja scheinbar egal.
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Qirx als multithreaded Programm nützt Mehrprozessorkerne, allerdings gesteuert vom Betriebssystem (wie üblich) und nicht explizit programmiert, was aber auch möglich wäre.

Wenn du das selbst ansehen möchtest:
  • Process Explorer von sysinternals (=Microsoft) starten,
  • Doppelklick auf den Prozess, der interessiert (hier also qirx)
  • Im "Properties" Fenster den "Threads" Reiter anwählen
Die Liste mit allen Threads des Prozesses zeigt eine Spalte "CPU", wo zu sehen ist, welcher Thread wieviel Auslastung pro CPU erzeugt.

Demnach ist qirx im Wesentlichen auf vier Prozessoren aufgeteilt, mit folgender Verteilung (je CPU und auf meinem Win10 Notebook)
- 5%
- 1,5%
- 0,5%
- 0,1%
====
7,5%, = Totale Auslastung der Maschine durch qirx (Durchschnitt).

Das zeigt, dass die Balance sicher noch nicht optimal ist, aber Mehrkerner werden genutzt, zumindest auf Windows, auf Linux Mono war dieses Bild ganz anders, daher m.E. auch die miserable Performance in Mono (s. dazu auch mein Bericht im Web).
Leider werden die vom Programm vergebenen Threadnamen nicht angezeigt.

Fazit: Eine Aufspaltung (Parallelisierung) des Threads der die Hauptbelastung erzeugt, würde die Performance wohl steigern.

Zur Frage der CPU-Geschwindigkeit: Darauf kann man nicht mehr so viel geben.

Beispiele hier:
Win10 Notebook Intel Core i7 CPU @2.7GHz, läuft sehr gut (s.o.)
Win7 Notebook Intel Core i7 CPU@2.2GHz, läuft ca. halb so schnell wie der Win10, qirx absolut problemlos,
Win10 Desktop Intel Core2 Quad CPU Q8200@2.3 GHz, läuft ziemlich miserabel, d.h. zu langsam für qirx.
Manuel
Beiträge: 43
Registriert: Mo 3. Sep 2018, 07:50
Wohnort: Ichenhausen JN58di

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Manuel »

Hallo, vielen Dank für die detaillierte Hilfe.

Also das mit -d 1 funktioniert. Jetzt findet er den Stick auf allen USB Ports. :spos:

Mal was anders.. Ich empfange alle DAB Signale über eine Yagi. Allerdings bräuchte ich diese nicht im Falle von 5C, evtl bereitet diese mir hier sogar ein Problem. Dank der Tii Code Auswertung ist mir aufgefallen, dass ich neben meinem Ortssender (Ulm Kuhberg) als zweitstärksten Sender einen Standort (Gelbelsee) empfange, welcher 105km entfernt liegt, mein Ortssender liegt 180 Grad in der entgegengesetzten Richtung, heißt also die Sender sind 135km voneinander entfernt. Nun würde mich interessieren, ob die Laufzeit bereits so hoch ist, dass der Gelbelsee mir den Empfang stört oder ob das noch ausreichend ist.. Wie könnte ich das herausfinden ?

1 Sample Unterschied entspricht 146m Entfernungsunterschied, doch wieviele Samples dürfen es sein, bis es kritisch wird ?
oldenburger
Beiträge: 120
Registriert: So 30. Sep 2018, 10:58

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von oldenburger »

Das mit dem Process Explorer habe ich für beide PCs gemacht. Man sieht, das ein einziger Thread fast die ganze Last erzeugt. Der Prozessor ist aber nicht annähernd ausgelastet. Vielleicht läuft irgend ein Datenpuffer über, weil er nicht oft genug bedient wird.
Ich habe es leider nicht geschafft, rtl_tcp getrennt auf dem zweiten Rechner laufen zu lassen. Das scheitert schon daran, dass ich "StubForRemoteStart" nirgends finden kann.
Dateianhänge
PhenomIIX4.png
Core2Duo.png
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Hallo Manuel,

Wenn du die Standorte der Sender kennst, dann ist die interessierende Distanz die Differenz der Entfernungen von deinem Standort. Also : Distanz Gelbelsee - Distanz Ortssender (30km?), das wären 105km - 30km = 75km. Die Grenze, ab der es bei DAB kritisch wird, sind gerade ca. 75km. Das entspricht dem sog. Guard-Intervall, innerhalb dessen die Signale beim Empfänger eintreffen müssen, um den Empfang nicht zu verschlechtern. In Samples ausgedrückt: 504 Samples (=DAB Guard Intervall in Mode I, der nur noch aktuell ist) entspricht 504* 0.146km = 73.6km. Ab da wird es nicht schlagartig schlecht, sondern mehr und mehr.

Vielleicht könntest du ein CIR-Diagramm posten (Fenster "Synchronisation, CIR" mit den roten Balken, am Rand stehen Sample-Nummern), da müssten diese Werte in etwa aufscheinen (sicher nicht ganz genau wegen der internen Verzögerung im Sender). CIR ist besser als das Delay-Spektrum, weil im Delay-Spektrum keine negativen Werte zu sehen sind, im Gegensatz zum CIR. Die negativen Werte werden ins Positive "hineingeklappt".
Zuletzt geändert von Clem01 am Mo 8. Okt 2018, 23:43, insgesamt 1-mal geändert.
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Hallo oldenburger,

Danke für deine interessanten Screenshots. Ich nehme an, das untere Diagramm ist der Vierkerner. Im oberen Diagramm ist der Mehrkerner offensichtlich wirkungslos, wie du auch schreibst. Im unteren Diagramm allerdings passt das in etwa von der prozentualen Auslastung mit meiner Messung zusammen. Leider habe ich keinen Zweikerner, um eventuell mal eine programmgesteuerte Zuteilung der Threads auf die Prozessoren testen zu können. Wie gesagt, die Aufteilung macht Windows.

Der "StubForRemoteStart" hat jetzt (Qirx V1.0.7) einen Installer bekommen (.msi Datei, s. Website), sollte also kein Problem sein. In früheren Versionen war der "gut versteckt" im Verzeichnis <BasisDirectory>\qirx_Common\StubForRemoteStart\bin\Release\StubForRemoteStart.exe.

rtl_tcp kann aber auch von Hand gestartet werden, und in der Konfiguration "Autostart" abgewählt, sollte qirx den remote TCP Server auch finden. Allerdings würde ich nicht allzu viel an Performancegewinn erwarten.

Pufferüberlauf würde ich hier ausschliessen, dann spielt keine Musik mehr...
oldenburger
Beiträge: 120
Registriert: So 30. Sep 2018, 10:58

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von oldenburger »

Nein, das obere Bild ist der Vierkerner.

Ich habe die 10 MByte große Datei "QIRX_Windows.zip" heruntergeladen und entpackt. Darin ist der Sourcecode von StubForRemoteStart enthalten, eine .msi oder .exe aber nicht. Ich glaube auch nicht, dass es etwas bringt, die rtl_tcp.exe auf einen anderen PC zu verlegen, weil das nicht mal 0,5% der Prozessorlast ausmacht.
Pufferüberlauf würde ich hier ausschliessen, dann spielt keine Musik mehr...
So ist es ja auch. Denn wenn Qirx Probleme macht, dann gibt es keine Synchronisation, es spielt keine Musik und "Transmitter Identification" zeigt auch nichts an. Machmal läuft es aber doch. Das könnte vielleicht davon abhängen, wie Windows die Threads zufällig auf die Prozessorkerne verteilt.

Es gibt mit Qirx noch ein kleines Darstellungsproblem. Auf einem PC habe ich die Anzeige auf 125% eingestellt, weil die Schrift auf dem Monitor sonst zu klein ist. In Qirx sind dann aber einige Fenster abgeschnitten. Der rechte und untere Bildrand bleiben dann leer, siehe Bild. Wenn ich die Anzeige auf 100% einstelle, ist alles in Ordnung.
Dateianhänge
qirx.png
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

Danke für die Informationen. Deine Bemerkungen entsprechen auch meiner Beurteilung. Der "StubForRemoteStart" Installer war mir durchgegangen. Ich habe es korrigiert. Sollte jetzt im Download drin sein.

Die "Symbol Time" darf 1,2ms nicht überschreiten. Ansonsten fehlen irgendwann Daten (kann man sicher auch Pufferüberlauf nennen) und die Synchronisation schlägt fehl. Und die Frame Time läuft natürlich auch weg.

Ich habe zwischenzeitlich mal einige Experimente gemacht. Einer der Haupt-Lasterzeuger ist die Frequenzkorrektur, die für jedes I/Q Sample gemacht werden muss (drei Gleitkomma-Multiplikationen). Mit den vorgenommenen Änderungen läuft es wieder auf meinem alten Desktop (sofern keine Updates im Hintergrund gemacht werden). Es wäre interessant, ob diese Version auch in deiner Situation eine Verbesserung bringt.

Die Sache mit der Bildschirmauflösung werde ich mir bei Gelegenheit ansehen. Danke für den Hinweis.
oldenburger
Beiträge: 120
Registriert: So 30. Sep 2018, 10:58

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von oldenburger »

Habe gerade einen Download der neuesten Version gemacht. StubForRemoteStart.msi ist jetzt drin, vielen Dank!
An QIRX habe ich keine Änderung gefunden, ist noch die Version vom 30.9.2018.
Manuel
Beiträge: 43
Registriert: Mo 3. Sep 2018, 07:50
Wohnort: Ichenhausen JN58di

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Manuel »

Hallo Clem,

um also nun das sog. Guard-Intervall zu prüfen, habe ich nun ein paar CIR Diagramme aufgenommen..

So sieht das ganze aus, wenn ich den 5C über die Yagi empfange. Was lese ich aus diesen 3 roten Balken ? Entspricht jeder Balken einem Sender?
5c Yagi.JPG

Und hier ohne Yagi, also meine Ortssender:
5c Ortssender.JPG

Nochmals ohne Yagi, allerdings ist der unterste rote Balken verschoben gegenüber dem oberen Bild:
5c Ortssender 2.JPG

Hier noch der 7D, die FFT Startposition ist hier 238 statt Tg, das bedeutet dass ich mehr als 2 Signale empfange, welche zeitlich sehr weit auseinander liegen ?

Ist der dritte Balken mit dem Wert 412 hier außerhalb des Guard-Intervalls?
7c.JPG

Was mich zudem noch interessieren würde, ist die Bedeutung der Werte SR 48, CH 02, BS 16 ?

Übrigens lässt sich manuell kein Zahlenwert als FFT Startposition eintragen, oder ist das auch garnicht so vorgesehen ?
Clem01
Beiträge: 282
Registriert: Fr 31. Aug 2018, 17:24

Re: Qirx - DAB SDR-Software für Windows mit TII Auswertung

Beitrag von Clem01 »

@oldenburger, @Manuel
Danke für euren Input. Bin gerade einige Tage dienstlich unterwegs, daher kann ich detaillierter wahrscheinlich erst am Wochenende antworten.

@oldenburger
Die geänderte QIRX Version ist noch nicht hochgeladen. Mit der habe ich erst intern getestet.

@Manuel
Die Werte SR etc sollten Tooltips haben, beim drüber-Hovern. Es sind Werte fürs Audio (SR Sampling Rate, 48=48kHz, CH2: Zwei Kanäle, z.B. Stereo, BS16: 16-Bit PCM Abtastwerte)
Um den Wert für den FFT-Beginn zu ändern: Häkchen "Automatic" abwählen, den senkrechten Balken mit der Maus verschieben.
Antworten