Wie füge ich einem Fließkommasignal ungerade oder gerade Harmonische hinzu?
Muss ich Tanh oder Sünde benutzen?
Was ich versuche, ist, einige sehr einfache Verzerrungseffekte zu erzielen, aber es fällt mir schwer, genaue Referenzen zu finden. Was ich möchte, ist etwas Ähnliches wie das Culture Vulture, indem es in seinen Pentoden- und Triodeneinstellungen ungerade und gerade Harmonische hinzufügt. Der Float-Wert ist eine einzelne Probe in einem Probenfluss.
audio
signal-detection
c
distortion
Carlos Barbosa
quelle
quelle
Antworten:
Ihre Verzerrungsbox wendet eine nichtlineare Übertragungsfunktion auf das Signal an:
output = function(input)
odery = f(x)
. Sie wenden einfach dieselbe Funktion auf jedes einzelne Input-Sample an, um das entsprechende Output-Sample zu erhalten.Wenn Ihr Eingangssignal eine Sinuswelle ist, wird eine bestimmte Art von Verzerrung erzeugt, die als harmonische Verzerrung bezeichnet wird . Alle neuen Töne, die durch die Verzerrung erzeugt werden, sind perfekte Harmonische des Eingangssignals:
Wenn Sie also ungerade Harmonische hinzufügen möchten, führen Sie Ihr Signal durch eine ungerade symmetrische Übertragungsfunktion wie
y = tanh(x)
odery = x^3
.Wenn Sie nur noch Harmonische hinzufügen möchten, durchlaufen Sie Ihr Signal eine Übertragungsfunktion, die sogar symmetrisch ist, plus eine Identitätsfunktion, um die ursprüngliche Grundfrequenz beizubehalten. Sowas wie
y = x + x^4
odery = x + abs(x)
. Derx +
behält die Grundwelle, die sonst zerstört würde, während derx^4
gerade symmetrisch ist und nur gerade Oberschwingungen erzeugt (einschließlich DC, die Sie wahrscheinlich später mit einem Hochpassfilter entfernen möchten).Gleichmäßige Symmetrie:
Übertragungsfunktion mit gleichmäßiger Symmetrie:
Originalsignal in Grau, mit verzerrtem Signal in Blau und Spektrum des verzerrten Signals, das nur noch Harmonische und keine Grundwelle zeigt:
Ungerade Symmetrie:
Übertragungsfunktion mit ungerader Symmetrie:
Originalsignal in Grau, mit verzerrtem Signal in Blau und verzerrtem Signalspektrum, das nur ungerade Harmonische zeigt, einschließlich Grundwelle:
Gerade Symmetrie + Fundamental:
Übertragungsfunktion mit gerader Symmetrie plus Identitätsfunktion:
Originalsignal in Grau, mit verzerrtem Signal in Blau und verzerrtem Signalspektrum mit geraden Harmonischen plus Grundwelle:
Das ist es, worüber die Leute sprechen, wenn sie sagen, dass eine Verzerrungsbox "ungerade Harmonische hinzufügt", aber es ist nicht wirklich genau. Das Problem ist, dass die harmonische Verzerrung nur für den Sinuswelleneingang existiert . Die meisten Leute spielen Instrumente, keine Sinuswellen, daher hat ihr Eingangssignal mehrere Sinuswellenkomponenten. In diesem Fall tritt eine Intermodulationsverzerrung auf , keine harmonische Verzerrung, und diese Regeln für ungerade und gerade Harmonische gelten nicht mehr. Zum Beispiel ein Vollweggleichrichter (gerade Symmetrie) auf die folgenden Signale anwenden:
Das Ausgangsspektrum hängt also stark vom Eingangssignal ab und nicht vom Verzerrungsgerät. Wenn jemand sagt, " unser Verstärker / Effekt erzeugt mehr musikalische Harmonische mit gerader Ordnung ", sollten Sie ihn mit einem Körnchen Salz nehmen .
(Die Behauptung, dass Klänge mit geraden Harmonischen "musikalischer" sind als Klänge mit nur ungeraden Harmonischen , stimmt , aber diese Spektren werden hier nicht tatsächlich erzeugt, wie oben erläutert, und diese Behauptung gilt nur im Zusammenhang mit Wie auch immer, westliche Skalen: Klänge mit ungeraden Harmonischen (Rechteckwellen, Klarinetten usw.) sind auf einer Bohlen-Pierce- Musikskala mit einem Verhältnis von 3: 1 konsonanter als mit einer Oktave von 2: 1.
Zu beachten ist auch, dass digitale nichtlineare Prozesse zu Aliasing führen können, das möglicherweise schlecht hörbar ist. Siehe Gibt es eine bandbegrenzte nichtlineare Verzerrung?
quelle
Was Sie erreichen wollen, nennt man Verzerrung . Diese Technik wird verwendet, wenn Sie einem bestimmten Signal Harmonische hinzufügen möchten. Sie haben 2 grundlegende Methoden, um dies zu tun: Waveshaping und Ringmodulation. Ich werde versuchen, die erste zu erklären.
Wellenformung
Mit Waveshaping können Sie mithilfe einer speziell ausgewählten Funktion Verzerrungen vornehmen . Eine nützliche Methode sind Chebyshev-Polynome . Sie haben eine sehr wichtige Eigenschaft, wenn sie ein harmonisches Signal mit einer Einheitsamplitude (zum Beispiel eine Sinuswelle) durchlaufen. Wir erhalten dasselbe Signal, das nur ein paar Mal höher ist. Der Frequenzvervielfacher hängt von der Reihenfolge des Polynoms ab. Alle Polynome sehen folgendermaßen aus:
In unserem Fall erzeugt jedes Element eine Mundharmonika, und dann addieren sich alle. Die Ansicht jedes Mitglieds wird durch die folgende Wiederholungsbeziehung bestimmt:
Wie Sie sich vorstellen können, der zweite Term - die erste Harmonische und der dritte - der zweite und so weiter.
Ein weiteres Merkmal der Chebyshev-Polynome: Wenn durch sie ein Signal ausgegeben wird, dessen Amplitude kleiner als die Einheit ist, ist die Ausgabe weniger gesättigt mit Harmonischen. Dadurch kann ein Overdrive-Effekt erzeugt werden.
quelle