27.11.2022, 22:46
Hallo,
weil ich auf meinen beiden Radio-Nachrichten-Programmen DLF und NDR-Info gelegentlich Werbespots zu hören bekomme, in denen DAB+ als "rauschfreies und kristallklares Radio der Zukunft" angepriesen wird, habe ich mir mal wieder angeschaut, wie damit Test-Signale übertragen werden.
Wie zuletzt im Beitrag #918 beschrieben, habe ich dazu wieder den Nero Encoder verwendet, eingestellt auf die den meisten Programmen zugeteilte Bitrate 72 kbps (Parameter: "-he -cbr 72000").
Zur Erinnerung: DAB+ mit dem Kodierungsverfahren HE-AAC_v1 verwendet eine externe Abtastrate von 48 kSps. Das Audio-Signal wird in ein Lowband (0-12 kHz) und ein Highband (12-24 kHz) aufgeteilt. Das Lowband wird intern ähnlich wie beim AAC-LC Verfahren (transparent) kodiert, aber mit halbierter Abtastrate von 24 kSps. Daher kommt hauptsächlich der Datenreduktions-Gewinn gegenüber AAC-LC. Das Highband wird nur parametrisch mit wenigen Bits kodiert, mit denen bei der Dekodierung "Ersatzsignale" aus dem Lowband oder anhand von Hilfssignalen konstruiert werden, die dem Original "Hüllkurven"- ähnlich sind (bzw sein sollten).
Bei 72 kbps wird das Lowband aus praktischen Gründen zusätzlich auf 10.125 kHz begrenzt.
Ich habe ein Testsignal konstruiert, das aufzeigen soll, wie ein "Nahezu-Rechteck"-Signal durch diese Signalverarbeitung hindurch kommt.
Es enthält 6 Test-Töne von 1s Dauer mit 0.1s Pausen dazwischen.
Die gewählten Frequenzen sind 1000, 3000, 3375, 3428.57, 3687.5 und 4000 Hz.
Ein Rechteck-Signal besteht bekanntlich aus einer Fourier-Reihe aller ungeraden n-ten Oberwellen mit dem Pegel 1/n.
Da die Signale vor Abtastung auf eine Bandbreite < halbe Abtast-Rate beschränkt worden sein müssen, habe ich sie folgendermaßen synthetisiert:
1kHz: Grundwelle + Oberwellen 3, 5 ... 19
übrige: Grundwelle + Oberwellen 3 & 5.
Das entspricht einer idealen Tiefpass-Filterung mit einer Grenzfrequenz knapp über 20 kHz und Phase Null.
Den Spitzenpegel habe ich auf etwa -6 dBFS eingestellt, nachdem bei Vorversuchen auffiel, daß Kodierung/Dekodierung zu Pegel-Überhöhungen führen.
Außerdem habe ich die Ton-Blöcke an Anfang und Ende mit einer linearen Blende über 5 ms ein/ausklingen lassen, weil andernfalls merkwürdige Überschwinger von ~+6.5 dB und kurze Echo-artige Erscheinungen auftraten.(Siehe Version 3, vorletzter Block).
Version ohne Fader mit Artefakten am Blockende
Version mit Fader
Version ohne Fader , noch mit Spitzenpegel bei ~ -3 dB
Blöcke 2 & 5 nahezu durchgängig übersteuert, Block 6 am Anfang
Pegel des DAB+ Signals um 6.55 dB abgesenkt
An den Enden der Blöcke2 und 5 sind nun sehr hohe Ausschwingvorgänge zu sehen
Die Frequenzen wurden (außer 1 & 3 kHz) hinsichtlich der Lage der Oberwellen ausgewählt
3375 Hz (27/8 kHz) : 10125 16875 Hz (3.te = Obergrenze Lowband)
3428.57 (24/7 kHz) : 10285.71 17142.85 Hz
3687.5 (59/16 kHz) : 11062.5 18437.5 Hz (3.te mittig zwischen 10125 und 12 kHz)
4000 : 12000 20000 Hz (3.te = Beginn Highband, 5.te bei 20 kHz)
Beim Vergleich des Ergebnisses mit dem Eingangssignal fällt zunächst auf, daß die Pegel aller Blöcke größer wurden. Beim Vergleich der Spitzenpegel im Bereich +-0.1s um die Blockmitte findet man diese Faktoren:
1.364 1.515 1.231 1.095 1.481 1.172
Unter den Programm-Anbietern gibt es einige, die sich am "Loudness-War" beteiligen, indem sie stark Dynamik-komprimierte Signale mit Spitzen-Pegeln bis an die 0 dBFS Grenze erzeugen.
Würde man das Test-Signal mit -0.5 dBFS auf Encoder/Decoder geben, lägen die Spitzen-Pegel aller Blöcke über der Clip-Grenze und würden im Normalfall auf 0 dBFS geclipt ausgegegen (rote Linien im unteren Teilbild).
Die nächsten Bilder zeigen die Spektren der 6 Signale vor und nach dem Codec:
Oben das Eingangssignal, unten das Ausgangssignal.
Hier bei 1 kHz Grundfrequenz:
Markiert ist grün strich-punktiert das obere Ende des Lowbandes und rot strich-punktiert die Nyquist-Frequenz (12 kHz) der internen Lowband-Abtastrate von 24 kHz.
Nur die Oberwellen links von der grünen Linie stimmen einigermaßen mit denen des Originals überein. Die bei 11, 15, 17 & 19 kHz fehlen offensichtlich, stattdessen gibt es Linien bei 10688, 11750, 12938, 15750, 17250.
Im Bild für 3 kHz sind 3 & 9 kHz wiederzufinden, statt 15 kHz gibt es eine Linie bei 15750 Hz.
Bei 3375 Hz sind 3te & 5te Oberwelle mit reduziertem Pegel zu sehen, zusätzlich eine Linie bei 18375 Hz.
Bei 3428.57 Hz sind beide Oberwellen weitgehend verschwunden. Stärkstes spurious Signal ist eine Linie bei 18536 Hz ungefär 46 dB unter der Grundwelle.
Folge davon ist, daß das Ergebnis anders als das Eingangssignal nahezu Sinus-förmig aussieht:
Quasi-analoge Darstellung von CoolEdit
Sample-Darstellung von Audacity
Bei 3687.5 Hz treten statt der Oberwellen bei 11062.5 & 18437.5 Hz drei andere Linien bei 10438, 11438 & 17813 Hz auf.
Folge der "falschen" Oberwellen ist, daß die Phase der Zusatz-Signale gegenüber der Grundwellen "durchläuft" und Schwebungs-artige Hüllkurven-Welligkeit erzeugt:
Darstellung von Audacity
und hineingezoomt in der Darstellung von CoolEdit
Bei 4 kHz fehlt die 5.te Oberwelle bei 20 kHz ganz, statt der 3.ten bei 12 kHz gibt es eine etwas schwächere Linie bei 12188 Hz.
Folge der falschen Oberwelle ist wieder eine schwebungs-artige Variation der Hüllkurven-Amplitude und der Kurvenform zwischen drei-eckig und sinus-ähnlich
Fast zum Schluß noch eine Ansicht des 1 kHz Signals vor und hinter DAB+ in der Darstellung von Audacity
Der Nero Encoder kann auch in AAC-LC kodieren. Das habe ich zum Vergleich mit der üblichen Bitrate von 128 kbps gemacht (Parameter "-lc -cbr 128000":
Hier sind untereinander die Hüllkurven von Eingangssignal, DAB+ Resultat und AAC-LC Ergebnis zu sehen.
Letzteres ist unauffällig. Zoomt man in die Signal-Details hinein, macht sich nur bemerkbar, daß in diesem Modus die Audio-Bandbreite auf 17.3 kHz begrenzt wird. Von 17.24 bis 17.38 kHz fällt das Signal bei einem Test mit weißem Rauschen um -56 dB ab.
Deshalb kommen bei Block 5 und 6 die 5.ten Oberwellen nicht mehr durch.
MfG Kai
weil ich auf meinen beiden Radio-Nachrichten-Programmen DLF und NDR-Info gelegentlich Werbespots zu hören bekomme, in denen DAB+ als "rauschfreies und kristallklares Radio der Zukunft" angepriesen wird, habe ich mir mal wieder angeschaut, wie damit Test-Signale übertragen werden.
Wie zuletzt im Beitrag #918 beschrieben, habe ich dazu wieder den Nero Encoder verwendet, eingestellt auf die den meisten Programmen zugeteilte Bitrate 72 kbps (Parameter: "-he -cbr 72000").
Zur Erinnerung: DAB+ mit dem Kodierungsverfahren HE-AAC_v1 verwendet eine externe Abtastrate von 48 kSps. Das Audio-Signal wird in ein Lowband (0-12 kHz) und ein Highband (12-24 kHz) aufgeteilt. Das Lowband wird intern ähnlich wie beim AAC-LC Verfahren (transparent) kodiert, aber mit halbierter Abtastrate von 24 kSps. Daher kommt hauptsächlich der Datenreduktions-Gewinn gegenüber AAC-LC. Das Highband wird nur parametrisch mit wenigen Bits kodiert, mit denen bei der Dekodierung "Ersatzsignale" aus dem Lowband oder anhand von Hilfssignalen konstruiert werden, die dem Original "Hüllkurven"- ähnlich sind (bzw sein sollten).
Bei 72 kbps wird das Lowband aus praktischen Gründen zusätzlich auf 10.125 kHz begrenzt.
Ich habe ein Testsignal konstruiert, das aufzeigen soll, wie ein "Nahezu-Rechteck"-Signal durch diese Signalverarbeitung hindurch kommt.
Es enthält 6 Test-Töne von 1s Dauer mit 0.1s Pausen dazwischen.
Die gewählten Frequenzen sind 1000, 3000, 3375, 3428.57, 3687.5 und 4000 Hz.
Ein Rechteck-Signal besteht bekanntlich aus einer Fourier-Reihe aller ungeraden n-ten Oberwellen mit dem Pegel 1/n.
Da die Signale vor Abtastung auf eine Bandbreite < halbe Abtast-Rate beschränkt worden sein müssen, habe ich sie folgendermaßen synthetisiert:
1kHz: Grundwelle + Oberwellen 3, 5 ... 19
übrige: Grundwelle + Oberwellen 3 & 5.
Das entspricht einer idealen Tiefpass-Filterung mit einer Grenzfrequenz knapp über 20 kHz und Phase Null.
Den Spitzenpegel habe ich auf etwa -6 dBFS eingestellt, nachdem bei Vorversuchen auffiel, daß Kodierung/Dekodierung zu Pegel-Überhöhungen führen.
Außerdem habe ich die Ton-Blöcke an Anfang und Ende mit einer linearen Blende über 5 ms ein/ausklingen lassen, weil andernfalls merkwürdige Überschwinger von ~+6.5 dB und kurze Echo-artige Erscheinungen auftraten.(Siehe Version 3, vorletzter Block).
Version ohne Fader mit Artefakten am Blockende
Version mit Fader
Version ohne Fader , noch mit Spitzenpegel bei ~ -3 dB
Blöcke 2 & 5 nahezu durchgängig übersteuert, Block 6 am Anfang
Pegel des DAB+ Signals um 6.55 dB abgesenkt
An den Enden der Blöcke2 und 5 sind nun sehr hohe Ausschwingvorgänge zu sehen
Die Frequenzen wurden (außer 1 & 3 kHz) hinsichtlich der Lage der Oberwellen ausgewählt
3375 Hz (27/8 kHz) : 10125 16875 Hz (3.te = Obergrenze Lowband)
3428.57 (24/7 kHz) : 10285.71 17142.85 Hz
3687.5 (59/16 kHz) : 11062.5 18437.5 Hz (3.te mittig zwischen 10125 und 12 kHz)
4000 : 12000 20000 Hz (3.te = Beginn Highband, 5.te bei 20 kHz)
Beim Vergleich des Ergebnisses mit dem Eingangssignal fällt zunächst auf, daß die Pegel aller Blöcke größer wurden. Beim Vergleich der Spitzenpegel im Bereich +-0.1s um die Blockmitte findet man diese Faktoren:
1.364 1.515 1.231 1.095 1.481 1.172
Unter den Programm-Anbietern gibt es einige, die sich am "Loudness-War" beteiligen, indem sie stark Dynamik-komprimierte Signale mit Spitzen-Pegeln bis an die 0 dBFS Grenze erzeugen.
Würde man das Test-Signal mit -0.5 dBFS auf Encoder/Decoder geben, lägen die Spitzen-Pegel aller Blöcke über der Clip-Grenze und würden im Normalfall auf 0 dBFS geclipt ausgegegen (rote Linien im unteren Teilbild).
Die nächsten Bilder zeigen die Spektren der 6 Signale vor und nach dem Codec:
Oben das Eingangssignal, unten das Ausgangssignal.
Hier bei 1 kHz Grundfrequenz:
Markiert ist grün strich-punktiert das obere Ende des Lowbandes und rot strich-punktiert die Nyquist-Frequenz (12 kHz) der internen Lowband-Abtastrate von 24 kHz.
Nur die Oberwellen links von der grünen Linie stimmen einigermaßen mit denen des Originals überein. Die bei 11, 15, 17 & 19 kHz fehlen offensichtlich, stattdessen gibt es Linien bei 10688, 11750, 12938, 15750, 17250.
Im Bild für 3 kHz sind 3 & 9 kHz wiederzufinden, statt 15 kHz gibt es eine Linie bei 15750 Hz.
Bei 3375 Hz sind 3te & 5te Oberwelle mit reduziertem Pegel zu sehen, zusätzlich eine Linie bei 18375 Hz.
Bei 3428.57 Hz sind beide Oberwellen weitgehend verschwunden. Stärkstes spurious Signal ist eine Linie bei 18536 Hz ungefär 46 dB unter der Grundwelle.
Folge davon ist, daß das Ergebnis anders als das Eingangssignal nahezu Sinus-förmig aussieht:
Quasi-analoge Darstellung von CoolEdit
Sample-Darstellung von Audacity
Bei 3687.5 Hz treten statt der Oberwellen bei 11062.5 & 18437.5 Hz drei andere Linien bei 10438, 11438 & 17813 Hz auf.
Folge der "falschen" Oberwellen ist, daß die Phase der Zusatz-Signale gegenüber der Grundwellen "durchläuft" und Schwebungs-artige Hüllkurven-Welligkeit erzeugt:
Darstellung von Audacity
und hineingezoomt in der Darstellung von CoolEdit
Bei 4 kHz fehlt die 5.te Oberwelle bei 20 kHz ganz, statt der 3.ten bei 12 kHz gibt es eine etwas schwächere Linie bei 12188 Hz.
Folge der falschen Oberwelle ist wieder eine schwebungs-artige Variation der Hüllkurven-Amplitude und der Kurvenform zwischen drei-eckig und sinus-ähnlich
Fast zum Schluß noch eine Ansicht des 1 kHz Signals vor und hinter DAB+ in der Darstellung von Audacity
Der Nero Encoder kann auch in AAC-LC kodieren. Das habe ich zum Vergleich mit der üblichen Bitrate von 128 kbps gemacht (Parameter "-lc -cbr 128000":
Hier sind untereinander die Hüllkurven von Eingangssignal, DAB+ Resultat und AAC-LC Ergebnis zu sehen.
Letzteres ist unauffällig. Zoomt man in die Signal-Details hinein, macht sich nur bemerkbar, daß in diesem Modus die Audio-Bandbreite auf 17.3 kHz begrenzt wird. Von 17.24 bis 17.38 kHz fällt das Signal bei einem Test mit weißem Rauschen um -56 dB ab.
Deshalb kommen bei Block 5 und 6 die 5.ten Oberwellen nicht mehr durch.
MfG Kai