Algorytm efektu zniekształceń cyfrowych

10

Przeczytałem książkę DAFX Udo Zölzera na temat efektu zniekształceń na stronach 124-125 i napisano, że odpowiednią symulację zniekształceń zapewnia funkcja:

f(x)=x|x|(1ex2/|x|)

Czy ktoś może wyjaśnić tę formułę i jaki sygnał otrzymujemy?

Z tego, co rozumiem, „x” to próbkowany sygnał, więc jest to ciąg liczb. Co oznacza | x | oznaczać? Czy odnosi się do wartości bezwzględnej x dla każdej wartości próby?

Więc jeśli chcę wdrożyć tę symulację efektu zniekształcenia,

  1. Muszę znać długość x (podana przez liczbę próbek)
  2. W pętli muszę obliczyć ten wzór dla każdej wartości próbki
  3. po zakończeniu pętli otrzymuję zniekształcony sygnał (w postaci cyfrowej)

Następnie muszę przekonwertować go na sygnał analogowy, aby go usłyszeć.

Elior
źródło
2
Zauważ, że we wzorze podanym w książce jest błąd (w potędze powinien znajdować się znak ujemny). Zobacz moją odpowiedź poniżej.
Matt L.

Odpowiedzi:

5

| x | oznacza wartość bezwzględną - x / | x | bit formuły jest po to, aby upewnić się, że znak wejścia jest zachowany na wyjściu. Jeśli chodzi o implementację, tak, wymienione kroki są prawidłowe.

fenenety
źródło
1
Co rozumiesz przez „prawdziwe zniekształcenie”? Absolutnie każda operacja wykonana na oryginalnym sygnale i tak byłaby zniekształcona! Co próbujesz zrobić?
fenenety,
1
Zniekształcenie to bardzo niejasny termin, który opisuje każdą (zwykle niepożądaną) transformację, która zmienia sygnał. Zniekształcenie gitary jest osiągane przez wiele różnych procesów - przycinanie, prostowanie, przeciążanie - w zależności od rodzaju pedału / wzmacniacza, w którym to się dzieje - nie ma jednej „prawdziwej” formuły ... Formuła, którą masz, wygląda tak, jakby funkcja sigmoidalna, która symulowałaby przeciążenie; ale myślę, że to może być gdzieś błąd.
pikenety
1
Musisz to zrobić w domenie czasu.
pikenety
1
Ponieważ tak działają efekty zniekształceń gitary. Zostały pierwotnie wykonane z nieliniowych elementów, takich jak lampy, diody, a później tranzystory, których zachowanie jest opisane w dziedzinie czasu funkcją nieliniową. A ty próbujesz naśladować to cyfrowo ...
fenomeny
1
Generator fantazyjnych harmonii (powiedzmy EHX micro pog) lub fantazyjne przekształcanie widmowe (nie pamiętając nazwy produktu) wymagają przetwarzania w dziedzinie częstotliwości. Niektóre symulatory wzmacniaczy / głośników wymagają długich zwojów, które są skutecznie wykonywane przez multiplikacje w dziedzinie częstotliwości. Ale w żadnym wypadku NIGDY nie „bierze całego FFT sygnału” - jest to realizowane przez nakładanie-dodawanie małej długości FFT (około 1024 próbek).
fenenety
10

Dzięki fabule w odpowiedzi Olli Niemitalo przekonałem się, że formuła podana w książce zawiera błąd znakowy . Nieliniowość stosowana do fuzji lub zniekształceń jest zawsze pewnego rodzaju wygładzoną funkcją przycinania, która kompresuje sygnał wejściowy. Tak więc małe amplitudy wejściowe ulegają niewielkim zmianom, podczas gdy wysokie amplitudy wejściowe są (mniej więcej) łagodnie przycinane. A liczba pokazana w odpowiedzi Olli robi dokładnie odwrotnie.

Jestem więc przekonany, że powinna być poprawna formuła

(1)f(x)=x|x|(1ex2/|x|)=sgn(x)(1e|x|)

xf(x)sgn(x)|x|=xf(x)sgn(x)

f(x)

wprowadź opis zdjęcia tutaj

(1)x/|x|x2/|x|x

jeśli (x> 0)
   y = 1 - exp (-x);
jeszcze
   y = -1 + exp (x);
koniec
Matt L.
źródło
O tak, książka źle cytuje web.archive.org/web/20070826204128/http://www.notam02.no/... a powyższe jest poprawną formułą.
Olli Niemitalo
Ok dzięki. Czy uważasz, że to było źródło tej książki?
Matt L.
Tak, książka odwoływała się do tej pracy studenckiej. Była druga norweska praca magisterska, która miała niewłaściwą formułę i cytowała pierwszą pracę magisterską. Nie zadałem sobie trudu, aby sprawdzić daty, aby sprawdzić, czy książka skopiowała drugą tezę bez sprawdzania oryginalnego źródła lub czy druga teza skopiowała książkę.
Olli Niemitalo
1
x2/|x|
2

Możesz napisać treść funkcji bezpośrednio w Wolfram Alpha, która wykreśli ją:

wprowadź opis zdjęcia tutaj

Dla mnie wygląda to na falowód i można ich używać tak, jak to opisujesz.

Olli Niemitalo
źródło
1
Teraz, gdy widzę twoją fabułę, jestem całkiem przekonany, że formuła zawarta w książce jest błędna. Zobacz moją odpowiedź. Co myślisz?
Matt L.
2
@ MattL. Tak, to ma o wiele większy sens. Funkcja książki również maleje, co spowodowałoby niepożądane odwrócenie fazy.
Olli Niemitalo