19.5 Utilizarea numerelor întregi

Virgula mobilă cu simplă precizie este ideală pentru implementarea acestor filtre recursive simple. Utilizarea numerelor întregi este posibilă, dar este mult mai dificilă. Există două probleme principale. În primul rând, eroarea de rotunjire de la numărul limitat de biți poate degrada răspunsul filtrului sau chiar îl face instabil. În al doilea rând, valorile fracționate ale coeficienților de recurență trebuie să fie manevrate cu întregi. O modalitate de a ataca această problemă este exprimarea fiecărui coeficient ca o fracție. De exemplu, 0,15 devine 19/128. În loc să se înmulțească cu 0,15, înmulțiți mai întâi cu 19 și apoi împărțiți cu 128. O altă modalitate este să înlocuiți multiplicările cu tabele de căutare. De ex., un ADC de 12 biți produce eșantioane cu o valoare cuprinsă între 0 și 4095. În loc să multiplicați fiecare eșantion cu 0,15, treceți eșantioanele printr-un tabel de căutare care are lungime de 4096 intrări. Valoarea obținută din tabelul de căutare este egală cu 0,15 ori valoarea introdusă în tabelul de căutare. Această metodă este foarte rapidă, dar necesită o memorie suplimentară; este necesar un tabel separat pentru fiecare coeficient. Înainte de a încerca oricare dintre aceste metode cu întregi, asigurați-vă că algoritmul recursiv pentru filtrul medie mobilă nu se va potrivi nevoilor dvs. Aceasta iubește întregii.