PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage in die Signaltheoretiker - Audiosignal vollständig diskretisieren



Spatz
16.05.2017, 21:35
Moin allerseits,

gleich vorneweg: Ich weiss, dass meine folgenden Überlegungen auf jeden Fall beideuten, dass das Signal verlustbehaftet sind, und dass sie vermutlich wenig mit Hifi-Wiedergabe zu tun haben. Dennoch würde mich interessieren, was wäre wenn...
Ich bin auch in den Feinheiten der berührten Gebiete (Elektrotechnik, Signaltechnik, Psychoakustik) nicht übermäßig bewandert, deswegen freue ich mich über Input von Menschen, die da schlauer sind...

Es geht im folgendes: Meines Wissens nach ist ein digitales Audiosignal (Waveform) zeitdiskret (durch die Abtastrate in Hz) und pegeldiskret (durch die Auflösung in Bit). Das Signal ist aber nicht frequenzdiskret, Shannon und Nyquist sagen zwar, dass die maximale obere Frequenz der Hälfte der Abtastrate entspricht, aber darunter kann das Signal theoretisch jede beliebige Frequenz haben.

(Unter "diskret" verstehe ich, dass ein bestimmtes Merkmal nur bestimmte Werte annehmen kann.)

Was würde nun passieren, wenn man das Signal in ein vollständig diskretes Signal umwandeln würde?

Man könnte das ganze so realisieren:
Man schickt das Signal durch eine Vielzahl von Bandpassfiltern mit sehr höher Güte (also sehr schmal), ich denke da an ca. 100 Frequenzen pro Oktave.
Die Pegelwerte der einzelnen Frequenzbänder liest man mit einer bestimmten Frequenz aus, also z. B. 1000 mal pro Sekunde.
Diese Daten schreibt man in eine Tabelle (Frequenz, Pegel, Zeitpunkt).

Ungefähr so:

| f1 | f2 | f3 | f4
t1 | 42 | 65 | 74 | 17
t2 | 47 | 62 | 34 | 16
t3 | 44 | 69 | 01 | 17
Um das Signal anschließend wiederzugeben, nimmt man für jede Frequenz einen Sinusgenerator, der sein Signal mit der Frequenz f zum Zeitpunkt t mit dem Pegel x wiedergibt.

Aber warum nun das ganze?

Indem das Signal in allen Merkmalen diskret vorliegt, ließe es sich deutlich leichter bearbeiten:
Man will ein Delay in bestimmten Frequenzbereichen? Man verschiebt einfach diese Spalten der Tabellen nach unten.
Man will bestimmte Frequenzen leiser machen? Man subtrahiert einfach den gewünschten Wert von den Pegelwerten.
Man will die Tonhöhe verändern? Man verschiebt einfach die Zeilen nach rechts/links.
Auf gut deutsch: Man könnte all das tun, was FIR-Filter auch können, aber mit deutlich weniger Rechenaufwand. Das Signal wäre in einer volldiskreten Form im Grunde beliebig modifizierbar.

Natürlich hat das so erzeugte Signal nichts mehr mit dem ursprünglichen Signal zu tun, aber zum Glück sind unsere Ohren ja nicht unendlich genau. Aus diesem Grund vermute ich, dass sich ein so umgewandeltes (und sonst noch nicht modifiziertes) Signal zumindest gleich anhören sollte, wenn man die Anzahl der Frequenzen, die Abtastrate der Pegelwerte, und die Pegelwerte selbst ausreichend fein festlegt. Wäre natürlich die Frage, welcher Wert wie genau sein muss, hier gilt es dann, einen Kompromiss zwischen Qualität und Dateigröße zu finden.

Was meint ihr, ist das ein interessanter Ansatz, und wie müsste die Umwandlung aussehen, damit man keinen oder nur noch einen sehr geringen Unterschied hört?

MfG,

Spatz

JFA
17.05.2017, 05:26
Was du willst wird durch eine FFT erschlagen. Da hast du diskrete Frequenzen, die du manipulieren kannst. Nach der inversen Transformation kommt wieder ein zeitdiskretes Signal heraus.

Um die FFT selber zeitdiskret zu machen nimmt man nur kurze Signalblöcke

newmir
17.05.2017, 12:29
Kommt mir auch so vor, als ob Du das Rad ..Fourier Transformation ...neu erfinden willst. Das ist die Mathematik, zu dem was Du da willst. Macht eigentlich jeder DSP so. Nur, das er erstmal das normale analoge Signal (Amplitude als Funktion der Zeit) in eine digitale/diskrete Darstellung umwandelt. Und dann erst die Fouriertransformation benutzt um das zu machen was Du da machen willst ("Signal mit der Frequenz f zum Zeitpunkt t mit dem Pegel x wiedergibt"). Du willst jetzt erst im analogen die Fouriertransformation machen und dann fuer jede Frequenz eine A/D Wandlung vornehmen. Das spart etwas Rechenleistung (das ist aber sowieo ein Klacks), aber Du hast eine Riesenaufwand an zusaetzlicher analoger Hardware. Das gleiche gilt fuer Deine "Ausgabe".

Frueher gab es mal sogenannte Analogrechner. Die haben das im Prinzip so gemacht ..... sogar alles analog. Letztlich ist jeder analoge Equalizer ein solcher "Analog" Rechner. Die Analogrechner waren vor Jahren noch fuer ein paar Anwendungen schneller als der digitale Weg. Die haben das Rennen gegen die Digitaltechnik allerdings mitterweile fast komplett verloren. Netter Gedanke und schon toll, wenn Du da alleine drauf gekommen bist. Aber kein neuer Ansatz.