Hallo,
was meint Ihr zu der Umsetzbarkeit der folgenden Idee. Es gibt einige
Projekte bei denen die PWM Einheit eines MCUs zur Tonausgabe genutzt
wird. Da die Geschwindigkeit der PWM meist identisch zum Takt des
Microcontrollers ist muss hierfür die Qualität stark reduziert werden.
Also z.B. 8Bit Amplitudenauflösung und 44,1kHz Abtastrate entspricht
ungefähr einem Takt von 11,2MHz.
Nun verwenden ja z.B. viele CD-Player "1-Bit DACs". Wenn ich es richtig
verstehe wird hierbei aus dem PCM Signal eine Bitfolge generiert welche
dann z.B. mit etwa 2MHz ausgegeben und analog Tiefpassgefiltert wird.
Die Qualität ist dann identisch zu den 16bit/44,1kHz einer CD - wenn
nicht besser da dieses Wandlerprinzip Vorteile gegenüber einem
"normalen" DAC hat.
Was spräche also prinzipiell dagegen eine solche Sequenz vorab zu
berechnen (Ich vermute für eine Liveberechnung ist ein typischer 8bit
MCU nicht leistungsfähig genug), auf einer SD-Karte abzulegen und dann
mittels eines Timers und ISR auszugeben?
Ich freue mich auf eure Meinung:)
Gilbert F schrieb:> was meint Ihr zu der Umsetzbarkeit der folgenden Idee. Es gibt einige> Projekte bei denen die PWM Einheit eines MCUs zur Tonausgabe genutzt> wird.
Das ist nix neues. Man kann auch kurze Wavs im uC-Flash ablegen und per
PWM ausgeben. Man braucht aber ein halbwegs gutes Filter dahinter, wenn
die NF-Quali halbwegs gut sein soll.
Gilbert F schrieb:> Nun verwenden ja z.B. viele CD-Player "1-Bit DACs". Wenn ich es richtig> verstehe wird hierbei aus dem PCM Signal eine Bitfolge generiert welche> dann z.B. mit etwa 2MHz ausgegeben und analog Tiefpassgefiltert wird.http://de.wikipedia.org/wiki/Pulsdichtemodulation> Was spräche also prinzipiell dagegen eine solche Sequenz vorab zu> berechnen (Ich vermute für eine Liveberechnung ist ein typischer 8bit> MCU nicht leistungsfähig genug), auf einer SD-Karte abzulegen und dann> mittels eines Timers und ISR auszugeben?
Bei 8-Bit-PCM -> PWM brauchst du nur ein Byte pro Sample.
Bei PDM musst du die Einzel-Bits mit den vollen 2Mbit/s von der SD-Karte
zum I/O-Pin schaufeln.
Gilbert F schrieb:> Nun verwenden ja z.B. viele CD-Player "1-Bit DACs".
Du meinst das ADPCM Signal? Oder DSD?
Ich sehe nicht, wo man da was sparen kann. Insbesondere müsste das
Signal ja noch konvertriert werden. Das Einfachste ist es ein Signal
direkt als PCM zu speichern und abzuspielen - das ist dann sozusagen
optimiertes PWM, nämlich in Form von Sigma Delta Modulation.
Hallo,
kann eure Einwände nicht so ganz nachvollziehen. Sicherlich wird dem MCU
mehr abverlangt, da nicht einmal pro 1/44100 sec ein neuer PWM Wert
geschrieben werden muss, sondern eine Sequenz mit 2MBit ausgegeben
werden muss - das ist auch mein Hauptproblem - schaffe ich das, z.B. mit
einem MSP430 bei 16MHz.
Aber der Vorteil wäre, wenn ich keinen Denkfehler haber, das die
Qualität den 16Bit/44.1kHz einer CD entspricht und nicht 8Bit/44.1kHz
wie es mit der PWM Methode erreichbar ist.
@ Gilbert F (Gast)
>Nun verwenden ja z.B. viele CD-Player "1-Bit DACs". Wenn ich es richtig>verstehe wird hierbei aus dem PCM Signal eine Bitfolge generiert welche>dann z.B. mit etwa 2MHz ausgegeben und analog Tiefpassgefiltert wird.
Viel mehr als 2 MHz. Nennt sich Sigma-Delta Wandler.
>Was spräche also prinzipiell dagegen eine solche Sequenz vorab zu>berechnen (Ich vermute für eine Liveberechnung ist ein typischer 8bit>MCU nicht leistungsfähig genug), auf einer SD-Karte abzulegen und dann>mittels eines Timers und ISR auszugeben?
Der unsinnige Resourcenverbrauch. Heute gibt es billige MP3 Dekoder, die
kann jeder Arduino-user ansteurn. Fertig.
Für einfachere Anforderungen tut es auch 8 Bit Sound mit 22kHz, war in
den 1980er der neueste Schrei bei den 16 Bit Systemen ala Atari, Amiga &
Co.
Naja sowas wie PDM sollte sogar mit einem AVR möglich sein.
PWM hat den Vorteil eine minimale Anzahl von Schaltflanken zu haben.
PDM dagegen quasi die maximale. Damit fängt das Störspektrum erst viel
weiter "oben" an. => leichter zu filtern.
44.1kHz @ 8Bit würden 11.29MHz takt für den "PDM-DAC" benötigen.
Sagen wir wir würden mit 6-Bit Dynamik durchkommen, dann wären wir bei
ca 2.8MHz Takt (44.1kHz*64).
11.289MHZ Quarte gibts (Oh wunder ;P) ja. Damit wüsstest du den SPI nur
mit 1/4tel vom CPU-CLK betreiben und das wäre gelöst.
Die Sequenz lässt sich einfach voraus berechnen:
64-bit pro Eingangsbyte macht 2kByte Lookup-Table (für die Werte 0-255
jeweils 64bit Daten die per SPI raus müssen).
Zuerst würde ich mal PWM emulieren probieren.
Also bits von 0-63 raufzählen und mit dem Eingangswert vergleich.
Wenn Bit-Position < Wert, dann kommt ne 1.
Beispiel für 2bit Eingangswort und 4bit Ausgangswort:
Wort zu andeln wäre 10b (also 50%)
<pre>
Zähler -> Bit im 4-bit breitem Ausgangswort
00b -> kleiner also 1
01b -> kleiner also 1
10b -> nicht kleiner also 0
11b -> nicht kleiner also 0
</pre>
Also quasi PWM - 50% 0 und 1.
Wenn du jetzt die 1ner gleichmäßig verteilst über die 8Byte dann hast do
sowas wie PDM.
Ziemlich Gleichmäßig verweilen geht übrigends sehr einfach.
Eingangs-Byte mit der "gedrehten" bit-position (MSB-LSB -> LSB-MSB) im
8-byte array vergleichen. Wenn kleiner dann wird das bit eine 1, sonst
eine 0.
Beispiel wieder für 10b (also 50%)
<pre>
Zähler -> "gedreht" -> Bit im 4-bit breitem Ausgangswort
00b -> 00b -> kleiner also 1
01b -> 10b -> nicht kleiner also 0
10b -> 01b -> kleiner also 1
11b -> 11b -> nicht kleiner also 0
</pre>
Macht 50% 1 und 50% 0 und schön gleichmäßig verteilt.
Hoffe das war verständlich...
73
Warum muss man denn überhaupt 1 Bit Audio verwenden, wenn man den Sound
schon als 44khzx16 hat? Einfach auf einen billigen 1,90 DAC und fertig.
Besser, als jedes digitale Zeug. Oder wenn digital: Dann einfach den
digitalen Datenstrom auf I2S ausgeben und einen digitalen Wandler ran.
Franz schrieb:> Oder einen dsPIC33FJ64GP802 mit einem integriertem 16-bit Dual Channel> DAC.
Gibt's den auch in DIL?
(Frage nicht wirklich ernst gemeint...)
c-hater schrieb:> Franz schrieb:>>> Oder einen dsPIC33FJ64GP802 mit einem integriertem 16-bit Dual Channel>> DAC.>> Gibt's den auch in DIL?>> (Frage nicht wirklich ernst gemeint...)
Ja. SDIP28.
Die Antwort ist ernst gemeint.
c-hater schrieb:> Franz schrieb:>>> Oder einen dsPIC33FJ64GP802 mit einem integriertem 16-bit Dual Channel>> DAC.>> Gibt's den auch in DIL?>> (Frage nicht wirklich ernst gemeint...)
Ja.
(Antwort ernst gemeint...)
Gilbert F schrieb:> kann eure Einwände nicht so ganz nachvollziehen. Sicherlich wird dem MCU> mehr abverlangt, da nicht einmal pro 1/44100 sec ein neuer PWM Wert> geschrieben werden muss, sondern eine Sequenz mit 2MBit ausgegeben> werden muss
Und ich kann deinen Einwand nicht nachvollziehen.
Also: bei 44.1 kHz Abtastfrequenz müssen eben die Samples mit 44.1 kHz
ausgegeben werden. Das schafft jeder bessere µC.
Aber: Die Qualität hängt direkt von der Taktfrequenz ab, mit der der
PWM-Timer getaktet wird. Man schreibt eben ein Sample in das
Compare-Register, während der Timer mit einer Gesamtzeit von 44.1 kHz
durchläuft. Aber wie fein man die ON/OFF-Zeiten per Compare-Register
machen kann, hängt direkt davon ab, wie weit der Timer bis zum Reload
zählen kann.
Für 8 Bit muß der Timer mit mindestens 256*44.1kHz getaktet werden, für
16 Bit wären das dann 64K * 44.1 kHz. Ersteres geht problemlos ab
Taktfrequenzen von 12 MHz.
Ne andere Frage wäre, ob es nicht besser wäre, auf 22kHz runterzugehen
und dafür ein Bit mehr an Amplitude sich zu gönnen.
Noch viel besser ist es freilich, dafür die IC's zu nehmen, die
tatsächlich dafür vorgesehen sind, also Audio-DAC's bzw. Audio-Codecs
und selbige per I2S anzubinden.
W.S.
Ist das hier der große Technikratethread?
Bei den 1-Bit DACs handelt es sich um Sigma-Delta Wandler:
http://de.wikipedia.org/wiki/Delta-Sigma-Modulation
Prinzipiell kann man so etwas sehr einfach in Software auf einem MCU
programmieren. Sieht in etwas so aus:
1
uint 16_t accu=0;
2
uint 8_t adc_value=123;
3
4
while (1) {
5
6
accu+=adc_value;
7
8
if (accu&0x100) PORT=1; else PORT=0;
9
}
Blöd ist nur, dass die CPU dann nichts anderes machen kann.
Vielleicht bastelt ja jemand mit einem hoch getakteten PWM einen
Multi-Bit Sigma-Delta DAC? Dann könnte noch genug CPU Zeit frei bleiben.
p.s.: Die Audio DACs verwenden üblicherweise 64faches oversampling und
einen Modulator mit Ordnung>1.
Tim schrieb:> p.s.: Die Audio DACs verwenden üblicherweise 64faches oversampling und> einen Modulator mit Ordnung>1.
Na, dann machen wir es mal konkret: Der, den ich im Studiowandler habe,
arbeitet auf 256fach oversampling, nutzt non linear predistortion und
noise shaping /dithering für die Ausgabe. Das kann man in einem AVR
nicht mehr nachbilden. Da geht gerade noch in einem FPGA, da aber auch
nur bedingt wirtschaftlich. Die Wandlerpreise machen es möglich.
Gilbert F schrieb:> da dieses Wandlerprinzip Vorteile gegenüber einem> "normalen" DAC hat.
Die "Vorteile" sind so groß, dass Philips das seinerzeit beinahe nicht
in den Griff bekommen hat und bei 14 Bit Schluß machen wollte.
Also lass den Pfusch und nimm einen käuflichen DAC mit garantierten
Daten.
lrep schrieb:> Gilbert F schrieb:>> da dieses Wandlerprinzip Vorteile gegenüber einem>> "normalen" DAC hat.>> Die "Vorteile" sind so groß, dass Philips das seinerzeit beinahe nicht> in den Griff bekommen hat und bei 14 Bit Schluß machen wollte.> Also lass den Pfusch und nimm einen käuflichen DAC mit garantierten> Daten.
"Philips" und "Damals" klingt nach den Anfängen der CD-Player. Damals
hat man noch keine ΔΣ-DACs eingesetzt.
Gilbert F schrieb:> Aber der Vorteil wäre, wenn ich keinen Denkfehler haber, das die> Qualität den 16Bit/44.1kHz einer CD entspricht und nicht 8Bit/44.1kHz> wie es mit der PWM Methode erreichbar ist.
Könnte das jemand erklären, wieso bei PCM hierbei 16 Bit 44,1 erreicht
werden? Die Nettodaten von 2MHz x 1 Bit sind ja eigentlich weniger.
Lohnt sich dann eine solche PCM-Ausgabe direkt?
Dass nie mehr rauskommen kann, als man mal reingesteckt hat, ist mir
schon klar, aber das wäre ja nur in dem Fall von Gilbert (s.o.) so, wenn
wirklich CD-Daten gewandelt werden.
Mir ginge es darum, zu verstehen, wie es wäre, wenn man gar nicht erst
PCM speichern würde, sondern direkt die Delta-Sigma-Daten. Das wäre ja
dann das topic, nämlich:
"1Bit Audio als Alternative zu PWM".
Thomas W. schrieb:> Mir ginge es darum, zu verstehen, wie es wäre, wenn man gar nicht> erst PCM speichern würde, sondern direkt die Delta-Sigma-Daten.
Das ist dann wieder DSD, aber wie hier und auch an anderer Stelle
diskutiert, ist der Vorteil eben nicht oder kaum hörbar - wenn auch
theoretisch vorhanden.
Um es nochmal vereinfachend zu sagen, ist die Reduktion des
Informationsgehalts des Modulatorsignals durch die Dezimation runter auf
das übliche Audioformat von 16kHz@44kHz durchaus signifikant - bei dem
"Zwischenstopp" auf 24Bit@192kHz aber eben nicht. Dieses Format ist
ausreichend gut. Messtechnisch kann man die Unterschiede meistens
zeigen, mathematisch immer. Zu Hören sind sie praktisch nicht.
> Mir ginge es darum, zu verstehen, wie es wäre, wenn man gar nicht erst> PCM speichern würde, sondern direkt die Delta-Sigma-Daten. Das wäre ja> dann das topic, nämlich
Gibt es doch schon. Nennt sich Direct Stream Digital (DSD):
https://de.wikipedia.org/wiki/Direct_Stream_Digital
An Jürgen und Mike: Ja, dass es das gibt und wie es heißt, ist mir schon
bekannt. Die Frage aber war, wann es was bringt. Es gibt ja doch zwei
Lager: Die einen behaupten, das 1-Bit Audio sei deutlich schlechter, als
das PWM, während die anderen das Gegenteil behaupten und DS
favorisieren.
Ich nenne dazu den im anderen topic erwähten link auf einen DSD Wandler
der Firma RME, der das authentische Audio propagiert, während mindestens
ebenso viele ebenso kompetente Leute das 1-Bit Audio verteufeln.
Literatur z.B. von Yoshio Yamasaki (Waseda-Universität)
Um zu verstehen, dass ein unverändertes Signal (das vom 1-Bit Wandler)
grundsätzlich besser ist, als ein etwa dezimiertes (das aus dem
AD-Wandler parallel rauskommt) braucht man keine japanische Universität.
Unter der Voraussetzung, dass ein Delta-Sigma-Wandler sauber
funktioniert, ist das immer das Beste, das zu speichern und zu behalten.
Aber:
"sauber funktioniert" ist eine Definitionsfrage. Das Sigma wird
idealisiert als lineares Integral angesehen und erfordert zur
Rekonstruktion eine Schaltung, die es in der Praxis nicht gibt -
jedenfalls nicht perfekt. Daher kann man da "drehen", ohne jetzt zu sehr
in die Details zu gehen und auf reale Filter optimieren.
Entscheidend ist aber die Rate! Wenn man das "1-Bit" mit einem
entsprechenden parallelen ADC vergleicht, hat der immer die schlechtere
Auflösung. Nur bei genügendem Abstand zwischen DSD-Frequenz und Fs gilt
die Behauptung. Bei DSD64 gilt das definitv nicht. So ist es auch zu
erklären, dass einige Dokumente zu der Schlussfolgerung kommen, dass
1-Bit-Audio schlechter sei, während andere das Gegenteil behaupten. Es
geht einfach um den head room der Frequenz.
Ob es in einer konkreten Anwendung sinnvoll ist, bei DSD zu bleiben,
hängt vom Anspruch ab:
Bei der reinen Speicherung und Wiedergabe, sind 192kHz ausreichend. So
erklären sich die Ergebnisse des Hörversuchs des ETI Detmold.
Wenn man aber das Signal modulieren will, z.B. um es in einem
Synthesizer abzuspielen und schneller zu machen, Vibrato draufzugeben,
etc - dann ist das mit DSD nicht nur einfacher, sondern auch genauer und
mit weniger Fehlern behaftet. Schon das resampeln auf z.B. 48kHz statt
44,1 ist mit einem 1-Bit Signal aus dem Modulator genauer, besonders,
wenn es in Echtzeit sein soll.
Was man sagen grundsätzlich kann:
Bei der Dezimation muss man Annahmen über Profil und Grenzfrequenz das
Rekonstruktionsfilters machen, was praktisch nicht geht. Damit hört sich
PCM auf unterschiedlichen DACs auch unterschiedlicher an.
Bei DSD ist es weniger wichtig, ob ein Filter bei 18 oder bei 20kHz
beginnt zuzumachen und wie der Verlauf ist, weil das hochfrequente
Signal das besser wegdithered.
Aber wie weiter oben schon gesagt: Man kann es meistens nur messen und
berechnen, nicht aber hören. Das liegt beim Audio einfach daran, dass
Mikrofone viele Probleme haben, Höhen sauber omnidirektional und linear
aufzunehmen und Lautsprecher wiederum ebenfalls es kaum schaffen, sie
korrekt abzubilden.
Jürgen S. schrieb:> Das liegt beim Audio einfach daran, dass> Mikrofone viele Probleme haben, Höhen sauber omnidirektional und linear> aufzunehmen und Lautsprecher wiederum ebenfalls es kaum schaffen, sie> korrekt abzubilden.
Was aber eigentlich keine Begründung liefert, dass die digitalen Systeme
es sich leisten könnten, dort Ungenauigkeiten reinzubringen. (was sie
offenbar tun)
Es war auch nicht so gedacht. Die Argumentation ist, dass man im
digitalen Pfad keine abartig höhere Genauigkeit benötigt, als andere
(analoge oder mechanische) Komponenten in der Kette vorgeben.
Mich stört generell, daß nicht wenige immer wieder den Blick auf eine
Komponente in der Signalkette richten und da bis zum geht nicht
optimieren und andere, viel relevantere Dinge ignorieren. Lautsprecher
sind da ein Thema und auch Mikros. Die Unterschiede in der Qualität der
gespeicherten Daten unterschiedlicher Formate sind oft marginal gegen
die Artefakte am Beginn und Ende der Audiokette.
Ich schlage einen Delta-Sigma modulator 2. Ordnung der 16 Bit Samples zu
n-Bit pwm Samples mit einer Frequenz von m*44.1KHz ausgibt vor.
n und m sind hier den Gegebenheiten des Microcontrollers etc.
anzupassen.
Ich denke für das Upsampling kommt man mit null Samples einfügen für
brauchbare Qualität weg? Natürlich nur wenn der resample Faktor
ganzzahlig gewählt wird.
So ist die CPU laufzeit für einen DS 2. Ordnung klein.
In einem LPC8xx (30MHz, Cortex M0) habe ich 3 DSM 2. Ordnung mit 250KHz
gesampled die je einen PWM timer versorgen realisieren können.
Dies brauchte nur ca. 10% der CPU, rest war nötig für diverse feed
forward Berechnungen, Dithering der PWM-Periodendauer zur Linearisierung
und eine PI Regelschleife in einer Schaltwandler "Power" Anwendung.
Auf dieser Plattform könnte geschätzt m=42 und damit n=16 gut sein.
Also 1.875MHz PWM und 4 Bit pro Sample.
S/N bis 20KHz könnte praktisch irgendwo zwischen 60-90Db liegen, schätze
ich, doch diverse Verzerrungen und Störugen (PWM Analogperformance des
Controllers) sind wohl relevanter.
Dogbert schrieb:> Ich denke für das Upsampling kommt man mit null Samples einfügen für> brauchbare Qualität weg? Natürlich nur wenn der resample Faktor> ganzzahlig gewählt wird.
Da bitte Ich doch mal um eine Erklärung, wieso man hier mit dem Einfügen
von Nullsamples "gut weg" kommt. Was soll das bringen?
> m=42 und damit n=16 gut sein
Was ist denn M und n? Dezimierungsfaktoren nehme Ich an?
> S/N bis 20KHz könnte praktisch irgendwo zwischen 60-90Db liegen
90 wären vielleicht noch zu ertragen, aber 60 ist doch reichlich
schlecht, meine Ich. ?
Pallhuber schrieb:> Da bitte Ich doch mal um eine Erklärung, wieso man hier mit dem Einfügen> von Nullsamples "gut weg" kommt. Was soll das bringen?
Na, die samples, die durch das erhöhte Abtasten "eingefügt" werden,
müssen ja einen Wert haben, also irgendwie belegt werden.
Die Idee, Nullen einzufügen, rührt aus der Überlegung, keine Information
hinzufügen zu wollen. Das funktioniert natürlich nur bei Daten, die ihre
Nulllinie auf der Achse haben.
Bei unsymmetrischen Datenströmen mit Offset hat man da ein Problem. Dann
wäre das Einfügen des Offsets die Lösung. Dies gelingt aber aus
praktischen Gründen nicht immer:
Beim Audio ist das deshalb meistens schlecht, weil es gleichstromfrei
übertragen wird. Real mittelt sich jeder Gleichanteil, den man hat oder
erzeugt, mehr oder weniger weg und genau dieses "mehr oder weniger" ist
der Punkt:
Er mittelt sich immer ein bischen weg, weswegen das Einfügen der Null
(auch bei symmetrischem Datenstrom) versagt.
Er mittelt sich aber nicht perfekt weg, weswegen es nur eine lokale
Nulllinie gibt und das Einfügen eines berechneten BIAS versagt.
Es gibt also praktisch einen BIAS-Fehler, der sich je nach Filter am
Ausgang und Analogpfad etc auswirkt.
Der Filter ist dabei das größte Problem:
Das Einfügen der Nichtinformation per Null oder des BIAS-Wertes gelingt
nur theoretisch, weil es bei der Rekonstruktion ein ideales Filter
benötigt.
Da es das nicht gibt, bekommt man immer Fehler im Signal. Daher braucht
es auch bei ganzzahligen Abtastverhältnissen immer ein
Interpolationsfilter vor der Ausgabe. Bei Audio stimmt man das einfach
auf die Bandbreite, z.B. 20...20.000 Hz ab. Dann hat man eine
ausreichend gute Interpolation mit korrektem BIAS-Wert. Mit der Annahme
eines guten Rekonstruktionsfilter, kann man etwas konservativer sein und
das Filter auf 10Hz bis Nyqust der Abtastung auslegen.
Auf diese Weise sind quasi 2 Interpolationsfilter in Reihe geschaltet,
wobei das eine idealerweise die Probleme des anderen vermeidet.
Wenn z.B. am Ausgang ein analoges mehrstufiges IIR sitzt, neigt das zum
Schwingen, wenn es durch die Sprünge angeregt wird. Das ist praktisch
überhaupt nicht mehr der Fall, wenn man die Werte aus einfachen
Mittelwerten bildet, wodurch nur noch Knicke überbleiben.
Es gibt noch ein weiteres Argument für die Vorinterpolation:
Der Pegel des Signals reduziert sich nicht. Wenn man ein Signal um
Faktor 3 hochsampelt, hätte man ansonsten nur ein Drittel des Pegels.
Das macht nur bei rein digitaler Weiterverarbeitung keinen Unterschied,
wohl aber, wenn das Signal auf einen Analogfilter geht.
Gilbert F schrieb:> Was spräche also prinzipiell dagegen eine solche Sequenz vorab zu> berechnen (Ich vermute für eine Liveberechnung ist ein typischer 8bit> MCU nicht leistungsfähig genug), auf einer SD-Karte abzulegen und dann> mittels eines Timers und ISR auszugeben?
Da sich Giilbert F aus dem Forum verabschiedet zu haben scheint, ist
wohl die Idee nicht mehr so wichtig.
Zum Thema kann Ich noch beisteuern, dass das direct digital streaming
gerade wieder auflebt:
https://www.nativedsd.com/
Das DSD hatten wir ja schon oben diskutiert. Ich greife die Frage aber
mal auf:
Wer hört denn hier DSD-Audio?
(und noch wichtiger) Über welche Hardware?
Zur Verdeutlichung des Thema Zero-Inserting bei den Samples noch diese
Grafik:
http://96khz.org/oldpages/digitalupsampling.htm
Jürgen S. schrieb:> Es gibt noch ein weiteres Argument für die Vorinterpolation:
Ich denke mal die zusätzlichen Rekonstruktionsartefakte durch den nicht
flachen Frequenzgang von Audio gegen 0Hz und real world
Rekonstruktionsfilter spielen praktisch keine Rolle, die spielen sich in
den Harmonischen der Samplerate ab und würden praktisch in der ganzen
Signalkette ausreichend gefiltert. (Ist ja ein low cost hack, oder?)
Die Pegelreduktion oder die Konzentration des Signals auf die
harmonischen der Samplefrequenz sind aber wirklich blöd für den DS
modulator, denn diese reduzieren dessen Aussteuerbarkeit und
Praktikabilität empfindlich.
Also ein Interpolationsfilter macht absolut Sinn.
Da steckt dann etwas Aufwand drin.
Ein 42-fach multiphase FIR mit einer "tolerierbaren" Anzahl taps (>10?)
wäre mein Ansatz.
Muss ja nicht besser von den duch das Resampling erzeugten Rechenfehlern
(S/N) als die zu erwartende Gesamtperformance von Audio aus Controller
PWM I/O auf R/C tiefpass sein.
Vielleicht gibt es noch weitere Optimierungen dafür im konkreten Fall
die mir gerade nicht einfallen.
Jürgen S. schrieb:> Mich stört generell, daß nicht wenige immer wieder den Blick auf eine> Komponente in der Signalkette richten und da bis zum geht nicht> optimieren und andere, viel relevantere Dinge ignorieren. Lautsprecher> sind da ein Thema und auch Mikros.
Vor allem sollten auch manche High-End-Fetischisten einsehen, dass in
den Studios, in denen die Tonträger aufgenommen wurden, auch nur mit
Wasser gekocht wird, d.h. zwar großenteils eine technisch hochwertige
Ausstattung der jeweiligen Zeit verwendet wird, aber eben keine bei
Vollmond aus handgewalztem Silber handgeklöppelten und mit levitiertem
Weihwasser gespülten, armdicken monokristallinen Litzen. Und dann meinen
solche Leute, mit ihren esoterischen Anlagen irgendwelche Klangdetails
in Aufnahmen aus den 1930er bis 1960er Jahren entdecken zu können, als
man den Umstieg vom Tondraht zum Magnetband gerade mit Mühe geschafft
hatte und im Vergleich zum Bandrauschen selbst die Niagarafälle als
schalltoter Raum gelten müssten.
Andreas S. schrieb:> Vor allem sollten auch manche High-End-Fetischisten einsehen, dass in> den Studios, in denen die Tonträger aufgenommen wurden,
Ja die Sache ist äußerst ambivalent! Selbst in den Studios sitzen nicht
überwiegend sachlich denkende Ingenieure, sondern self made mixer, die
sich traditionell audio engineer nennen und dort findet man Leute, die
nüchtern und klar geradlinig produzieren und auch konsequent die
Verbesserung der Aufnahme und Speicherung von Audiodaten vorangetrieben
haben und es gibt die, welche irgendwelche Artefakte als grossartig und
warm erachten.
Aus dem Grund halten sich in den Studio nach wie vor stark färbende
Mikrofone, alte Mikrofeone, klangverfälschende Lautsprecher und
Analogaudiotechnik, die mehr Gemüse erzeugt, als Probleme der
Digitaltechnik zu umgehen.
Die Schwierigkeit ist, dass heute existierende Audiosignale aus allen
Epochen stammen und unter verschiedenen Strategien erzeugt wurden. Man
erinnere sich nur an die exorbitanten Lautsprecher von Grundig mit ihren
Kugeln und anderem. Viele dieser Mischungen nehmen auf die
Hörgewohnheiten und Abspielsysteme Rücksicht.
Somit ist es bisweilen schwierig, sehr neutral klingende Mikrofone und
neutrale Lautsprecher zu verkaufen oder umgekehrt Mischungen in den
Markt zu bringen, die solche Systeme erfordern. Es klingt oft
langweiliger, weniger druckvoll und luftig.
Daher schneiden verfärbende Komponenten im Hörtest oft besser ab und die
Leute kaufen holzige Lautsprecher, Röhrenverstärker und Klangverbesserer
der unterschiedlichsten Sorte.
Jürgen S. schrieb:> Selbst in den Studios sitzen nicht überwiegend sachlich denkende> Ingenieure,
sondern es bestehen natürlich auch kommerzielle Zwänge, insbesondere
natürlich bei kleinen Klitschen, in denen höchstens in paar Hobbymusiker
ihre Demoaufnahmen machen lassen. Wobei dies heutzutage sicherlich eher
am heimischen PC erfolgt. Gerade wenn man sich einige sehr frühe
Aufnahmen von "Die Ärzte" anhört, kann man sehr sicher sein, dass die
klangliche Unvollkommenheit nicht unter künstlerischen Aspekten
entstanden ist, sondern weil es billig und einfach sein musste. Wer dann
heute solche Aufnahmen auf seiner High-End-Kunstinstallation abspielt,
wird da aber sicherlich mühelos alle möglichen Intentionen und
Klangerlebnisse hineininterpretieren können.
> Viele dieser Mischungen nehmen auf die> Hörgewohnheiten und Abspielsysteme Rücksicht.
Früher war das Radio das Tor zur Welt, und der Stolz jeder wohlhabenden
Familie war die Musiktruhe, für die man locker ein halbes Jahresgehalt
hinlegte. Sozusagen "frühes High-End". Und dann hörte man gebannt zu.
Heutzutage dürfte aber der Anteil derjenigen, die zuhause in der guten
Stube Radio hören, verschwindend gering sein. Das Radio dudelt hingegen
im Auto, im Büro, auf der Baustelle und in einigen Ladengeschäften, also
Umgebungen mit vielen Störgeräuschen.
Gerade die üblichen Dudelsender optimieren also ihre Mischungen auf
billige Kofferradios und Autoradios.
> Daher schneiden verfärbende Komponenten im Hörtest oft besser ab und die> Leute kaufen holzige Lautsprecher, Röhrenverstärker und Klangverbesserer> der unterschiedlichsten Sorte.
Oder sie kaufen sich grafische Equalizer und stellen darauf möglichst
lustige Hügel ein. :-/
Hi-Tech-Progger S. schrieb:> Zum Thema kann Ich noch beisteuern, dass das direct digital streaming> gerade wieder auflebt:
DSD ist nicht identisch mit 1-Bit-Audio.
Edi M. schrieb:> 1-Bit Audio erlebt gerade wieder eine Renaissance wie man lesen kann:> Beitrag "Re: VHDL Grundlagen Tonerzeugung"
Auch das ist kein 1-Bit-Audio.
Der Artikel ist aber bereits 20 Jahre alt und damals waren andere
Abtastraten üblich. Die 96kHz-Technik z.B. war damals erst am Anfang und
in guter Ausführung nur in Studiowandlerkarten zu bekommen. Folgt man
dem Artikel, insbesondere dem Diagramm auf der 8. Seite, dann kann man
leicht erahnen, dass die erwähnten Probleme mit den Spiegelfrequenzen
und Verzerrungen bei den heute üblichen 192kHz schon anders aussehen und
sich deutlich weiter oben im Band bewegen.
Bei der typischen Energieverteilung im Audiospektrum eines Mastertracks,
sind auch nur wenige %-te des Anteils von nennenswerten Verzerrungen
betroffen. Anders sieht es aus, wenn man eine Welle mit dedizierte
Frequenz im Bereich 3-5kHz erzeugen will. Da sind 192kHz ziemlich der
Rand des Akzeptablen.
Das gilt im Verbund mit anderen Wellen in der Musik ebenfalls, nämlich
dann, wenn man die Wellen weiterverwenden möchte und auf exakte
Abbildung angewiesen ist, wie beim Phasing, der FM-Modulation und
anderen Phaseneffekten, die hohe Spektralanteile erzeugen können.
Da muss man dann mit der Abtastfrequenz noch weiter höher gehen.