Dijital Bozulma etkisi algoritması


10

Udo Zölzer'in 124-125. Sayfalardaki distorsiyon etkisi hakkında DAFX kitabını okudum ve fonksiyonun distorsiyonun uygun simülasyonunun verildiğini söylüyor:

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

Birisi bu formülü ve ne tür bir sinyal alabiliriz?

Anladığım kadarıyla 'x' örneklenmiş sinyaldir, bu yüzden bu bir sayı dizisidir. | X | ne yapar? anlamına gelmek? Her örneklenen değer için mutlak x değerini ifade ediyor mu?

Eğer çarpıtma etkisinin bu simülasyonunu uygulamak istersem,

  1. X uzunluğunu bilmem gerekiyor (Örnek sayısına göre verilir)
  2. Bir döngüde, her formül değeri için bu formülü hesaplamam gerekiyor
  3. döngü bittikten sonra, bozuk sinyal alıyorum (dijital formda)

Bundan sonra, onu duyabilmek için analog bir sinyale dönüştürmem gerekiyor.


2
Kitapta verilen formülde bir hata olduğunu unutmayın (üssünde negatif bir işaret olmalıdır). Cevabımı aşağıda görebilirsiniz.
Matt L.

Yanıtlar:


5

| X | mutlak değeri belirtir - x / | x | formülün biti, giriş işaretinin çıktıda korunduğundan emin olmak için vardır. Uygulama ile ilgili olarak, evet, listelediğiniz adımlar doğrudur.


1
"Gerçek çarpıtma" ile ne demek istiyorsun? Kesinlikle orijinal sinyal üzerinde yaptığınız herhangi bir işlem yine de bozulma olur! Ne yapmaya çalışıyorsun?
pichenettes

1
Bozulma, sinyali değiştiren (genellikle istenmeyen) dönüşümleri tanımlayan çok belirsiz bir terimdir. Gitarın bozulması birçok farklı işlemle elde edilir - kırpma, düzeltme, aşırı yükleme - gerçekleştiği pedal / amp türüne bağlı olarak - tek bir "gerçek" formül yoktur ... Sahip olduğunuz formül, aşırı yüklemeyi simüle edecek sigmoid benzeri fonksiyon; ama bence bir yerde bir hata olabilir.
pichenettes

1
Bunu zaman etki alanında yapmanız gerekir.
pichenettes

1
Çünkü gitar bozulmasının etkileri bu şekilde işliyor. Başlangıçta, davranışları zaman alanında doğrusal olmayan bir fonksiyonla tarif edilen tüpler, diyotlar ve daha sonra transistörler gibi doğrusal olmayan elemanlarla yapılmıştır. Ve bunu dijital olarak taklit etmeye çalışıyorsun ...
pichenettes

1
Pitch-shift, fantezi harmoniler jeneratörü (örneğin EHX mikro pog) veya fantezi spektral dönüşüm (ürün adını hatırlayamıyor), frekans alanı işleme gerektirir. Bazı amper / hoparlör simülatörü, frekans alanındaki çarpmalarla verimli bir şekilde gerçekleştirilen uzun kıvrımlara ihtiyaç duyar. Ancak her durumda ASLA "sinyalin bütün FFT'sini almaz" - bu, küçük uzunluktaki FFT'nin (1024 örnek veya benzeri) üst üste eklenmesi ile uygulanır.
pichenettes

10

Olli Niemitalo'nun cevabındaki komplo sayesinde kitapta verilen formülün bir işaret hatası olduğuna ikna oldum. Bulanıklık veya bozulma için kullanılan doğrusal olmama özelliği, her zaman giriş sinyalini sıkıştıran bir tür düzleştirilmiş kırpma işlevidir. Bu nedenle küçük giriş genlikleri çok az değişiklik gösterirken, yüksek giriş genlikleri (az ya da çok) yumuşak bir şekilde kırpılır. Ve Olli'nin cevabında gösterilen rakam tam tersini yapıyor.

Bu yüzden doğru formülün olması gerektiğine ikna oldum

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

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

f(x)

resim açıklamasını buraya girin

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

eğer (x> 0)
   y = 1 - exp (-x);
Başka
   y = -1 + exp (x);
son

Ah evet kitap web.archive.org/web/20070826204128/http://www.notam02.no/… 'u yanlış anlatıyor ve yukarıdaki doğru formüldür.
Olli Niemitalo

Tamam teşekkürler. Sence bu kitabın kaynağı mıydı?
Matt L.

Evet, kitap bu öğrenci tezini referans aldı. Yanlış formüle sahip olan ve ilk öğrenci tezini gösteren ikinci bir Norveçli öğrenci tezi vardı. Kitabın orijinal kaynağı kontrol etmeden ikinci tezi kopyalayıp kopyalamadığını veya ikinci tezin kitabı kopyalayıp kopyalamadığını görmek için tarihleri ​​kontrol etmeyi zahmet etmedim.
Olli Niemitalo

1
x2/|x|

2

Fonksiyonun gövdesini doğrudan Wolfram Alpha'ya yazabilirsiniz ve çizer :

resim açıklamasını buraya girin

Bana bir dalgacık gibi görünüyor ve bunlar sizin tarif ettiğiniz gibi kullanılabilir.


1
Şimdi planınızı gördüğüme göre, kitaptaki formülün yanlış olduğuna oldukça ikna oldum. Cevabımı gör. Ne düşünüyorsun?
Matt L.

2
@ MattL.Evet bu çok daha mantıklı. Kitabın işlevi de istenmeyen faz tersine dönüşmesine neden olacak şekilde iniyor.
Olli Niemitalo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.