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:
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,
- Muszę znać długość x (podana przez liczbę próbek)
- W pętli muszę obliczyć ten wzór dla każdej wartości próbki
- po zakończeniu pętli otrzymuję zniekształcony sygnał (w postaci cyfrowej)
Następnie muszę przekonwertować go na sygnał analogowy, aby go usłyszeć.
audio
algorithms
c
digital
distortion
Elior
źródło
źródło
Odpowiedzi:
| 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.
źródło
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
źródło
Możesz napisać treść funkcji bezpośrednio w Wolfram Alpha, która wykreśli ją:
Dla mnie wygląda to na falowód i można ich używać tak, jak to opisujesz.
źródło