Postoji i druga varijanta koju ja praktikujem (lookup-tablica) uvek kada ima slobodne programske memorije u kontroleru, a obično ima, da se naprave pre-izračunate sve vrednosti matematičkog računa, dakle jedna "velika tablica" i u njoj poredjani rezultati za sva stanja/vrednosti ADC ulaza (primer 10bit A/D):
ADC=0 Rezultat=123
ADC=1 Rezultat=129
....
ADC=1023 Rezultat=3281
Praktično memorija se definiše kao
koeficienti[1024] = {123, 129 .... 3281};
To zauzima 2kByte programske memorije ali zato radi DRASTIČNO BRŽE, u okviru nekoliko clock ciklusa koliko treba da se pročita memoriska lokacija u poredjenju da se to radi svaki put iznova u realnom vremenu, ovo je prakitično feed-forward tehnika gde smo neke konkretne rezultate ili neke medju rezlutate tj šta-god što može da pomogne "unapred" da se ne radi posle i tako se uštedi gomila procesorskog vremena i onda može opušteno da se dalje rade razne stvari po programu. To praktikujem i na procesorima koji imaju FPU unit u sebi, čak i na Cortex-A, kad se preskoči floating-point u realnom vremenu i predje na look-up tablice to tek počne da radi kako treba
BTW: Više se svodi na to u kom programskom jeziku ćeš da izračunaš i formatiraš to parče memorije/C-code, neki Python, JavaScript i tome slično.
Na primer, na STM32 preko terminala imao sam funkciju koja mi je vraćala C-formatiran tekst koji je "popunjen" sa svim potrebnim stvarima, C funkcije i podaci koji je predvidjen da se uradi copy/paste preko terminala i da se to parče "pejstuje" u program za drugi kontroler koji radi neku drugu "uparenu" logiku pa se onda to prevede da se takve neke stvari nebi morale rade opet u realnom vremenu da se prozivaju kontroleri za neka stanja i statuse koji moraju da budu striktno upareni.
ADC=0 Rezultat=123
ADC=1 Rezultat=129
....
ADC=1023 Rezultat=3281
Praktično memorija se definiše kao
koeficienti[1024] = {123, 129 .... 3281};
To zauzima 2kByte programske memorije ali zato radi DRASTIČNO BRŽE, u okviru nekoliko clock ciklusa koliko treba da se pročita memoriska lokacija u poredjenju da se to radi svaki put iznova u realnom vremenu, ovo je prakitično feed-forward tehnika gde smo neke konkretne rezultate ili neke medju rezlutate tj šta-god što može da pomogne "unapred" da se ne radi posle i tako se uštedi gomila procesorskog vremena i onda može opušteno da se dalje rade razne stvari po programu. To praktikujem i na procesorima koji imaju FPU unit u sebi, čak i na Cortex-A, kad se preskoči floating-point u realnom vremenu i predje na look-up tablice to tek počne da radi kako treba

BTW: Više se svodi na to u kom programskom jeziku ćeš da izračunaš i formatiraš to parče memorije/C-code, neki Python, JavaScript i tome slično.
Na primer, na STM32 preko terminala imao sam funkciju koja mi je vraćala C-formatiran tekst koji je "popunjen" sa svim potrebnim stvarima, C funkcije i podaci koji je predvidjen da se uradi copy/paste preko terminala i da se to parče "pejstuje" u program za drugi kontroler koji radi neku drugu "uparenu" logiku pa se onda to prevede da se takve neke stvari nebi morale rade opet u realnom vremenu da se prozivaju kontroleri za neka stanja i statuse koji moraju da budu striktno upareni.