Magyarázd ezt DSP jelölés

szavazat
3

Próbálom végre ezt extenstion a Karplus-Strong pengetős húr algoritmus, de nem értem a jelölést ott használni. Lehet, hogy évekig fog tartani a tanulmány, de lehet, hogy nem - talán meg tudja mondani nekem.

Azt hiszem, az egyenletek alábbiakban a frekvenciatartományban, vagy valami. Csak kezdve az első egyenletben, H p (z), a pick irányba aluláteresztő szűrő. Az egyik irányba használja p = 0, az egyéb, esetleg 0.9. Ez csapódik le, hogy 1 az első esetben, vagy 0,1 / (1-0,9 z -1 ) a második.

alt szöveg http://www.dsprelated.com/josimages/pasp/img902.png

Most úgy érzem, ez azt jelentheti, kódolásában értelemben, valami felé:

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

Tud valaki adjon nekem egy tippet? Vagy ez hiábavaló, és én tényleg szükség van az összes DSP háttér végrehajtani ezt? Én matematikus volt egyszer ... de ez nem az én birodalmam.

A kérdést 17/12/2009 01:34
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
7

Tehát a Z -1 csak azt jelenti, egy egységnyi késleltetési.

Nézzük H p = (1-p) / (1-pz -1 ).

Ha követjük a konvenció „x” bemeneti és „y” a kimeneti, az átviteli függvény H = y / x (= kimeneti / bemeneti)

így jutunk y / x = (1-p) / (1-pz -1 )

vagy (1-p) X = (1-pz -1 ) y

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

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

A C kód lehet ezt megvalósítani

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

minden további nélkül állapotán túl a kimenet „y”, mint egy állam változó is. Vagy mehetsz a több szó szerinti megközelítést:

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

Ami a többi egyenletet megy, ezek mind a tipikus egyenletek kivéve, hogy a második egyenlet, amely úgy néz ki, mint talán ez egy módja bármely kiválasztott H Β = 1-z -1 vagy 1-z -2 . (mi N?)

A szűrők olyan homályos és lesz keményebb, hogy foglalkozni, ha nem talál néhány előrecsomagolt szűrőket. Általában ők az űrlap

H = H0 * (1 + AZ -1 + bz -2 + cz -3 ...) / (1 + RZ -1 + sz -2 + tz -3 ...)

és minden, amit csinál leírni H = y / x, kereszt többszörösen kap

H0 * (1 + AZ -1 + bz -2 + cz -3 ...) * x = (1 + RZ -1 + sz -2 + tz -3 ...) * y

majd elkülöníteni „y” önmagában, így a kimenet „y” lineáris függvénye különböző késleltetések a saját és a bemenet.

De tervezése szűrők (szedés a, b, c, stb.) Is keményebb, mint az azokat végrehajtó, a legtöbb esetben.

Válaszolt 17/12/2009 01:48
a forrás felhasználó

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