[ Ivan_Dejanovic @ 09.11.2004. 21:57 ] @
Pre nego sto pocnem tri stvari.

1. Nadam se da je pitanje na pravom forumu.
2. Koliko sam pogledao niko ranije nije pitao nista slicno.
3. Ako sam prekrsio neko od pisanih ili nepisanih pravila unapred se izvinjavam ovo mi je prvi put da nesto pitam.

Problem je sledeci:

Imam projekat na fakultetu da koriscenjem nekog od Texas Instruments mikroprocesora iz familije TMS320C54x u njegovom asembleru isprogramiram IIR Lattice (beskonacan impulsni odziv lestvicasto resetkasta realizacija) filtar. Koristeci MatLab-ov fda tool isprojektovao sam filtar zadatih specifikacija i dobio sve potrebne koeficiente. Onda sam u Matlab-u isprogramirao matematicki model sa dobijenim koeficientima da bih proverio impulsni odziv i frekvencijske karakteristike filtra. Kada je to proslo kako treba napisao sam novi program u MatLab-u kojim sam simulirao izracunavanje na asembleru. Znaci za svaki registar mikroprocesora napravio sam promenljivu. Mnozio samo one registre koje i mikroprocesor moze da mnozi, rezultat upisivao tamo gde bi ga i mikroprocesor upisao. Ovo sam ucinio da bih testirao ispravnost mog algoritma. Posto sam dobio identicne rezultate taj isti algoritam sam potpuno preneo u asembler. Kada pustim program pisan u asembleru rezultat koji dobijam ne lici na ono sto mi treba.

Posto sam izgubio silno vreme pokusavajuci da ustanovim sta ne radi dosao sam do moguceg uzroka mog problema. MatLab u svojoj aritmetici koristi brojeve sa pokretnim zarezom (svi brojevi u filtru su po apsolutnoj vrednosti manji od jedan).
Procesor u kome radim koristi sesnaestobitne brojeve. Bit 15 je znak, a biti 14-0 mantisa koja dolazi iza decimalne tacke. Posto procesor posle svakog mnozenja vrsi zaokruzivanje moguce je da i pored toga sto je algoritam koji koristim logicki ispravan greska koja se ovime akumulira isuvise velika da bi konacan rezultat bio upotrebljiv.

Mene zanima sledece: Da li neko zna gde bih mogao da skinem primere asemblerskog koda, ne matematicke modele to vec imam, za IIR Lattice filtar. Pretrazivanjem interneta i Teksasovog sajta nasao sam gomilu application notes-a koji daju primere asemblerske realizacije IIR filtara, ali nista od toga nije bila lattice varijanta.

Unapred se zahvaljujem na strpljenju i eventualnoj pomoci.
[ Ivan_Dejanovic @ 28.11.2004. 00:17 ] @
Samo da vam javim, sa jedno nedelju i po zakasnjenja da sam resio problem.