Leif und alle mitleidenden Forenten,
beim Upsampeln werden Zwischenpunkte erzeugt. Dabei entsteht Aliasing, also der Effekt, dass dann höhere Frequenzen als die halbe Abtastrate auftreten, die wiederum in den Hörbereich gespiegelt werden. Was sich dann als Klirr bemerkbar macht.
Nun lässt sich die Diskussion über eine Verbesserung quasi mehrfach durchführen. Für die einen ist eine geometrische Vorstellung anschaulicher. Man betrachtet die Abtastpunkte in einem Amplitude-Zeit-Diagramm und überlegt sich, wie man die Punkte wunderschön verbindet. Man kann Treppen zeichnen. Oder lineare Geradenstücke dazwischen. Man kann auch quadratisch interpolieren oder es mit Splines versuchen. Eine ganze Spielwiese mit Interpolationsarten.
Für andere ist die Diskussion einfacher, wenn sie das unter dem Stichwort Übertragungsverhalten bzw. Frequenzgang oder Signaltheorie betrachten. Ich seh das z.B. auch so. All die geometrischen Interpolationsarten können ihrerseits mit einer Übertragungsfunktion bewertet werden. Und sie stellen sich dann als Filter heraus, die eben mehr oder weniger gut filtern. Nun gibt es beliebige Filter, in unserem Fall Tiefpässe. Man möchte schlichtweg, dass das ideale Filter folgende Eigenschaften aufweist:
- Durchlassbereich bis halbe Abtastfrequenz (der Originalabtastrate!)
- totales Sperren im Sperrbereich > halbe Abtastfrequenz, also steiles Filter
- keine Welligkeit im Durchlassbereich
All die heissen Filterkonstruktionen und -entwürfe, die sich nun Generatoren von Wissenschaftlern ausgedacht haben, dienen nun dem Zweck
a) dem Ziel möglichst nahe zu kommen
und
b) praktisch realisierbar zu sein. Unendlich lange Filter kann jeder. Aber in Echtzeit und dann mit geringem Aufwand eben nicht. Der Wettbewerb läuft bzw. lief also in die Richtung: wie bekomme ich ein optimales Filter bei gegebener möglichst kurzer Filterlänge.
Nun sind wir ja langsam in einem Zeitalter wo wir doch schon reichlich Transistoren in einem Chip unterbringen. Auch die FPGAs werden größer. Und somit ergeben sich immer bessere Filter. Damit aber jeder seine Lösung verkauft, macht er ein kleines Geheimnis daraus und erzählt von 1001 Nächten mühsamer Forschung.
Fazit 1:
Eine geometrische Veranschaulichung mag hilfreich sein, ist aber unter diesem Blickwinkel schwierig zu bewerten hinsichtlich der innewohnenden Filterqualität. Klar sollte mittlerweile sein, dass eine lineare Interpolation zwischen den Abtastpunkten ungünstig ist und von
keinem ernsthaften Hersteller auch verwendet wird. Sofern Echtzeit und Filterlänge keine Rolle spielt, bietet ein sinc-Filter die optimale Qualität.
Ergänzung zu den Anforderungen an das Tiefpassfilter:
- es soll am besten die Phase des Quellsignales nicht verändern
Dies ist nur zu erreichen durch ein linearphasiges Filter, welches prinzipbedingt symmetrisch ist und dadurch in der ersten Hälfte ein pre-ringing erzeugt. Klar abhängig von der Filterlänge.
Man kennt nun aber auch andere Filter, das minimalphasige Filter hat Null pre-ringing. Dafür dreht es die Phase und der Audiophile dreht sich vielleicht dabei mit. Und es gibt Zwischenarten, die eine akzeptable Phasendrehung (akzeptabel = gerade nicht mehr wahrnehmbar) verursachen und dabei ein akzeptables pre-ringing (akzeptabel = gerade nicht mehr wahrnehmbar) aufweisen. Bis dann das nächste Goldohr kommt ...
Fazit 2:
Die bei Upsamplern verwendeten Filter unterscheiden sich evtl. durch ihr Phasenverhalten. Klar sollte sein, dass ein linearphasiges Filter nicht unbedingt eine lineare Interpolation darstellt.
Uff, ein längerer Text, zumindest für mich als Schreiber. Hoffe es wird nun etwas klarer, ich hab Mathematik vermieden.
Grüsse, Uli
PS: hab grad noch zwischenzeitliche Beiträge gelesen. Da sagt Leif:
play-mate hat geschrieben:Mir ist nicht bekannt dass es beim Upsampling in einer Player-Software irgendwelche Tiefpass Filter im Einsatz sind.
Das ist vielleicht ein Problem in unserer Diskussion. Weil z.B. SoX und SRC (secret rabbit) genau das tun, sie setzen ebenfalls Tiefpassfilter ein, die das Aliasing begrenzen. SRC nimmt sinc-Filter und zwar linearphasige und dazu noch sehr lange. Das ist doch das was ich sage: lange ideale Filter auf dem PC rechnen gibt die beste Qualität. Da stimme ich Leif zu. Auch dass ASRCs in DACs möglicherweise suboptimal sind, da sie Kompromisse eingehen müssen. Nur wenn wir das begründen wollen, dann sollten wir es fundiert tun.