nichtlineare systeme 1 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Inhalt ●
Nichtlineare Systeme
●
Voltera Reihenexpansion
●
Statische quasi-nichtlineare Systeme
●
Dynamikprozessoren ●
Kontrollparameter
●
Anwendungen
●
Frequenzabhängige nichtlineare Systeme
●
Signalverfremdung
●
Messparameter
24.10.2010
nichtlineare systeme 2 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Allgemein ●
LTI: Asin T
BsinT
H z
Zölzer (2002)
●
Nichtlinear TI: AsinT
BsinT Zölzer (2002)
∑ B n sin n⋅ T n n
n∈ℕ
nichtlineare systeme 3 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Definition ●
Lineare Systeme: T { a⋅x tb⋅y t }=a⋅T { xt } b⋅T { y t }
●
Nichtlineare Systeme: ●
Systeme, die die obere Gleichung NICHT erfüllen
●
Keine Einheitliche Definition für alle nichtlineare Systeme!
●
Verschiedene Systemklassen: viele verschiedene Definitionen
nichtlineare systeme 4 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Polynomiale Systeme ●
Klasse der polynomialen Systeme: p
y [n]=∑ f i { x[n] , x [n−1] ,, x [n−N ] , i=0
y [n−1] , y [n−2] , , y [n−M ] } ●
f i { } ist ein Polynom der i-ter Ordnung
●
Superposition verschiedener Polynome
●
Polynomiales System des Grades p
nichtlineare systeme 5 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Bilinearer Filter ●
Idee:
x , y , x⋅y y [n] N1
N2
N3
N4
y [n]=∑ a i x [n−i ]∑ b j y [n− j ]∑ ∑ c ij x [n−i ] y [n− j ] i=0
j=1
i=0 j=0
●
Rekursiver Anteil
●
Erweiterung eines linearen IIR-Filters
nichtlineare systeme 6 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Quadratischer Filter ●
Idee: x , x 2 y [n] N1
N2
N2
y [n]=∑ h1 x [n−i ]∑ ∑ h2 [i , j ]⋅x[n−i ]⋅x [n− j ] i=0
i=0 j=0
●
System 2-ter Ordnung
●
Keine Rückkopplung
●
Erweiterung eines linearen FIR-Filters ●
h1 ... Impulsantwort
●
h2 ... Kernfunktion
nichtlineare systeme 7 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Homogene Gleichung ●
Polynomiales System: p
y [n]=∑ f i { x[n] , x [n−1] ,, x [n−N ] , i=0
y [n−1] , y [n−2] , , y [n−M ] } ●
Übergang: y= f { x , y } y= f { h , x }
●
Homogene Gleichung: f i { }=∑ ∑ ∑ h[v 1, v 2, , v N ] x [n−v 1 ] x[n−v 2 ] x[n−v N ] v1
v2
vN
Kernfunktion
nichtlineare systeme 8 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Volterra Series Expansion p ●
y [n]=∑ f i [n] i=1
= ∑ h1 [v 1 ] x [n−v1 ] v1=0
∑ ∑ h2 [v 1, v 2 ] x [n−v 1 ] x [n−v 2 ]
v1=0 v2=0
∑ ∑ ∑ h p [v1, v 2, , v p ]
v1 =0 v2=0
vp
x [n−v1 ] x[n−v 2 ] x [n−v p ] ●
Zölzer (2002)
Für leicht nichtlineare Systeme besonders gut geeignet (Ordnung p ist klein)
nichtlineare systeme 9 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Volterra System: Factored Kernels ●
Faktorisierung der Kernfunktionen: hi [v 1, v 2, , v i ]=hif [v 1 ]⋅hif [v 2 ]⋅⋅hif [vi ]
y [n]= ∑ h 1 [v 1 ] x [n−v 1 ] f
v1=0
h ∑ v 2=0
f 2
h ∑ v N =0
[ v 2 ] x [n−v 2 ]
f N
2
[v N ] x [n−v N ]
N
Zölzer (2002)
nichtlineare systeme 10 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Statische nichtlineare Systeme ●
Für Systeme ohne Speicher: ●
f h Kern i [vi ] wird zu einem Skalar:
hi [n1, n 2, , ni ]= Ai⋅[n] ●
Der Ausgang kann durch ein Polynom beschrieben werden: y [n]=∑ Ai x [n] i
i=0
●
Allgemein: y [ n]= f x [n]
nichtlineare systeme 11 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Verstärkungskennlinie ●
Für statische nichtlineare Systeme genügt eine Kennlinie:
y [ n]= f x [n] y [n]
x [n] Zölzer (2002)
nichtlineare systeme 12 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Dynamikprozessoren ●
Veränderung der Einhüllenden laut Parametrierung
●
Harmonische Verzerrung so gering wie nur möglich y [n]= f x[n] y [n]= x [n]⋅g [n] ●
in dB: Y [ N ]= X [ N ]G [ N ] Zölzer (2002)
nichtlineare systeme 13 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Verstärkungskennlinie ●
Zusammenhang: Y[N] und X[N]
Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 14 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Verstärkungskennlinie - Parameter ●
Kompressionsfaktor: R=
●
X Y
Steigung (Slope Factor): Y S =1− X 1 S =1− R
R=
Y { 1 1−S
X Zölzer (2002)
nichtlineare systeme 15 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Control Parameter ●
Einhüllendenverfolgung (Envelope Follower): ●
Spitzenwert
●
Effektivwert (RMS)
Zölzer (2002)
nichtlineare systeme 16 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Spitzenwert ●
Attack time t AT :
●
Release time t RT :
−2.2T S /t AT
AT =1−e RT =1−e
−2.2T S / t RT
T S Abtastperiode
FT
Zölzer (2002)
nichtlineare systeme 17 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Effektivwert (RMS) ●
Average time t AVR :
TAV =1−e
−2.2 T S /t AVR
T S Abtastperiode
-
●
Andere Formen: ●
Cepstrum
●
Hilbert-Transformation
Zölzer (2002)
nichtlineare systeme 18 algorithmen in aku stik und compute rmusik
Kontrollparameter ●
Dynamik der Kennlinie: ●
Attack Time
●
Release Time
Zölzer (2002)
Piotr Majdak - piotr@majdak .c om
nichtlineare systeme 19 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Attack Time ●
Attack Time t AT
●
Zu kurz: ●
Dynamikfluktuation
●
Verzerrungen tieffrequenter Signale
●
Zu lang: ●
●
Clipping-Gefahr
Bereich: 0 - 100ms
Rane (1998)
nichtlineare systeme 20 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Release Time ●
Release Time t RT
●
Zu schnell: ●
●
Zu langsam: ●
●
Chopping Atmen/Pumpen
Bereich: 100ms - 3s Rane (1998)
nichtlineare systeme 21 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Attack / Release Time Control ●
Struktur: f = f [n−1]− f [n]
Richtung f , Schwelle Umschaltung zw. Attack und Release
K
g [n]=K⋅f [n] g [n−1]⋅1−K
Zölzer (2002)
nichtlineare systeme 22 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Dynamikprozessoren
Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 23 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Limiter ●
Möglichst keine Dynamikveränderung
●
Kontrolle der Spitzenwerte
●
Parameter:
S L =1 R L =∞ F =−S L⋅ X −LT ●
Side chain:
Zölzer (2002)
−S L
Zölzer (2002)
nichtlineare systeme 24 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Limiter Thr=0.5
t RT =5ms t AT =100 us f s =44.1kHz
Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 25 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Kompressor / Expander ●
Parameter:
0S C 1 −∞S E 0 F C =−S C⋅ X −CT F E =−S E⋅ X −ET Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 26 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Kompressor / Expander ●
Hard vs. Soft Knee:
●
Alternative Struktur:
Expander
Linear
Kompressor
nichtlineare systeme 27 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Noise Gate ●
Parameter:
x[n] PEAK
●
Hold time
●
Depth of Cut, Floor or Ratio Control
f[n] NT
Rane (2003)
AT RT
g[n]
nichtlineare systeme 28 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
De-esser ● ●
Reduktion der Zischgeräusche Unterschied zum Kompressor: Frequenzabhängige Verarbeitung
Zölzer (2002)
nichtlineare systeme 29 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Let's rock ●
Verzerren der Signale einer elektrischen Gitarre
●
Ursprünglich: Röhrenverstärker
●
Jetzt: meist digital, mit simulierten Kennlinien
●
Beispiele: ●
Overdrive
●
Distortion
●
Fuzz
nichtlineare systeme 30 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Overdrive ●
Soft Symmetrical Clipping
Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 31 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Distortion ●
Harte symmetrische Übersteuerung
Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 32 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Fuzz ●
Asymmetrische Kennlinie
●
Beispiel (Tube Distortion): x−Q Q f x= −d x−Q 1−e 1−edQ Q≠0, x≠Q
Zölzer (2002)
Q=−0.2 d =8
Zölzer (2002)
nichtlineare systeme 33 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
(Sub)-Harmonische Zölzer (2002)
nichtlineare systeme 34 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Exciter ●
●
Betonung bestimmter Frequenzbereiche um Klangveränderungen hervorzurufen Beispiel: APHEX Aural Exciter Zölzer (2002)
Zölzer (2002)
nichtlineare systeme 35 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Klirrfaktor k ●
Total Harmonic Distortion (THD): k=
●
∑ A2n
n=2 2 1 n=2
A ∑ An 2
k=
∑A n=1
2 n
=1,2 , N
k = k 2k 3 k N 2
2
Total Harmonic Distortion + Noise (THD+N):
E out − E in THD N = E out ●
A2
X out f = X in f ⋅H notch f
Signal In Noise And Distortion (SINAD) ●
THD+N in dB
2
nichtlineare systeme 36 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
THD Beispiel Amp1_ch01amp0.0freq1000.0_adc0.wav
0
signal search for peak range peak found max of noise threshold of peak energy bins above threshold
-20 -40 -60 amp in dB
●
-80 -100 -120 -140 -160 -180
0
0.5
1
1.5
2 f in Hz
2.5 3 3.5 THD=0.55296%
4
4.5
5 4
x 10
nichtlineare systeme 37 algorithmen in aku stik und compute rmusik
Piotr Majdak - piotr@majdak .c om
Weiterführende Literatur ●
W. J. Rugh. Nonlinear System Theory. The Johns Hopkins University Press, Baltimore and London, 1981, ISBN: 0-8018-2549-0
●
●
●
M. Schetzen. The Volterra and Wiener Theories of Nonlinear Systems. Robert Krieger Publishing 1980 G.W. McNally. Dynamic range control of digital audio signals. J. Audio Eng. Soc., 32 (5): 316 – 327, Mai 1984 J. Challuper. Aural Exciter and Loudness Maximizer: What’s Psychoacoustic about “Psychoacoustic Processors?”. presented at the 109th Convention of AES, Sept. 2000