Bu DSP notasyonu açıklar

oy
3

Ben uygulamak çalışıyorum bu extenstion Karplus-Güçlü koparıp dize algoritması, ama orada kullanılan gösterimi anlamıyorum. Belki çalışmanın yıllar alacak, ama belki de olmayacak - belki bana anlatabilirsin.

Aşağıda denklemleri düşünmek frekans alanında ya da bir şey vardır. Sadece ilk denklem H başlayarak p (z), bahis yönü düşük geçiş filtresi. Bir yön vermek için, diğer, belki de 0.9 için, p = 0 kullanın. - (0.9 dan 1 Bu ilk durumda 1 kaynar aşağı ya da 0.1 / -1 saniye olarak).

alt metni http://www.dsprelated.com/josimages/pasp/img902.png

Şimdi, kodlama açısından anlamına gelebilir bu gibi hissediyorum, doğru bir şey:

H_p(float* input, int time) {
  if (downpick) {
    return input[time];
  } else {
    return some_function_of(input[t], input[t-1]);
  }
}

Birisi bana bir ipucu verebilir misiniz? Ya da bu nafile ve gerçekten bu uygulamaya tüm DSP arka plana ihtiyacımız? Bir zamanlar bir matematikçi oldu ... ama bu benim alan adı değil.

Oluştur 17/12/2009 saat 01:34
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
7

Dolayısıyla z -1 sadece bir birimlik bir gecikme anlamına gelir.

En H alalım p / = (1-p) (1-Pz -1 ).

çıkışa için giriş ve "Y" için "x" düzeni takip durumunda, transfer fonksiyonu H = y / x (= çıkış / giriş)

bu nedenle Y olsun / x = (1-p) / (1-Pz -1 )

ya da (1-p) X = (1-Pz -1 ) y-

(1-p) x [n] = y [n] - pirazol [n-1]

ya da: y [n] = py [n-1] + (1-p) x [n]

C kodunda bu uygulanabilir

y += (1-p)*(x-y);

bir durum değişkeni kendisi çıkış "y" ile dışında herhangi bir ek durum yoktur. Yoksa daha edebi bir yaklaşım için gidebilirsiniz:

y_delayed_1 = y;
y = p*y_delayed_1 + (1-p)*x;

Bildiğim kadarıyla diğer denklemler giderken, onlar da H ya seçilmesi bir yolu belki benziyor ikinci denklemin dışında tüm tipik denklemler konum Β = 1-z -1 OR 1-z -2 . (N nedir?)

Filtreler tür belirsiz ve onlar size bazı paketlenmiş filtreleri bulabilirsiniz sürece başa için sert olacak. Genelde bunlar formun konum

H = H0 * (1 + az -1 + bz -2 + cz -3 ...) / (1 + Rz -1 + sz -2 + z -3 ...)

ve tek yapmanız = y / x, çarpma çapraz almak için H yere not

H0 * (1 + az -1 + bz -2 + cz -3 ...) x = (1 + Rz -1 + sz -2 + z -3 ...) * y

ve daha sonra kendisi ve giriş çeşitli gecikmeler doğrusal bir fonksiyonu çıkışı "y" hale kendi başına "y" izole eder.

Ama tasarımı filtreleri (vs, a, b, c karıştırdı.) Çoğunlukla, bunları uygulamak daha zor.

Cevap 17/12/2009 saat 01:48
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more